Funzione WdfIoTargetQueryForInterface (wdfiotarget.h)
[Si applica solo a KMDF]
Il metodo WdfIoTargetQueryForInterface ottiene l'accesso all'interfaccia GUID identificata dal driver di una destinazione di I/O remota.
Sintassi
NTSTATUS WdfIoTargetQueryForInterface(
[in] WDFIOTARGET IoTarget,
[in] LPCGUID InterfaceType,
[out] PINTERFACE Interface,
[in] USHORT Size,
[in] USHORT Version,
[in, optional] PVOID InterfaceSpecificData
);
Parametri
[in] IoTarget
Handle a un oggetto di destinazione di I/O remoto ottenuto da una chiamata precedente a WdfIoTargetCreate.
[in] InterfaceType
Puntatore a un GUID che identifica l'interfaccia.
[out] Interface
Puntatore a una struttura allocata da driver che riceve l'interfaccia richiesta. Questa struttura è definita dal driver che esporta l'interfaccia richiesta e deve iniziare con una struttura INTERFACE .
[in] Size
Dimensioni, in byte, della struttura allocata dal driver a cui Punta Interface .
[in] Version
Numero di versione dell'interfaccia richiesta. Il driver che esporta l'interfaccia richiesta definisce il formato di questo valore.
[in, optional] InterfaceSpecificData
Informazioni aggiuntive specifiche dell'interfaccia. Questo parametro è facoltativo e può essere NULL.
Valore restituito
WdfIoTargetQueryForInterface restituisce STATUS_SUCCESS se l'operazione ha esito positivo. In caso contrario, questo metodo potrebbe restituire uno dei valori seguenti:
Codice restituito | Descrizione |
---|---|
|
Il parametro IoTarget, InterfaceType o Interface è NULL. |
|
il framework non è stato in grado di allocare una richiesta per inviare a un altro driver. |
Questo metodo potrebbe restituire anche altri valori NTSTATUS.
Un controllo di bug si verifica se il driver fornisce un handle di oggetti non valido.
Commenti
Il driver può chiamare WdfIoTargetQueryForInterface per ottenere l'accesso a un'interfaccia definita dal driver creata da un driver in uno stack di driver diverso. Per accedere a un'interfaccia definita dal driver creata da un driver che si trova nello stesso stack di driver del driver del driver, il driver deve chiamare WdfFdoQueryForInterface.
I driver basati su framework definiscono le interfacce chiamando WdfDeviceAddQueryInterface. Per altre informazioni sulle interfacce definite dal driver, vedere Uso di interfacce Driver-Defined.
Esempio
Nell'esempio di codice seguente viene tentato di ottenere l'accesso a un'interfaccia di destinazione di I/O remota specificata. GUID_RAWPDO_INTERFACE_STANDARD è il GUID che identifica l'interfaccia.
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;
}
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Versione KMDF minima | 1,0 |
Intestazione | wdfiotarget.h (include Wdf.h) |
Libreria | Wdf01000.sys (vedere Framework Library Versioning). |
IRQL | PASSIVE_LEVEL |
Regole di conformità DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |