Freigeben über


WdfIoTargetQueryForInterface-Funktion (wdfiotarget.h)

[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
STATUS_INVALID_PARAMETER
Der parameter IoTarget, InterfaceTypeoder Interface parameter ist NULL.
STATUS_INSUFFICIENT_RESOURCES
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)

Siehe auch

INTERFACE-

WdfDeviceAddQueryInterface

WdfFdoQueryForInterface-

WdfIoTargetCreate