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 |
---|---|
|
La valeur des indicateurs n’est pas valide. |
|
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. |
|
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é. |
|
Une valeur de données non spécifiée n’est pas valide. Une possibilité est que la valeur ClassGuid n’est pas valide. |
|
Un paramètre non spécifié n’est pas valide. |
|
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. |
|
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. |
|
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. |
|
La mémoire système disponible était insuffisante pour terminer l’opération. |
|
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 |