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 WdfIoTargetQueryForInterface Methode erhält Zugriff auf die guiD-identifizierte, treiberdefinierte Schnittstelle eines Remote-E/A-Ziels.
Syntax
NTSTATUS WdfIoTargetQueryForInterface(
[in] WDFIOTARGET IoTarget,
[in] LPCGUID InterfaceType,
[out] PINTERFACE Interface,
[in] USHORT Size,
[in] USHORT Version,
[in, optional] PVOID InterfaceSpecificData
);
Die Parameter
[in] IoTarget
Ein Handle für ein Remote-E/A-Zielobjekt, das aus einem vorherigen Aufruf von WdfIoTargetCreateabgerufen wurde.
[in] InterfaceType
Ein Zeiger auf eine GUID, die die Schnittstelle identifiziert.
[out] Interface
Ein Zeiger auf eine vom Treiber zugewiesene Struktur, die die angeforderte Schnittstelle empfängt. Diese Struktur wird vom Treiber definiert, der die angeforderte Schnittstelle exportiert und mit einer INTERFACE Struktur beginnen muss.
[in] Size
Die Größe der vom Treiber zugewiesenen Struktur, auf die Interface verweist.
[in] Version
Die Versionsnummer der angeforderten Schnittstelle. Der Treiber, der die angeforderte Schnittstelle exportiert, definiert das Format dieses Werts.
[in, optional] InterfaceSpecificData
Zusätzliche schnittstellenspezifische Informationen. Dieser Parameter ist optional und kann NULL-werden.
Rückgabewert
WdfIoTargetQueryForInterface 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 parameter IoTarget, InterfaceTypeoder Interface parameter ist NULL. |
|
Das Framework konnte keine Anforderung zum Senden an einen anderen Treiber zuordnen. |
Diese Methode kann auch andere NTSTATUS-Wertezurückgeben.
Wenn der Treiber ein ungültiges Objekthandle bereitstellt, tritt eine Fehlerüberprüfung auf.
Bemerkungen
Ihr Treiber kann WdfIoTargetQueryForInterface- aufrufen, um Zugriff auf eine treiberdefinierte Schnittstelle zu erhalten, die von einem Treiber in einem anderen Treiberstapel erstellt wurde. Um auf eine treiberdefinierte Schnittstelle zuzugreifen, die von einem Treiber erstellt wurde, der sich im selben Treiberstapel wie Der Treiber befindet, muss ihr Treiber WdfFdoQueryForInterfaceaufrufen.
Frameworkbasierte Treiber definieren Schnittstellen durch Aufrufen von WdfDeviceAddQueryInterface. Weitere Informationen zu treiberdefinierten Schnittstellen finden Sie unter Using Driver-Defined Interfaces.
Beispiele
Im folgenden Codebeispiel wird versucht, zugriff auf die Schnittstelle eines angegebenen Remote-E/A-Ziels zu erhalten. GUID_RAWPDO_INTERFACE_STANDARD ist die GUID, die die Schnittstelle identifiziert.
NTSTATUS status;
RAWPDO_INTERFACE_STANDARD busInterface;
status = WdfIoTargetQueryForInterface(
IoTarget,
&GUID_RAWPDO_INTERFACE_STANDARD,
(PINTERFACE) &busInterface,
sizeof(RAWPDO_INTERFACE_STANDARD),
1,
NULL
);
if (!NT_SUCCESS (status)){
return status;
}
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) |