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