SetupDiGetDeviceInterfacePropertyW, fonction (setupapi.h)
La fonction SetupDiGetDeviceInterfaceProperty récupère une propriété d’appareil définie pour une interface d’appareil.
Syntaxe
WINSETUPAPI BOOL SetupDiGetDeviceInterfacePropertyW(
[in] HDEVINFO DeviceInfoSet,
[in] PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
[in] const DEVPROPKEY *PropertyKey,
[out] DEVPROPTYPE *PropertyType,
[out] PBYTE PropertyBuffer,
[in] DWORD PropertyBufferSize,
[out, optional] PDWORD RequiredSize,
[in] DWORD Flags
);
Paramètres
[in] DeviceInfoSet
Handle d’un jeu d’informations d’appareil qui contient une interface d’appareil pour laquelle récupérer une propriété d’interface d’appareil.
[in] DeviceInterfaceData
Pointeur vers une structure de SP_DEVICE_INTERFACE_DATA qui représente l’interface d’appareil pour laquelle récupérer une propriété d’interface d’appareil.
[in] PropertyKey
Pointeur vers une structure DEVPROPKEY qui représente la clé de propriété d’interface d’appareil de la propriété d’interface d’appareil à récupérer.
[out] PropertyType
Pointeur vers une variable de type DEVPROPTYPE qui reçoit l’identificateur de type propriété-données de la propriété d’interface d’appareil demandée. L’identificateur de type de données de propriété est au niveau du bit OU entre un identificateur de type de données de base et, si le type de données de base est modifié, un modificateur de type propriété-données.
[out] PropertyBuffer
Pointeur vers une mémoire tampon qui reçoit la propriété d’interface d’appareil demandée. SetupDiGetDeviceInterfaceProperty récupère la propriété demandée uniquement si la mémoire tampon est suffisamment grande pour contenir toutes les données de valeur de propriété. Le pointeur peut être NULL. Si le pointeur est défini sur NULL et que RequiredSize est fourni, SetupDiGetDeviceInterfaceProperty retourne la taille de la propriété, en octets, dans *RequiredSize.
[in] PropertyBufferSize
Taille, en octets, de la mémoire tampon PropertyBuffer . Si PropertyBuffer a la valeur NULL, PropertyBufferSize doit avoir la valeur zéro.
[out, optional] RequiredSize
Pointeur vers une variable de type DWORD qui reçoit la taille, en octets, de la propriété d’interface de l’appareil si la propriété est récupérée ou de la taille de mémoire tampon requise, si la mémoire tampon n’est pas suffisamment grande. Ce pointeur peut être défini sur NULL.
[in] Flags
Ce paramètre doit être défini sur zéro.
Valeur retournée
SetupDiGetDeviceInterfaceProperty 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. D’autres codes d’erreur peuvent être définis par les fonctions du programme d’installation de l’appareil appelées par cette API.
Code de retour | Description |
---|---|
|
La valeur des indicateurs 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’interface de l’appareil spécifiée par DeviceInterfaceData ne soit pas valide. |
|
La clé de propriété fournie par PropertyKey n’est pas valide. |
|
Une valeur de données interne non spécifiée n’était pas valide. |
|
Une mémoire tampon utilisateur n’est pas valide. Une possibilité est que PropertyBuffer a la valeur NULL, et PropertyBufferSize n’est pas zéro. |
|
L’interface d’appareil spécifiée par DeviceInterfaceData n’existe pas. |
|
La mémoire tampon PropertyBuffer n’est pas assez grande pour contenir la valeur de la 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. |
|
La propriété d’appareil demandée n’existe pas. |
|
L’appelant n’a pas de privilèges d’administrateur. |
Remarques
SetupDiGetDeviceInterfaceProperty fait partie du modèle de propriété d’appareil unifié.
SetupAPI prend uniquement en charge une version Unicode de SetupDiGetDeviceInterfaceProperty.
Un appelant de SetupDiGetDeviceInterfaceProperty doit être membre du groupe Administrateurs pour définir une propriété d’interface d’appareil.
Pour obtenir les clés de propriété d’appareil qui représentent les propriétés d’appareil définies pour une interface d’appareil, appelez SetupDiGetDeviceInterfacePropertyKeys.
Pour définir une propriété d’interface d’appareil, appelez SetupDiSetDeviceInterfaceProperty.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Windows Vista et les versions plus récentes de Windows. |
Plateforme cible | DesktopPour universel, appelez CM_Get_Device_Interface_Property |
En-tête | setupapi.h (inclure Setupapi.h) |
Bibliothèque | Setupapi.lib |