Compartilhar via


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

Confira também

IWDFIoRequest2

IWDFIoRequest2::IsFromUserModeDriver