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äteeigenschaftenschlü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.
Flags
Ist für das System reserviert. Treiber sollten diesen Wert auf 0 festlegen.
[in] Size
Die Größe des Puffers, auf den Data verweist, in Bytes.
[out] Data
Ein Zeiger auf die Geräteeigenschaftendaten.
[out] RequiredSize
Ein Zeiger auf eine ULONG, um die Größe der Eigenschafteninformationen zu empfangen, die bei Data zurü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 wurde, verwendet die Routine Type , um den Datentyp anzugeben, der im Datenpuffer zurückgegeben wird.
Rückgabewert
IoGetDevicePropertyData gibt einen NTSTATUS-Wert zurück. Diese Routine gibt möglicherweise einen der folgenden Werte zurück:
Rückgabecode | Beschreibung |
---|---|
|
Der Vorgang wurde erfolgreich ausgeführt. Der Datenpuffer 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. |
Hinweise
Kernelmodustreiber verwenden die IoGetDevicePropertyData-Routine , um Geräteeigenschaften abzurufen, die als Teil des einheitlichen Geräteeigenschaftenmodells definiert sind.
Informationen zu Eigenschaftentypen, die für diese Routine verfügbar sind, 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 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 | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |