Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
[Aplica-se somente ao KMDF]
O método WdfIoTargetQueryForInterface obtém acesso à interface definida pelo driver e identificada por GUID de um de destino de E/S remoto.
Sintaxe
NTSTATUS WdfIoTargetQueryForInterface(
[in] WDFIOTARGET IoTarget,
[in] LPCGUID InterfaceType,
[out] PINTERFACE Interface,
[in] USHORT Size,
[in] USHORT Version,
[in, optional] PVOID InterfaceSpecificData
);
Parâmetros
[in] IoTarget
Um identificador para um objeto de destino de E/S remoto obtido de uma chamada anterior para WdfIoTargetCreate.
[in] InterfaceType
Um ponteiro para um GUID que identifica a interface.
[out] Interface
Um ponteiro para uma estrutura alocada pelo driver que recebe a interface solicitada. Essa estrutura é definida pelo driver que exporta a interface solicitada e deve começar com uma estrutura interface.
[in] Size
O tamanho, em bytes, da estrutura alocada pelo driver que Interface aponta.
[in] Version
O número de versão da interface solicitada. O driver que exporta a interface solicitada define o formato desse valor.
[in, optional] InterfaceSpecificData
Informações adicionais específicas da interface. Esse parâmetro é opcional e pode ser NULL.
Valor de retorno
WdfIoTargetQueryForInterface retornará STATUS_SUCCESS se a operação for bem-sucedida. Caso contrário, esse método poderá retornar um dos seguintes valores:
| Código de retorno | Descrição |
|---|---|
|
O parâmetro IoTarget, InterfaceTypeou de Interface é NULL. |
|
a estrutura não pôde alocar uma solicitação para enviar para outro driver. |
Esse método também pode retornar outros valores NTSTATUS .
Uma verificação de bug ocorre se o driver fornece um identificador de objeto inválido.
Observações
O driver pode chamar WdfIoTargetQueryForInterface para obter acesso a uma interface definida pelo driver que foi criada por um driver em uma pilha de driver diferente. Para acessar uma interface definida pelo driver que foi criada por um driver que está na mesma pilha de driver que o driver, seu driver deve chamar WdfFdoQueryForInterface.
Os drivers baseados em estrutura definem interfaces chamando WdfDeviceAddQueryInterface. Para obter mais informações sobre interfaces definidas pelo driver, consulte Using Driver-Defined Interfaces.
Exemplos
O exemplo de código a seguir tenta obter acesso a uma interface de destino de E/S remota especificada. GUID_RAWPDO_INTERFACE_STANDARD é o GUID que identifica a interface.
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;
}
Requisitos
| Requisito | Valor |
|---|---|
| da Plataforma de Destino | Universal |
| versão mínima do KMDF | 1.0 |
| cabeçalho | wdfiotarget.h (inclua Wdf.h) |
| Biblioteca | Wdf01000.sys (consulte o Controle de Versão da Biblioteca da Estrutura.) |
| IRQL | PASSIVE_LEVEL |
| regras de conformidade de DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |
Consulte também
de INTERFACE do