IoGetDevicePropertyData-Funktion (wdm.h)
Die IoGetDevicePropertyData Routine ruft die aktuelle Einstellung für eine Geräteeigenschaft ab.
Syntax
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
);
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.
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.
Rückgabewert
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. |
Bemerkungen
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.
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) |