Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[Gilt nur für KMDF]
Die WdfIoTargetQueryTargetProperty Methode ruft eine angegebene Geräteeigenschaft für ein angegebenes E/A-Ziel ab.
Syntax
NTSTATUS WdfIoTargetQueryTargetProperty(
[in] WDFIOTARGET IoTarget,
[in] DEVICE_REGISTRY_PROPERTY DeviceProperty,
[in] ULONG BufferLength,
[out, optional] PVOID PropertyBuffer,
[out] PULONG ResultLength
);
Die Parameter
[in] IoTarget
Ein Handle für ein lokales oder Remote-E/A-Zielobjekt, das von einem vorherigen Aufruf an WdfDeviceGetIoTarget oder WdfIoTargetCreateabgerufen wurde, oder von einer Methode, die ein spezialisiertes E/A-Ziel bereitstellt.
[in] DeviceProperty
Ein DEVICE_REGISTRY_PROPERTY-typed-Wert, der die abzurufende Geräteeigenschaft identifiziert.
[in] BufferLength
Die Größe des Puffers in Bytes, auf den PropertyBuffer verweist.
[out, optional] PropertyBuffer
Ein Zeiger auf einen vom Aufrufer zugewiesenen Puffer, der die angeforderten Geräteeigenschafteninformationen empfängt. Dieser Zeiger kann null werden, wenn BufferLength null ist.
[out] ResultLength
Ein Zeiger auf einen Speicherort, der in Byte die Größe der Informationen enthält, auf die WdfIoTargetQueryTargetProperty, die im Puffer gespeichert PropertyBuffer. Wenn WdfIoTargetQueryTargetProperty STATUS_BUFFER_TOO_SMALL zurückgibt, empfängt dieser Speicherort die erforderliche Puffergröße.
Rückgabewert
WdfIoTargetQueryTargetProperty gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist. Andernfalls gibt diese Methode möglicherweise einen der folgenden Werte zurück:
| Rückgabecode | BESCHREIBUNG |
|---|---|
|
Der Puffer, auf den der PropertyBuffer Parameter verweist, war zu klein, um die angeforderten Informationen zu empfangen. |
|
Der wert, den der DeviceProperty parameter angegeben hat, war ungültig. |
|
Die Treiber des Geräts haben die Eigenschaften des Geräts noch nicht gemeldet. |
Diese Methode kann auch andere NTSTATUS-Wertezurückgeben.
Wenn der Treiber ein ungültiges Objekthandle bereitstellt, tritt eine Fehlerüberprüfung auf.
Bemerkungen
Bevor Treiber Geräteeigenschaftendaten empfangen, rufen sie in der Regel die WdfIoTargetQueryTargetProperty 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 WdfIoTargetQueryTargetProperty erneut aufruft. Daher sollten Treiber WdfIoTargetQueryTargetProperty- in einer Schleife aufrufen, die ausgeführt wird, bis der Rückgabestatus nicht STATUS_BUFFER_TOO_SMALL ist.
Anstatt WdfIoTargetQueryTargetProperty-aufzurufen, kann Ihr Treiber WdfIoTargetAllocAndQueryTargetPropertyaufrufen, der einen Puffer zuordnet und die Eigenschafteninformationen im Puffer platziert.
Weitere Informationen zu WdfIoTargetQueryTargetPropertyfinden Sie unter Abrufen von Informationen zu einem allgemeinen E/A-Ziel-.
Weitere Informationen zu E/A-Zielen finden Sie unter Using I/O Targets.
Beispiele
Im folgenden Codebeispiel wird die DevicePropertyUINumber-Eigenschaft eines Geräts abrufen. Im Beispiel wird WdfIoTargetQueryTargetProperty- anstelle von WdfIoTargetAllocAndQueryTargetProperty aufgerufen, da die Länge einer UI-Nummer bekannt ist.
ULONG targetUINumber, resultLength;
NTSTATUS status;
status = WdfIoTargetQueryTargetProperty(
target,
DevicePropertyUINumber,
sizeof(targetNumber),
&targetUINumber,
&resultLength
);
Anforderungen
| Anforderung | Wert |
|---|---|
| Zielplattform | universell |
| Minimale KMDF-Version | 1.0 |
| Kopfzeile | wdfiotarget.h (include Wdf.h) |
| Bibliothek | Wdf01000.sys (siehe Framework-Bibliotheksversionsverwaltung.) |
| IRQL | PASSIVE_LEVEL |
| DDI-Complianceregeln | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |