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 für ein 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 Byte, auf den von PropertyBuffer verwiesen wird.
[out] PropertyBuffer
Ein vom Aufrufer bereitgestellter Zeiger auf einen vom Aufrufer zugewiesenen Puffer, der die angeforderten Informationen empfängt. Der Zeiger kann NULL sein, wenn der BufferLength-Parameter null ist.
[out] RequiredSize
Ein vom Aufrufer bereitgestellter Speicherort, der bei der Rückgabe die Größe der Informationen in Byte enthält, die die Methode in PropertyBuffer gespeichert hat. Wenn der Rückgabewert der Funktion STATUS_BUFFER_TOO_SMALL ist, erhält dieser Speicherort die erforderliche Puffergröße.
[out] Type
Ein Zeiger auf eine DEVPROPTYPE-Variable . Wenn die Methode erfolgreich ist, enthält dieser Parameter nach der Rückgabe den Eigenschaftstypwert der in PropertyBuffer gespeicherten Eigenschaftsdaten.
Rückgabewert
Wenn der Vorgang erfolgreich ist, gibt WdfDeviceQueryPropertyEx STATUS_SUCCESS zurück. Weitere Rückgabewerte sind:
Rückgabecode | Beschreibung |
---|---|
|
Der bereitgestellte Puffer ist zu klein, um die Informationen zu empfangen. |
|
Der angegebene DeviceProperty-Wert ist ungültig. |
Die -Methode gibt möglicherweise andere NTSTATUS-Werte zurück.
Eine Fehlerüberprüfung tritt auf, wenn der Treiber ein ungültiges Objekthandle bereitstellt.
Hinweise
Sie können WdfDeviceQueryPropertyEx verwenden, um jede Eigenschaft abzurufen, die über das einheitliche Eigenschaftenmodell verfügbar gemacht wird, 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 zu erhalten. Bei einigen Eigenschaften kann sich die Datengröße zwischen der Rückgabe der erforderlichen Größe und dem erneuten Aufrufen von WdfDeviceQueryPropertyEx vom Treiber ändern. Aus diesem Grund sollten Treiber WdfDeviceQueryPropertyEx in einer Schleife aufrufen, die ausgeführt wird, bis die rückgabefähige status nicht STATUS_BUFFER_TOO_SMALL ist.
Es empfiehlt sich , WdfDeviceQueryPropertyEx nur zu verwenden, wenn die erforderliche Puffergröße bekannt und unveränderlich ist, da in diesem Fall der Treiber WdfDeviceQueryPropertyEx nur einmal aufrufen muss. Wenn die erforderliche Puffergröße unbekannt ist oder variiert, sollte der Treiber WdfDeviceAllocAndQueryPropertyEx aufrufen.
Informationen zu verwandten Methoden finden Sie unter Zugreifen auf das Einheitliche Geräteeigenschaftenmodell.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
KMDF-Mindestversion | 1.13 |
UMDF-Mindestversion | 2.0 |
Kopfzeile | wdfdevice.h (einschließen von Wdf.h) |
Bibliothek | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | APC_LEVEL |