Partager via


IoGetDeviceInterfacePropertyData, fonction (wdm.h)

La routine IoGetDeviceInterfacePropertyData récupère la valeur actuelle d’une propriété d’interface d’appareil .

Syntaxe

NTSTATUS IoGetDeviceInterfacePropertyData(
  [in]  PUNICODE_STRING  SymbolicLinkName,
  [in]  const DEVPROPKEY *PropertyKey,
  [in]  LCID             Lcid,
        ULONG            Flags,
  [in]  ULONG            Size,
  [out] PVOID            Data,
  [out] PULONG           RequiredSize,
  [out] PDEVPROPTYPE     Type
);

Paramètres

[in] SymbolicLinkName

Pointeur vers une chaîne qui identifie l’instance de l’interface de l’appareil. Cette chaîne a été obtenue à partir d’un appel précédent à l'IoGetDeviceInterfaces, IoGetDeviceInterfaceAlias, ou routine IoRegisterDeviceInterface.

[in] PropertyKey

Pointeur vers une structure DEVPROPKEY qui contient la clé de propriété de l’interface d’appareil.

[in] Lcid

Spécifie un identificateur de paramètres régionaux. Définissez ce paramètre sur une valeur LCID spécifique au langage ou sur LOCALE_NEUTRAL. La LOCALE_NEUTRAL LCID spécifie que la propriété est neutre en langage (c’est-à-dire, pas spécifique à une langue). Ne définissez pas ce paramètre sur LOCALE_SYSTEM_DEFAULT ou LOCALE_USER_DEFAULT. Pour plus d’informations sur les valeurs LCID spécifiques au langage, consultez structure LCID.

Flags

Réservé à l’utilisation du système. Les pilotes doivent définir cette valeur sur zéro.

[in] Size

Spécifie la taille, en octets, de la mémoire tampon vers laquelle données pointe.

[out] Data

Pointeur vers une mémoire tampon allouée par l’appelant dans laquelle la routine écrit les données de propriété de l’interface de l’appareil.

[out] RequiredSize

Pointeur vers une variable ULONG dans laquelle IoGetDeviceInterfacePropertyData écrit la taille requise des données de propriété. Si la routine réussit, la valeur de taille requise est le nombre d’octets que la routine écrit dans la mémoire tampon de sortie vers laquelle Données pointe. Si la routine retourne STATUS_BUFFER_TOO_SMALL, la valeur de taille requise est la taille de la mémoire tampon que l’appelant doit allouer pour cette valeur de propriété.

[out] Type

Pointeur vers une variable DEVPROPTYPE. Si IoGetDeviceInterfacePropertyData récupère correctement les données de propriété, la routine écrit la valeur du type de propriété dans cette variable. Cette valeur indique le type de données de propriété qui se trouve dans la mémoire tampon Données.

Valeur de retour

IoGetDeviceInterfacePropertyData retourne STATUS_SUCCESS si elle réussit. Les valeurs de retour d’erreur possibles incluent les codes d’état suivants.

Retourner le code Description
STATUS_BUFFER_TOO_SMALL La mémoire tampon vers laquelle données pointe est trop petite pour contenir les données de propriété. * RequiredSize contient la longueur de la mémoire tampon requise.
STATUS_UNSUCCESSFUL La valeur LCID spécifiée n’est pas valide.
STATUS_NOT_IMPLEMENTED La propriété spécifiée n’est pas prise en charge.

Remarques

Les pilotes en mode noyau utilisent la routine IoGetDeviceInterfacePropertyData pour récupérer les propriétés de l’interface d’appareil définies dans le cadre du modèle de propriété d’appareil unifié . Pour plus d’informations sur les propriétés de l’interface d’appareil, consultez Propriétés de l’appareil.

Les pilotes peuvent utiliser la routine IoSetDeviceInterfacePropertyData pour modifier une propriété d’interface d’appareil.

Les appelants de IoGetDeviceInterfacePropertyData doivent s’exécuter à IRQL = PASSIVE_LEVEL dans le contexte d’un thread système.

Exigences

Exigence Valeur
client minimum pris en charge Disponible dans Windows 8 et versions ultérieures de Windows.
plateforme cible Universel
d’en-tête wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

Voir aussi

DEVPROPKEY

DEVPROPTYPE

IoSetDeviceInterfacePropertyData