Partager via


Fonction IoSetDeviceInterfacePropertyData (wdm.h)

La routine IoSetDeviceInterfacePropertyData modifie la valeur actuelle d’une propriété d’interface d’appareil.

Syntaxe

NTSTATUS IoSetDeviceInterfacePropertyData(
  [in]           PUNICODE_STRING  SymbolicLinkName,
  [in]           const DEVPROPKEY *PropertyKey,
  [in]           LCID             Lcid,
  [in]           ULONG            Flags,
  [in]           DEVPROPTYPE      Type,
  [in]           ULONG            Size,
  [in, optional] PVOID            Data
);

Paramètres

[in] SymbolicLinkName

Pointeur vers une chaîne qui identifie l’interface de l’appareil instance. Cette chaîne a été obtenue à partir d’un appel précédent à la routine IoGetDeviceInterfaces, IoGetDeviceInterfaceAlias ou 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. L’LOCALE_NEUTRAL LCID spécifie que la propriété n’est pas linguistique (c’est-à-dire qu’elle n’est spécifique à aucune 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 à la langue, consultez Structure LCID.

[in] Flags

Définissez ce paramètre sur PLUGPLAY_PROPERTY_PERSISTENT si la valeur de propriété définie par cette routine doit persister entre les redémarrages de l’ordinateur. Sinon, définissez Indicateurs sur zéro.

[in] Type

Définissez ce paramètre sur la valeur DEVPROPTYPE qui spécifie le type des données fournies dans la mémoire tampon de données .

[in] Size

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

[in, optional] Data

Pointeur vers les données de propriété de l’interface de l’appareil. Définissez ce paramètre sur NULL pour supprimer la propriété spécifiée. Si Data n’a pas la valeur NULL, la routine stocke une copie interne de la valeur de la propriété. La mémoire tampon pointée vers data n’a pas besoin de rester valide après le retour de l’appel.

Valeur retournée

IoSetDeviceInterfacePropertyData retourne STATUS_SUCCESS si l’appel a réussi. Les valeurs de retour d’erreur possibles incluent les codes status suivants.

Code de retour Description
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 IoSetDeviceInterfacePropertyData pour modifier les propriétés d’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 de l’appareil, consultez Propriétés de l’appareil.

Les pilotes peuvent utiliser la routine IoGetDeviceInterfacePropertyData pour obtenir la valeur actuelle d’une propriété d’interface d’appareil.

Les appelants d’IoSetDeviceInterfacePropertyData doivent être en cours d’exécution à IRQL <= APC_LEVEL dans le contexte d’un thread système.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible pour Windows 8 et versions ultérieures de Windows.
Plateforme cible Universal
En-tête wdm.h (inclure Wdm.h, Ntddk.h, Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Voir aussi

DEVPROPKEY

DEVPROPTYPE

IoGetDeviceInterfacePropertyData