Partager via


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
ERROR_INVALID_FLAGS
La valeur des indicateurs 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’interface de l’appareil spécifiée par DeviceInterfaceData ne soit pas valide.
ERROR_INVALID_REG_PROPERTY
La clé de propriété fournie par PropertyKey n’est pas valide.
ERROR_INVALID_DATA
Une valeur de données interne non spécifiée n’était pas valide.
ERROR_INVALID_USER_BUFFER
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.
ERROR_NO_SUCH_DEVICE_INTERFACE
L’interface d’appareil spécifiée par DeviceInterfaceData n’existe pas.
ERROR_INSUFFICIENT_BUFFER
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.
ERROR_NOT_ENOUGH_MEMORY
La mémoire système disponible était insuffisante pour terminer l’opération.
ERROR_NOT_FOUND
La propriété d’appareil demandée n’existe pas.
ERROR_ACCESS_DENIED
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

Voir aussi

SetupDiGetDeviceInterfacePropertyKeys

SetupDiSetDeviceInterfaceProperty