Freigeben über


IoSetDevicePropertyData-Funktion (wdm.h)

Die IoSetDevicePropertyData-Routine ändert die aktuelle Einstellung für eine Geräteeigenschaft.

Syntax

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

Parameter

[in] Pdo

Ein Zeiger auf das Objekt des physischen Geräts (PDO) für das Gerät, das abgefragt wird.

[in] PropertyKey

Ein Zeiger auf eine DEVPROPKEY-Struktur , die den Geräteeigenschaftsschlüssel angibt.

[in] Lcid

Ein Gebietsschemabezeichner. Legen Sie diesen Parameter entweder auf einen sprachspezifischen LCID-Wert oder auf LOCALE_NEUTRAL fest.

Die LOCALE_NEUTRAL LCID gibt an, dass die Eigenschaft sprachneutral ist (d. a. nicht sprachspezifisch).

Legen Sie diesen Parameter nicht auf LOCALE_SYSTEM_DEFAULT oder LOCALE_USER_DEFAULT fest.

Weitere Informationen zu sprachspezifischen LCID-Werten finden Sie unter LCID-Struktur.

[in] Flags

Legen Sie diesen Parameter auf PLUGPLAY_PROPERTY_PERSISTENT fest, wenn der von dieser Routine festgelegte Eigenschaftswert über Computerneustarts hinweg beibehalten werden soll. Legen Sie andernfalls Flags auf 0 (null) fest.

Windows 8 und Windows Server 2012 und späteren Betriebssystemen behandeln Flags so, als ob immer PLUGPLAY_PROPERTY_PERSISTENT übergeben wird.

[in] Type

Ein DEVPROPTYPE-Wert , der den Typ der Daten angibt, die im Datenpuffer bereitgestellt werden.

[in] Size

Die Größe des Puffers in Bytes, auf den Data verweist.

[in, optional] Data

Ein Zeiger auf die Geräteeigenschaftendaten. Legen Sie diesen Parameter auf NULL fest, um die angegebene Eigenschaft zu löschen. Wenn Data nicht NULL ist, speichert die Routine eine interne Kopie des Eigenschaftswerts. Der Puffer, auf den daten verweist, muss nach der Rückgabe des Aufrufs nicht gültig bleiben.

Rückgabewert

IoSetDevicePropertyData gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich war, oder den entsprechenden NTSTATUS-Code bei Einem Fehler.

Hinweise

Eigenschaftentypen, die für die Verwendung durch diese Routine verfügbar sind, finden Sie unter DEVPROP_TYPE_BYTE und angrenzenden Seiten für DEVPROP_TYPE_*.

Kernelmodustreiber verwenden die IoSetDevicePropertyData-Routine , um Geräteeigenschaften zu ändern, die als Teil des einheitlichen Geräteeigenschaftenmodells definiert sind. Weitere Informationen zu Geräteeigenschaften finden Sie unter Geräteeigenschaften.

Um eine Eigenschaft für ein bestimmtes Gebietsschema zu löschen, übergeben Sie einen sprachspezifischen LCID-Wert in Lcid und NULL in Data.

Um eine Eigenschaft für alle Gebietsschemas zu löschen, übergeben Sie LOCALE_NEUTRAL in Lcid und NULL in Data.

Um eine Eigenschaft für ein bestimmtes Gebietsschema zu ändern, übergeben Sie einen sprachspezifischen LCID-Wert in Lcid und nicht NULL in Data.

Um eine Eigenschaft für alle Gebietsschemas zu ändern, übergeben Sie LOCALE_NEUTRAL in Lcid und nicht NULL in Data.

Beginnend mit Windows 8 und Windows Server 2012 Wird LOCALE_NEUTRAL in Lcid wie jedes andere Gebietsschema behandelt.

Treiber können die IoGetDevicePropertyData-Routine verwenden, um den aktuellen Wert für eine Geräteeigenschaft abzurufen.

Aufrufer von IoSetDeviceProperty müssen unter IRQL <= APC_LEVEL im Kontext eines Systemthreads ausgeführt werden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows Vista.
Zielplattform Universell
Header wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

Weitere Informationen

DEVPROPKEY

DEVPROPTYPE

IoGetDevicePropertyData