Funzione SetupDiGetDevicePropertyW (setupapi.h)
La funzione SetupDiGetDeviceProperty recupera una proprietà dell'istanza del dispositivo.
Sintassi
WINSETUPAPI BOOL SetupDiGetDevicePropertyW(
[in] HDEVINFO DeviceInfoSet,
[in] PSP_DEVINFO_DATA DeviceInfoData,
[in] const DEVPROPKEY *PropertyKey,
[out] DEVPROPTYPE *PropertyType,
[out, optional] PBYTE PropertyBuffer,
[in] DWORD PropertyBufferSize,
[out, optional] PDWORD RequiredSize,
[in] DWORD Flags
);
Parametri
[in] DeviceInfoSet
Handle a un set di informazioni sul dispositivo che contiene un'istanza del dispositivo per cui recuperare una proprietà dell'istanza del dispositivo.
[in] DeviceInfoData
Puntatore alla struttura SP_DEVINFO_DATA che rappresenta l'istanza del dispositivo per cui recuperare una proprietà dell'istanza del dispositivo.
[in] PropertyKey
Puntatore a una struttura DEVPROPKEY che rappresenta la chiave della proprietà del dispositivo della proprietà dell'istanza del dispositivo richiesta.
[out] PropertyType
Puntatore a una variabile tipizzata DEVPROPTYPE che riceve l'identificatore property-data-type della proprietà dell'istanza del dispositivo richiesta, dove 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, optional] PropertyBuffer
Puntatore a un buffer che riceve la proprietà dell'istanza del dispositivo richiesta. SetupDiGetDeviceProperty recupera la proprietà richiesta 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, SetupDiGetDeviceProperty restituisce le dimensioni della proprietà, 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à dell'istanza del dispositivo se la proprietà viene recuperata o la dimensione del buffer necessaria se il buffer non è sufficiente. Questo puntatore può essere impostato su NULL.
[in] Flags
Questo parametro deve essere impostato su zero.
Valore restituito
SetupDiGetDeviceProperty 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. |
|
Il set di informazioni sul dispositivo specificato da DevInfoSet non è valido. |
|
Un parametro fornito non è valido. Una possibilità è che l'elemento informativo del dispositivo non sia valido. |
|
La chiave di proprietà fornita da PropertyKey non è valida. |
|
Non è stato valido un valore dati interno non specificato. |
|
Un buffer utente non è valido. Una possibilità è che PropertyBuffer è NULL e PropertBufferSize non è zero. |
|
L'istanza del dispositivo specificata da DevInfoData non esiste. |
|
Il buffer PropertyBuffer è troppo piccolo per contenere il valore della proprietà richiesto o 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
SetupDiGetDeviceProperty fa parte del modello di proprietà del dispositivo unificato.
SetupAPI supporta solo una versione Unicode di SetupDiGetDeviceProperty.
Per ottenere le chiavi delle proprietà del dispositivo che rappresentano le proprietà del dispositivo impostate per un'istanza del dispositivo, chiamare SetupDiGetDevicePropertyKeys.
Per impostare una proprietà dell'istanza del dispositivo, chiamare SetupDiSetDeviceProperty.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile in Windows Vista e versioni successive di Windows. |
Piattaforma di destinazione | DesktopFor universal, chiamare CM_Get_DevNode_Property |
Intestazione | setupapi.h (includere SetupAPI.h) |
Libreria | SetupAPI.lib |
DLL | SetupAPI.dll |
Set di API | ext-ms-win-setupapi-classinstallers-l1-1-0 (introdotto in Windows 8) |