Freigeben über


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
STATUS_SUCCESS
Der Vorgang war erfolgreich. Der Daten- Puffer enthält die abgerufenen Daten. **Type* enthält den Typ der abgerufenen Daten.
STATUS_BUFFER_TOO_SMALL
Der Datenpuffer ist zu klein. **RequiredSize* enthält die erforderliche Pufferlänge.
STATUS_OBJECT_NAME_NOT_FOUND
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)

Siehe auch

DEVPROPKEY-

DEVPROPTYPE-

IoSetDevicePropertyData-