IoGetDevicePropertyData-Funktion (wdm.h)
Die IoGetDevicePropertyData Routine ruft die aktuelle Einstellung für eine Geräteeigenschaft ab.
NTSTATUS IoGetDevicePropertyData(
[in] PDEVICE_OBJECT Pdo,
[in] const DEVPROPKEY *PropertyKey,
[in] LCID Lcid,
ULONG Flags,
[in] ULONG Size,
[out] PVOID Data,
[out] PULONG RequiredSize,
[out] PDEVPROPTYPE Type
);
[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.
Flags
Reserviert für die Systemverwendung. Treiber sollten diesen Wert auf 0 festlegen.
[in] Size
Die Größe des Puffers in Bytes, auf den daten verweist.
[out] Data
Ein Zeiger auf die Geräteeigenschaftendaten.
[out] RequiredSize
Ein Zeiger auf eine ULONG, um die Größe der Eigenschaftsinformationen zu empfangen, die an Datazurückgegeben werden. Wenn IoGetDevicePropertyData STATUS_BUFFER_TOO_SMALL zurückgibt, kann der Aufrufer diesen Wert verwenden, um einen Puffer der richtigen Größe zuzuweisen.
[out] Type
Ein Zeiger auf einen DEVPROPTYPE Wert. Wenn IoGetDevicePropertyData erfolgreich abgeschlossen wird, verwendet die Routine Type, um den Typ der Im Data Puffer zurückgegebenen Daten zu liefern.
IoGetDevicePropertyData einen NTSTATUS-Wert zurück. Diese Routine kann einen der folgenden Werte zurückgeben:
Rückgabecode | Beschreibung |
---|---|
|
Der Vorgang war erfolgreich. Der Daten- Puffer enthält die abgerufenen Daten. **Type* enthält den Typ der abgerufenen Daten. |
|
Der Datenpuffer ist zu klein. **RequiredSize* enthält die erforderliche Pufferlänge. |
|
Die angegebene Geräteeigenschaft wurde nicht gefunden. |
Kernelmodustreiber verwenden die IoGetDevicePropertyData Routine zum Abrufen von Geräteeigenschaften, die als Teil des einheitlichen Geräteeigenschaftenmodells definiert sind.
Informationen zur Verwendung durch diese Routine finden Sie unter DEVPROP_TYPE_BYTE und angrenzenden Seiten für DEVPROP_TYPE_*
.
Treiber können die IoSetDevicePropertyData Routine verwenden, um eine Geräteeigenschaft zu ändern.
Aufrufer von IoGetDevicePropertyData- müssen bei IRQL-<= APC_LEVEL im Kontext eines Systemthreads ausgeführt werden.
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) |