Partager via


IoSetDevicePropertyData, fonction (wdm.h)

La routine IoSetDevicePropertyData modifie le paramètre actuel d’une propriété d’appareil.

Syntaxe

NTSTATUS IoSetDevicePropertyData(
  [in]           PDEVICE_OBJECT   Pdo,
  [in]           const DEVPROPKEY *PropertyKey,
  [in]           LCID             Lcid,
  [in]           ULONG            Flags,
  [in]           DEVPROPTYPE      Type,
  [in]           ULONG            Size,
  [in, optional] PVOID            Data
);

Paramètres

[in] Pdo

Pointeur vers l’objet d’appareil physique (PDO) de l’appareil interrogé.

[in] PropertyKey

Pointeur vers une structure DEVPROPKEY qui spécifie la clé de propriété de l’appareil.

[in] Lcid

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.

[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.

Les systèmes d’exploitation Windows 8 et Windows Server 2012 et ultérieur traitent indicateurs comme si PLUGPLAY_PROPERTY_PERSISTENT est toujours passé.

[in] Type

Valeur DEVPROPTYPE qui spécifie le type des données fournies dans la mémoire tampon données.

[in] Size

Taille, en octets, de la mémoire tampon vers laquelle Données pointe.

[in, optional] Data

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

Valeur de retour

IoSetDevicePropertyData retourne STATUS_SUCCESS si l’appel a réussi ou si le code NTSTATUS approprié en cas d’échec.

Remarques

Pour afficher les types de propriétés disponibles pour une utilisation par cette routine, consultez DEVPROP_TYPE_BYTE et les pages adjacentes pour DEVPROP_TYPE_*.

Les pilotes en mode noyau utilisent la routine IoSetDevicePropertyData pour modifier les propriétés 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’appareil, consultez Propriétés de l’appareil.

Pour supprimer une propriété pour des paramètres régionaux spécifiques, transmettez une valeur LCID spécifique à la langue dans Lcid et NULL dans de données.

Pour supprimer une propriété pour tous les paramètres régionaux, passez LOCALE_NEUTRAL dans Lcid et NULL dans Data.

Pour modifier une propriété pour des paramètres régionaux spécifiques, transmettez une valeur LCID spécifique à la langue dans Lcid et lesNULL non dans de données.

Pour modifier une propriété pour tous les paramètres régionaux, passez LOCALE_NEUTRAL dans Lcid et NULL dans données.

À compter de Windows 8 et Windows Server 2012, la transmission de LOCALE_NEUTRAL dans Lcid est traitée comme n’importe quel autre paramètre régional.

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

Les appelants de IoSetDeviceProperty doivent s’exécuter à l'<IRQL = APC_LEVEL dans le contexte d’un thread système.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows Vista.
plateforme cible Universel
d’en-tête wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL
règles de conformité DDI HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

Voir aussi

DEVPROPKEY

DEVPROPTYPE

IoGetDevicePropertyData