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 physische Geräteobjekt (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_NEUTRALfest.

Die LOCALE_NEUTRAL LCID gibt an, dass die Eigenschaft sprachneutral ist (d. h. nicht spezifisch für jede Sprache).

Legen Sie diesen Parameter nicht auf LOCALE_SYSTEM_DEFAULT oder LOCALE_USER_DEFAULTfest.

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 beibehalten werden soll. Legen Sie andernfalls Flags auf Null fest.

Windows 8 und Windows Server 2012 und höher behandeln Flags so, als ob PLUGPLAY_PROPERTY_PERSISTENT immer übergeben wird.

[in] Type

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

[in] Size

Die Größe des Puffers in Bytes, auf den daten 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 nichtNULL-ist, speichert die Routine eine interne Kopie des Eigenschaftswerts. Der Puffer, auf den Data 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.

Bemerkungen

Informationen zur Verwendung durch diese Routine 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.

Ab 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
mindestens unterstützte Client- Verfügbar ab Windows Vista.
Zielplattform- Universal
Header- wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- <= APC_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

Siehe auch

DEVPROPKEY-

DEVPROPTYPE-

IoGetDevicePropertyData-