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) |