Partager via


SetupDiGetClassPropertyKeys, fonction (setupapi.h)

La fonction SetupDiGetClassPropertyKeys récupère un tableau des clés de propriété d’appareil qui représentent les propriétés d’appareil définies pour une classe d’installation d’appareil ou une classe d’interface d’appareil.

Syntaxe

WINSETUPAPI BOOL SetupDiGetClassPropertyKeys(
  [in]            const GUID *ClassGuid,
  [out, optional] DEVPROPKEY *PropertyKeyArray,
  [in]            DWORD      PropertyKeyCount,
  [out, optional] PDWORD     RequiredPropertyKeyCount,
  [in]            DWORD      Flags
);

Paramètres

[in] ClassGuid

Pointeur vers un GUID qui représente une classe d’installation d’appareil ou une classe d’interface d’appareil. SetupDiGetClassPropertyKeys récupère un tableau des clés de propriété d’appareil qui représentent les propriétés d’appareil définies pour la classe spécifiée. Pour plus d’informations sur la spécification du type de classe, consultez le paramètre Flags .

[out, optional] PropertyKeyArray

Pointeur vers une mémoire tampon qui reçoit un tableau de valeurs de type DEVPROPKEY, où chaque valeur est une clé de propriété d’appareil qui représente une propriété d’appareil définie pour la classe d’appareil. Le pointeur est facultatif et peut être NULL. Pour plus d’informations, consultez la section Remarques plus loin dans cette rubrique.

[in] PropertyKeyCount

Taille, dans les valeurs de type DEVPROPKEY, de la mémoire tampon PropertyKeyArray . Si PropertyKeyArray a la valeur NULL, PropertyKeyCount doit avoir la valeur zéro.

[out, optional] RequiredPropertyKeyCount

Pointeur vers une variable de type DWORD qui reçoit le nombre de clés de propriété demandées. Le paramètre est facultatif et peut être défini sur NULL.

[in] Flags

L’une des valeurs suivantes, qui spécifie s’il faut récupérer les clés de propriété pour une classe d’installation d’appareil ou pour une classe d’interface d’appareil :

DICLASSPROP_INSTALLER

ClassGuid spécifie une classe d’installation d’appareil. Cet indicateur ne peut pas être utilisé avec DICLASSPROP_INTERFACE.

DICLASSPROP_INTERFACE

ClassGuid spécifie une classe d’interface d’appareil. Cet indicateur ne peut pas être utilisé avec DICLASSPROP_INSTALLER.

Valeur retournée

SetupDiGetClassPropertyKeys retourne TRUE si elle réussit. Sinon, elle retourne FALSE et l’erreur journalisée peut être récupérée en appelant GetLastError.

Le tableau suivant inclut certains des codes d’erreur les plus courants que cette fonction peut enregistrer.

Code de retour Description
ERROR_INVALID_FLAGS
La valeur des indicateurs n’est pas valide.
ERROR_INVALID_CLASS
Si l’indicateur DICLASSPROP_INSTALLER est spécifié, ce code d’erreur indique que la classe d’installation de l’appareil spécifiée par ClassGuid n’existe pas.
ERROR_INVALID_REFERENCE_STRING
La chaîne de référence pour l’interface d’appareil spécifiée par ClassGuild n’est pas valide. Cette erreur peut être retournée si l’indicateur DICLASSPROP_INTERFACE est spécifié.
ERROR_INVALID_DATA
Une valeur de données non spécifiée n’est pas valide. Une possibilité est que la valeur ClassGuid n’est pas valide.
ERROR_INVALID_PARAMETER
Un paramètre non spécifié n’est pas valide.
ERROR_INVALID_USER_BUFFER
Une mémoire tampon utilisateur n’est pas valide. Une possibilité est que PropertyKeyArray a la valeur NULL et Que PropertKeyCount n’est pas zéro.
ERROR_NO_SUCH_INTERFACE_CLASS
Si l’indicateur DICLASSPROP_INTERFACE est spécifié, ce code d’erreur indique que la classe d’interface d’appareil spécifiée par ClassGuid n’existe pas.
ERROR_INSUFFICENT_BUFFER
La mémoire tampon PropertyKeyArray n’est pas assez grande pour contenir toutes les clés de propriété, ou une mémoire tampon de données interne qui a été passée à un appel système était trop petite.
ERROR_NOT_ENOUGH_MEMORY
La mémoire système disponible était insuffisante pour terminer l’opération.
ERROR_ACCESS_DENIED
L’appelant n’a pas de privilèges d’administrateur.

Remarques

SetupDiGetClassPropertyKeys fait partie du modèle de propriété d’appareil unifié.

Un appelant de SetupDiGetClassPropertyKeys doit être membre du groupe Administrateurs pour récupérer les clés de propriété d’appareil d’une classe d’appareil.

Si la mémoire tampon PropertyKeyArray n’est pas suffisamment grande pour contenir toutes les clés de propriété demandées, SetupDiGetClassPropertyKeys ne récupère aucune clé de propriété et retourne ERROR_INSUFFICIENT_BUFFER. Si l’appelant a fourni un pointeur RequiredPropertyKeyCount, SetupDiGetClassPropertyKeys définit la valeur de *RequiredPropertyKeyCount sur la taille requise, dans les valeurs de type DEVPROPKEY, de la mémoire tampon PropertyKeyArray.

Pour récupérer une propriété de classe d’appareil sur un ordinateur local, appelez SetupDiGetClassProperty. Pour définir une propriété de classe d’appareil sur un ordinateur local, appelez SetupDiSetClassProperty.

Pour récupérer les clés de propriété d’une classe d’installation d’appareil ou d’une classe d’interface d’appareil sur un ordinateur distant, appelez SetupDiGetClassPropertyKeysEx.

Configuration requise

   
Client minimal pris en charge Disponible dans Windows Vista et les versions plus récentes de Windows.
Plateforme cible DesktopPour universel, appelez CM_Get_Class_Property_Keys
En-tête setupapi.h (inclure Setupapi.h)
Bibliothèque Setupapi.lib
DLL Setupapi.dll

Voir aussi

SetupDiGetClassProperty

SetupDiGetClassPropertyKeysEx

SetupDiSetClassProperty