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
ERROR_INVALID_FLAGS
Il valore di Flags non è valido.
ERROR_INVALID_CLASS
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.
ERROR_INVALID_REFERENCE_STRING
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.
ERROR_INVALID_DATA
Un valore di dati non specificato non è valido. Una possibilità è che il valore ClassGuid non sia valido.
ERROR_INVALID_PARAMETER
Un parametro non specificato non è valido.
ERROR_INVALID_USER_BUFFER
Un buffer utente non è valido. Una possibilità è che PropertyKeyArray è NULL e PropertKeyCount non è zero.
ERROR_NO_SUCH_INTERFACE_CLASS
Se viene specificato il flag DICLASSPROP_INTERFACE, questo codice di errore indica che la classe dell'interfaccia del dispositivo specificata da ClassGuid non esiste.
ERROR_INSUFFICENT_BUFFER
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.
ERROR_NOT_ENOUGH_MEMORY
Memoria di sistema insufficiente per completare l'operazione.
ERROR_ACCESS_DENIED
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

Vedi anche

SetupDiGetClassProperty

SetupDiGetClassPropertyKeysEx

SetupDiSetClassProperty