Funzione SetupDiGetClassPropertyKeys (setupapi.h)
La funzione SetupDiGetClassPropertyKeys recupera una matrice delle chiavi delle proprietà del dispositivo che rappresentano le proprietà del dispositivo impostate per una classe di installazione del dispositivo o una classe dell'interfaccia del dispositivo.
Sintassi
WINSETUPAPI BOOL SetupDiGetClassPropertyKeys(
[in] const GUID *ClassGuid,
[out, optional] DEVPROPKEY *PropertyKeyArray,
[in] DWORD PropertyKeyCount,
[out, optional] PDWORD RequiredPropertyKeyCount,
[in] DWORD Flags
);
Parametri
[in] ClassGuid
Puntatore a un GUID che rappresenta una classe di installazione del dispositivo o una classe di interfaccia del dispositivo. SetupDiGetClassPropertyKeys recupera una matrice delle chiavi delle proprietà del dispositivo che rappresentano le proprietà del dispositivo impostate per la classe specificata. Per informazioni sulla specifica del tipo di classe, vedere il parametro Flags .
[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 la classe del dispositivo. Il puntatore è facoltativo e può essere NULL. Per altre informazioni, vedere la sezione Osservazioni più avanti in questo argomento.
[in] PropertyKeyCount
Dimensioni, in 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 di proprietà richieste. Il parametro è facoltativo e può essere impostato su NULL.
[in] Flags
Uno dei valori seguenti, che specifica se recuperare le chiavi di proprietà per una classe di installazione del dispositivo o per una classe dell'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
SetupDiGetClassPropertyKeys restituisceTRUE 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 è valido. |
|
Se viene specificato il flag di DICLASSPROP_INSTALLER, questo codice di errore indica che la classe di installazione del dispositivo specificata da ClassGuid non esiste. |
|
La stringa di riferimento per l'interfaccia del dispositivo specificata da ClassGuild non è valida. Questo errore può essere restituito se viene specificato il flag DICLASSPROP_INTERFACE. |
|
Un valore di dati non specificato non è valido. Una possibilità è che il valore ClassGuid non sia valido. |
|
Un parametro non specificato non è valido. |
|
Un buffer utente non è valido. Una possibilità è che PropertyKeyArray è NULL e PropertKeyCount non è zero. |
|
Se viene specificato il flag DICLASSPROP_INTERFACE, questo codice di errore indica che la classe dell'interfaccia del dispositivo specificata da ClassGuid non esiste. |
|
Il buffer PropertyKeyArray non è sufficientemente grande da contenere tutte le chiavi di proprietà o un buffer di dati interno passato a una chiamata di sistema era troppo piccolo. |
|
Memoria di sistema insufficiente per completare l'operazione. |
|
Il chiamante non dispone dei privilegi di amministratore. |
Commenti
SetupDiGetClassPropertyKeys fa parte del modello di proprietà del dispositivo unificato.
Un chiamante di SetupDiGetClassPropertyKeys deve essere membro del gruppo Administrators per recuperare le chiavi delle proprietà del dispositivo per una classe del dispositivo.
Se il buffer PropertyKeyArray non è sufficientemente grande da contenere tutte le chiavi di proprietà richieste, SetupDiGetClassPropertyKeys non recupera chiavi di proprietà e restituisce ERROR_INSUFFICIENT_BUFFER. Se il chiamante ha fornito un puntatore RequiredPropertyKeyCount, SetupDiGetClassPropertyKeys imposta il valore di *RequiredPropertyKeyCount sulle dimensioni necessarie, nei valori tipizzati DEVPROPKEY del buffer PropertyKeyArray.
Per recuperare una proprietà della classe di dispositivo in un computer locale, chiamare SetupDiGetClassProperty. Per impostare una proprietà della classe di dispositivo in un computer locale, chiamare SetupDiSetClassProperty.
Per recuperare le chiavi di proprietà per una classe di configurazione del dispositivo o una classe dell'interfaccia del dispositivo in un computer remoto, chiamare SetupDiGetClassPropertyKeysEx.
Requisiti
Client minimo supportato | Disponibile in Windows Vista e versioni successive di Windows. |
Piattaforma di destinazione | DesktopFor universal, chiamare CM_Get_Class_Property_Keys |
Intestazione | setupapi.h (include Setupapi.h) |
Libreria | Setupapi.lib |
DLL | Setupapi.dll |