Funzione SetupDiGetClassPropertyW (setupapi.h)
La funzione SetupDiGetClassProperty recupera una proprietà del dispositivo impostata per una classe di installazione del dispositivo o una classe dell'interfaccia del dispositivo.
Sintassi
WINSETUPAPI BOOL SetupDiGetClassPropertyW(
[in] const GUID *ClassGuid,
[in] const DEVPROPKEY *PropertyKey,
[out] DEVPROPTYPE *PropertyType,
[out] PBYTE PropertyBuffer,
[in] DWORD PropertyBufferSize,
[out, optional] PDWORD RequiredSize,
[in] DWORD Flags
);
Parametri
[in] ClassGuid
Puntatore a un GUID che identifica la classe di configurazione del dispositivo o la classe di interfaccia del dispositivo per cui recuperare una proprietà del dispositivo impostata per la classe dispositivo. Per informazioni sulla specifica del tipo di classe, vedere il parametro Flags .
[in] PropertyKey
Puntatore a una struttura DEVPROPKEY che rappresenta la chiave della proprietà del dispositivo della proprietà della classe di dispositivo richiesta.
[out] PropertyType
Puntatore a una variabile tipizzata DEVPROPTYPE che riceve l'identificatore property-data-type della proprietà della classe di dispositivo richiesta, in cui l'identificatore di tipo property-data è l'identificatore OR bit per bit tra un identificatore di tipo di dati di base e, se il tipo di dati di base viene modificato, un modificatore di tipo property-data.
[out] PropertyBuffer
Puntatore a un buffer che riceve la proprietà della classe di dispositivo richiesta. SetupDiGetClassProperty recupera il valore della proprietà richiesto solo se il buffer è abbastanza grande per contenere tutti i dati del valore della proprietà. Il puntatore può essere NULL. Se il puntatore è impostato su NULL e RequiredSize viene fornito, SetupDiGetClassProperty restituisce le dimensioni della proprietà della classe di dispositivo, in byte, in *RequiredSize.
[in] PropertyBufferSize
Dimensioni, in byte, del buffer PropertyBuffer . Se PropertyBuffer è impostato su NULL, PropertyBufferSize deve essere impostato su zero.
[out, optional] RequiredSize
Puntatore a una variabile tipizzata DWORD che riceve le dimensioni, in byte, della proprietà della classe di dispositivo se la proprietà della classe di dispositivo viene recuperata o la dimensione del buffer necessaria se il buffer non è sufficiente. Questo puntatore può essere impostato su NULL.
[in] Flags
Uno dei valori seguenti, che specifica se la classe è una classe di installazione del dispositivo o una classe di interfaccia del dispositivo.
DICLASSPROP_INSTALLER
ClassGuid specifica una classe di installazione del dispositivo. Questo flag non può essere usato con DICLASSPROP_INTERFACE.
DICLASSPROP_INTERFACE
ClassGuid specifica una classe di interfaccia del dispositivo. Questo flag non può essere usato con DICLASSPROP_INSTALLER.
Valore restituito
SetupDiGetClassProperty restituisce TRUE se ha esito positivo. In caso contrario, restituisce FALSE e l'errore registrato può essere recuperato chiamando GetLastError.
La tabella seguente include alcuni dei codici di errore più comuni che questa funzione potrebbe registrare.
Codice restituito | Descrizione |
---|---|
|
Il valore di Flags non è zero. |
|
La classe di installazione del dispositivo specificata da ClassGuid non è valida. Questo errore può verificarsi solo se viene specificato il flag DICLASSPROP_INSTALLER. |
|
Non è valido un parametro non specificato. |
|
La chiave di proprietà fornita da PropertyKey non è valida. |
|
La stringa di riferimento dell'interfaccia del dispositivo non è valida. Questo errore può essere restituito se viene specificato il flag DICLASSPROP_INTERFACE. |
|
Non è stato valido un valore dati interno non specificato. |
|
Un buffer utente non è valido. Una possibilità è che PropertyBuffer è NULL e PropertyBufferSize non è zero. |
|
La classe dell'interfaccia del dispositivo specificata da ClassGuid non esiste. Questo errore può verificarsi solo se viene specificato il flag di DICLASSPROP_INTERFACE. |
|
Un buffer dati interno passato a una chiamata di sistema è troppo piccolo. |
|
Memoria di sistema insufficiente per completare l'operazione. |
|
La proprietà del dispositivo richiesta non esiste. |
|
Il chiamante non dispone dei privilegi di amministratore. |
Commenti
SetupDiGetClassProperty fa parte del modello di proprietà del dispositivo unificato.
SetupAPI supporta solo una versione Unicode di SetupDiGetClassProperty.
Un chiamante di SetupDiGetClassProperty deve essere membro del gruppo Administrators per impostare una proprietà dell'interfaccia del dispositivo.
Per ottenere le chiavi delle proprietà del dispositivo che rappresentano le proprietà del dispositivo impostate per una classe di dispositivo in un computer locale, chiamare SetupDiGetClassPropertyKeys.
Per recuperare una proprietà della classe di dispositivo in un computer remoto, chiamare SetupDiGetClassPropertyEx.
Per impostare una proprietà della classe di dispositivo in un computer locale, chiamare SetupDiSetClassPropertye impostare una proprietà della classe di dispositivo in un computer remoto, chiamare SetupDiSetClassPropertyEx.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile in Windows Vista e versioni successive di Windows. |
Piattaforma di destinazione | DesktopFor universal, chiamare CM_Get_Class_Property |
Intestazione | setupapi.h (includere Setupapi.h) |
Libreria | Setupapi.lib |