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
);
Die Parameter
[in] DeviceInit
Ein Zeiger auf eine WDFDEVICE_INIT Struktur, die der Treiber aus seiner EvtDriverDeviceAdd Rückruffunktion 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 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] ResultLength
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, die den Eigenschaftstypwert der Eigenschaftendaten enthält, die in PropertyBuffer-gespeichert sind.
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-Wertezurück.
Wenn der Treiber ein ungültiges Objekthandle bereitstellt, tritt eine Fehlerüberprüfung auf.
Bemerkungen
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 ändern, wenn die erforderliche Größe zurückgegeben wird, und wenn der Treiber WdfFdoInitQueryPropertyEx erneut aufruft. Daher sollten Treiber WdfFdoInitQueryPropertyEx- in einer Schleife aufrufen, die ausgeführt wird, bis der Rückgabestatus nicht STATUS_BUFFER_TOO_SMALL ist.
Es empfiehlt sich, WdfFdoInitQueryPropertyEx- nur dann zu verwenden, wenn die erforderliche Puffergröße bekannt und nicht verändert wird, da in diesem Fall der Treiber WdfFdoInitQueryPropertyEx nur einmal aufrufen muss. Wenn die erforderliche Puffergröße unbekannt ist oder variiert, sollte der Treiber WdfFdoInitAllocAndQueryPropertyExaufrufen.
Der Treiber kann WdfFdoInitQueryPropertyEx- nur vor dem Aufrufen WdfDeviceCreateaufrufen. Weitere Informationen zum Aufrufen WdfDeviceCreatefinden Sie unter Creating a Framework Device Object.
Nach dem Aufrufen WdfDeviceCreatekann ein Treiber Geräteeigenschafteninformationen abrufen, indem WdfDeviceQueryPropertyExaufgerufen wird.
Informationen zu verwandten Methoden finden Sie unter Zugreifen auf das Unified Device Property Model.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | universell |
Minimale KMDF-Version | 1.13 |
Mindest-UMDF-Version | 2.0 |
Kopfzeile | wdffdo.h (include Wdf.h) |
Bibliothek | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |