Share via


Fonction SetupDiGetDevicePropertyKeys (setupapi.h)

La fonction SetupDiGetDevicePropertyKeys 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 un instance d’appareil.

Syntaxe

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
);

Paramètres

[in] DeviceInfoSet

Handle d’un jeu d’informations d’appareil. Ce jeu d’informations sur l’appareil contient les instance d’appareil pour lesquels cette fonction récupère un tableau de clés de propriété d’appareil. Les clés de propriété représentent les propriétés de l’appareil qui sont définies pour le instance de l’appareil.

[in] DeviceInfoData

Pointeur vers une structure de SP_DEVINFO_DATA qui représente l’appareil instance pour lequel récupérer le tableau de clés de propriété d’appareil demandé.

[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 le instance de l’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, en 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é d’appareil demandées. Le pointeur est facultatif et peut être défini sur NULL.

[in] Flags

Ce paramètre doit être défini sur zéro.

Valeur retournée

SetupDiGetDevicePropertyKeys retourne TRUE s’il réussit. Sinon, il 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 de Flags n’est pas égale à zéro.
ERROR_INVALID_HANDLE
Le jeu d’informations sur l’appareil spécifié par DevInfoSet n’est pas valide.
ERROR_INVALID_PARAMETER
Un paramètre fourni n’est pas valide. Il est possible que l’élément d’informations sur l’appareil ne soit pas valide.
ERROR_INVALID_DATA
Une valeur de données interne n’est pas valide.
ERROR_INVALID_USER_BUFFER
Une mémoire tampon utilisateur n’est pas valide. Une possibilité est que PropertyKeyArray a lavaleur NULL et que PropertKeyCount n’est pas zéro.
ERROR_NO_SUCH_DEVINST
Le instance d’appareil spécifié par DevInfoData n’existe pas.
ERROR_INSUFFICIENT_BUFFER
La mémoire tampon PropertyKeyArray est trop petite pour contenir toutes les clés de propriété demandées.
ERROR_NOT_ENOUGH_MEMORY
Il n’y avait pas assez de mémoire système disponible pour terminer l’opération.

Remarques

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

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

Pour récupérer une propriété de instance d’appareil, appelez SetupDiGetDeviceProperty et pour définir une propriété de instance d’appareil, appelez SetupDiSetDeviceProperty.

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_DevNode_Property_Keys
En-tête setupapi.h (inclure Setupapi.h)
Bibliothèque Setupapi.lib
DLL Setupapi.dll

Voir aussi

SetupDiGetDeviceProperty

SetupDiSetDeviceProperty