Freigeben über


WdfDeviceQueryPropertyEx-Funktion (wdfdevice.h)

[Gilt für KMDF und UMDF]

Die WdfDeviceQueryPropertyEx--Methode ruft eine angegebene Geräteeigenschaft ab.

Syntax

NTSTATUS WdfDeviceQueryPropertyEx(
  [in]  WDFDEVICE                 Device,
  [in]  PWDF_DEVICE_PROPERTY_DATA DeviceProperty,
  [in]  ULONG                     BufferLength,
  [out] PVOID                     PropertyBuffer,
  [out] PULONG                    RequiredSize,
  [out] PDEVPROPTYPE              Type
);

Parameter

[in] Device

Ein Handle zu einem Framework-Geräteobjekt.

[in] DeviceProperty

Ein Zeiger auf eine WDF_DEVICE_PROPERTY_DATA Struktur, die die abzurufende Geräteeigenschaft identifiziert.

[in] BufferLength

Die Größe des Puffers in Bytes, auf den PropertyBufferverweist.

[out] PropertyBuffer

Ein vom Aufrufer bereitgestellter Zeiger auf einen vom Aufrufer zugewiesenen Puffer, der die angeforderten Informationen empfängt. Der Zeiger kann NULL- werden, wenn der parameter BufferLength null ist.

[out] RequiredSize

Ein vom Aufrufer bereitgestellter Speicherort, der im Gegenzug die Größe der Informationen enthält, die die Methode in PropertyBuffer-gespeichert hat. Wenn der Rückgabewert der Funktion STATUS_BUFFER_TOO_SMALList, empfängt dieser Speicherort die erforderliche Puffergröße.

[out] Type

Ein Zeiger auf eine DEVPROPTYPE- Variable. Wenn die Methode erfolgreich ist, enthält dieser Parameter den Eigenschaftstypwert der Eigenschaftendaten, die in PropertyBuffer-gespeichert sind.

Rückgabewert

Wenn der Vorgang erfolgreich ist, gibt WdfDeviceQueryPropertyEx- STATUS_SUCCESS zurück. Weitere Rückgabewerte sind:

Rückgabecode Beschreibung
STATUS_BUFFER_TOO_SMALL
Der bereitgestellte Puffer ist zu klein, um die Informationen zu empfangen.
STATUS_INVALID_PARAMETER
Der angegebene DeviceProperty Wert ist ungültig.
 

Die Methode gibt möglicherweise andere NTSTATUS-Wertezurück.

Wenn der Treiber ein ungültiges Objekthandle bereitstellt, tritt eine Fehlerüberprüfung auf.

Bemerkungen

Sie können WdfDeviceQueryPropertyEx- verwenden, um alle Eigenschaften abzurufen, die über das einheitliche Eigenschaftenmodell verfügbar gemacht werden, während die WdfDeviceQueryProperty--Methode nur das Abfragen einer Teilmenge des einheitlichen Eigenschaftenmodells zulässt.

Vor dem Empfangen von Geräteeigenschaftendaten rufen Treiber in der Regel die WdfDeviceQueryPropertyEx- Methode auf, um die erforderliche Puffergröße abzurufen. Bei einigen Eigenschaften kann sich die Datengröße ändern, wenn die erforderliche Größe zurückgegeben wird, und wenn der Treiber WdfDeviceQueryPropertyEx erneut aufruft. Daher sollten Treiber WdfDeviceQueryPropertyEx- in einer Schleife aufrufen, die ausgeführt wird, bis der Rückgabestatus nicht STATUS_BUFFER_TOO_SMALL ist.

Es empfiehlt sich, WdfDeviceQueryPropertyEx- nur zu verwenden, wenn die erforderliche Puffergröße bekannt ist und nicht mehr verändert wird, da in diesem Fall der Treiber WdfDeviceQueryPropertyEx- nur einmal aufrufen muss. Wenn die erforderliche Puffergröße unbekannt ist oder variiert, sollte der Treiber WdfDeviceAllocAndQueryPropertyExaufrufen.

Informationen zu verwandten Methoden finden Sie unter Zugreifen auf das Unified Device Property Model.

Anforderungen

Anforderung Wert
Zielplattform- Universal
Minimale KMDF-Version 1.13
Mindest-UMDF-Version 2.0
Header- wdfdevice.h (einschließen Wdf.h)
Library Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL- APC_LEVEL

Siehe auch

WdfDeviceQueryInterfaceProperty

WdfDeviceQueryProperty-