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 |
---|---|
|
La valeur de Flags n’est pas égale à zéro. |
|
Le jeu d’informations sur l’appareil spécifié par DevInfoSet n’est pas valide. |
|
Un paramètre fourni n’est pas valide. Il est possible que l’élément d’informations sur l’appareil ne soit pas valide. |
|
Une valeur de données interne n’est pas valide. |
|
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. |
|
Le instance d’appareil spécifié par DevInfoData n’existe pas. |
|
La mémoire tampon PropertyKeyArray est trop petite pour contenir toutes les clés de propriété demandées. |
|
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 |