WdfFdoInitQueryPropertyEx-Funktion (wdffdo.h)
[Gilt für KMDF und UMDF]
Die WdfFdoInitQueryPropertyEx-Methode ruft eine angegebene Geräteeigenschaft ab.
Syntax
NTSTATUS WdfFdoInitQueryPropertyEx(
[in] PWDFDEVICE_INIT DeviceInit,
[in] PWDF_DEVICE_PROPERTY_DATA DeviceProperty,
[in] ULONG BufferLength,
[out] PVOID PropertyBuffer,
[out] PULONG ResultLength,
[out] PDEVPROPTYPE Type
);
Parameter
[in] DeviceInit
Ein Zeiger auf eine WDFDEVICE_INIT Struktur, die der Treiber aus seiner Rückruffunktion EvtDriverDeviceAdd abgerufen hat.
[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 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 0 ist.
[out] ResultLength
Ein vom Aufrufer bereitgestellter Speicherort, der bei der Rückgabe die Größe der Informationen 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 , die bei der Rückgabe den Eigenschaftstypwert der in PropertyBuffer gespeicherten Eigenschaftendaten enthält.
Rückgabewert
Wenn der Vorgang erfolgreich ist, gibt WdfFdoInitQueryPropertyEx 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
Vor dem Empfangen von Geräteeigenschaftendaten rufen Treiber in der Regel die WdfFdoInitQueryPropertyEx-Methode auf, um die erforderliche Puffergröße abzurufen. Bei einigen Eigenschaften kann sich die Datengröße zwischen der Rückgabe der erforderlichen Größe und dem erneuten Aufruf von WdfFdoInitQueryPropertyEx ändern. Daher sollten Treiber WdfFdoInitQueryPropertyEx in einer Schleife aufrufen, die ausgeführt wird, bis die Rückgabe status nicht STATUS_BUFFER_TOO_SMALL ist.
Es ist am besten , WdfFdoInitQueryPropertyEx nur zu verwenden, wenn die erforderliche Puffergröße bekannt ist und sich nicht ändert, da in diesem Fall der Treiber WdfFdoInitQueryPropertyEx nur einmal aufrufen muss. Wenn die erforderliche Puffergröße unbekannt ist oder variiert, sollte der Treiber WdfFdoInitAllocAndQueryPropertyEx aufrufen.
Der Treiber kann WdfFdoInitQueryPropertyEx nur aufrufen, bevor WdfDeviceCreate aufgerufen wird. Weitere Informationen zum Aufrufen von WdfDeviceCreate finden Sie unter Erstellen eines Framework-Geräteobjekts.
Nach dem Aufruf von WdfDeviceCreate kann ein Treiber Geräteeigenschafteninformationen abrufen, indem er WdfDeviceQueryPropertyEx aufruft.
Informationen zu verwandten Methoden finden Sie unter Zugreifen auf das Unified Device-Eigenschaftsmodell.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
KMDF-Mindestversion | 1.13 |
UMDF-Mindestversion | 2.0 |
Kopfzeile | wdffdo.h (einschließen von Wdf.h) |
Bibliothek | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |