Condividi tramite


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
ERROR_INVALID_FLAGS
Il valore di Flags non è zero.
ERROR_INVALID_HANDLE
Il set di informazioni sul dispositivo specificato da DevInfoSet non è valido.
ERROR_INVALID_PARAMETER
Un parametro fornito non è valido. Una possibilità è che l'elemento informativo del dispositivo non sia valido.
ERROR_INVALID_REG_PROPERTY
La chiave di proprietà fornita da PropertyKey non è valida.
ERROR_INVALID_DATA
Non è stato valido un valore dati interno non specificato.
ERROR_INVALID_USER_BUFFER
Un buffer utente non è valido. Una possibilità è che PropertyBuffer è NULL e PropertBufferSize non è zero.
ERROR_NO_SUCH_DEVINST
L'istanza del dispositivo specificata da DevInfoData non esiste.
ERROR_INSUFFICIENT_BUFFER
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.
ERROR_NOT_ENOUGH_MEMORY
Memoria di sistema insufficiente per completare l'operazione.
ERROR_NOT_FOUND
La proprietà del dispositivo richiesta non esiste.
ERROR_ACCESS_DENIED
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)

Vedi anche

SetupDiGetDevicePropertyKeys

SetupDiSetDeviceProperty