Condividi tramite


Funzione SetupDiGetDevicePropertyKeys (setupapi.h)

La funzione SetupDiGetDevicePropertyKeys recupera una matrice delle chiavi delle proprietà del dispositivo che rappresentano le proprietà del dispositivo impostate per un'istanza del dispositivo.

Sintassi

WINSETUPAPI BOOL SetupDiGetDevicePropertyKeys(
  [in]            HDEVINFO         DeviceInfoSet,
  [in]            PSP_DEVINFO_DATA DeviceInfoData,
  [out, optional] DEVPROPKEY       *PropertyKeyArray,
  [in]            DWORD            PropertyKeyCount,
  [out, optional] PDWORD           RequiredPropertyKeyCount,
  [in]            DWORD            Flags
);

Parametri

[in] DeviceInfoSet

Handle a un set di informazioni sul dispositivo. Questo set di informazioni sul dispositivo contiene l'istanza del dispositivo per cui questa funzione recupera una matrice di chiavi delle proprietà del dispositivo. Le chiavi delle proprietà rappresentano le proprietà del dispositivo impostate per l'istanza del dispositivo.

[in] DeviceInfoData

Puntatore a una struttura SP_DEVINFO_DATA che rappresenta l'istanza del dispositivo per cui recuperare la matrice richiesta di chiavi delle proprietà del dispositivo.

[out, optional] PropertyKeyArray

Puntatore a un buffer che riceve una matrice di valori tipizzati DEVPROPKEY, in cui ogni valore è una chiave della proprietà del dispositivo che rappresenta una proprietà del dispositivo impostata per l'istanza del dispositivo. Il puntatore è facoltativo e può essere NULL. Per altre informazioni, vedere la sezione Osservazioni più avanti in questo argomento.

[in] PropertyKeyCount

Dimensioni, nei valori tipizzati DEVPROPKEY, del buffer PropertyKeyArray. Se PropertyKeyArray è impostato su NULL, PropertyKeyCount deve essere impostato su zero.

[out, optional] RequiredPropertyKeyCount

Puntatore a una variabile tipizzata DWORD che riceve il numero di chiavi delle proprietà del dispositivo richieste. Il puntatore è facoltativo e può essere impostato su NULL.

[in] Flags

Questo parametro deve essere impostato su zero.

Valore restituito

SetupDiGetDevicePropertyKeys 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_DATA
Un valore dati interno non è valido.
ERROR_INVALID_USER_BUFFER
Un buffer utente non è valido. Una possibilità è che PropertyKeyArray è NULL e PropertKeyCount non è zero.
ERROR_NO_SUCH_DEVINST
L'istanza del dispositivo specificata da DevInfoData non esiste.
ERROR_INSUFFICIENT_BUFFER
Il buffer PropertyKeyArray è troppo piccolo per contenere tutte le chiavi delle proprietà richieste.
ERROR_NOT_ENOUGH_MEMORY
Memoria di sistema insufficiente per completare l'operazione.

Commenti

SetupDiGetDevicePropertyKeys fa parte del modello di proprietà del dispositivo unificato.

Se il buffer ProperKeyArray non è sufficiente per contenere tutte le chiavi delle proprietà richieste, SetupDiGetDevicePropertyKeys non recupera le chiavi delle proprietà e restituisce ERROR_INSUFFICIENT_BUFFER. Se il chiamante ha fornito un puntatore RequiredPropertyKeyCount, SetupDiGetDevicePropertyKeys imposta il valore di *RequiredPropertyKeyCount sulle dimensioni necessarie, nei valori tipizzati DEVPROPKEY, del buffer PropertyKeyArray.

Per recuperare una proprietà dell'istanza del dispositivo, chiamare SetupDiGetDeviceProperty e impostare una proprietà dell'istanza del dispositivo, chiamare SetupDiSetDeviceProperty.

Requisiti

   
Client minimo supportato Disponibile in Windows Vista e versioni successive di Windows.
Piattaforma di destinazione DesktopFor universal, chiamare CM_Get_DevNode_Property_Keys
Intestazione setupapi.h (includere Setupapi.h)
Libreria Setupapi.lib
DLL Setupapi.dll

Vedi anche

SetupDiGetDeviceProperty

SetupDiSetDeviceProperty