Método IWDFIoRequest2::GetRequestorMode (wudfddi.h)
[Aviso: UMDF 2 é a versão mais recente do UMDF e substitui UMDF 1. Todos os novos drivers UMDF devem ser gravados usando UMDF 2. Nenhum novo recurso está sendo adicionado ao UMDF 1 e há suporte limitado para UMDF 1 em versões mais recentes do Windows 10. Drivers universais do Windows devem usar UMDF 2. Para obter mais informações, consulte Introdução com UMDF.]
O método GetRequestorMode indica se uma solicitação de E/S veio de um driver de modo kernel ou de um componente de modo de usuário (um aplicativo ou um driver de modo de usuário).
Sintaxe
WDF_KPROCESSOR_MODE GetRequestorMode();
Retornar valor
GetRequestorMode retorna um valor do tipo WDF_KPROCESSOR_MODE que indica se a solicitação de E/S atual veio de um driver de modo kernel ou de um componente de modo de usuário.
Comentários
Um driver baseado em UMDF pode receber uma solicitação de E/S de um driver no modo kernel somente se o driver baseado em UMDF der suporte a clientes no modo kernel.
Se GetRequestorMode retornar WdfUserMode, o driver poderá chamar IWDFIoRequest2::IsFromUserModeDriver para determinar se a solicitação de E/S veio de um aplicativo ou de um driver de modo de usuário.
Exemplos
O exemplo de código a seguir mostra como uma função de retorno de chamada IQueueCallbackWrite::OnWrite pode determinar se uma solicitação de E/S é do modo kernel ou do modo de usuário. Se a solicitação for do modo de usuário, o exemplo determinará se a solicitação é de um aplicativo ou de outro driver de modo de usuário.
VOID
STDMETHODCALLTYPE
CMyQueue::OnWrite(
__in IWDFIoQueue *pWdfQueue,
__in IWDFIoRequest *pWdfRequest,
__in SIZE_T BytesToWrite
)
{
WDF_KPROCESSOR_MODE processorMode;
BOOL fromApp = FALSE;
//
// Declare an IWDFIoRequest2 interface pointer and obtain the
// IWDFIoRequest2 interface from the IWDFIoRequest interface.
//
CComQIPtr<IWDFIoRequest2> r2 = pWdfRequest;
processorMode = r2->GetRequestorMode();
if (processorMode == WdfUserMode)
{
fromApp = r2->IsFromUserModeDriver();
}
...
}
Requisitos
Requisito | Valor |
---|---|
Fim do suporte | Indisponível no UMDF 2.0 e posterior. |
Plataforma de Destino | Área de Trabalho |
Versão mínima do UMDF | 1,9 |
Cabeçalho | wudfddi.h (include Wudfddi.h) |
DLL | WUDFx.dll |