Compartilhar via


Método IWDFIoRequest2::GetRequestorMode (wudfddi.h)

[Aviso: UMDF 2 é a versão mais recente do UMDF e substitui o UMDF 1. Todos os novos drivers UMDF devem ser gravados usando UMDF 2. Nenhum recurso novo está sendo adicionado ao UMDF 1 e há suporte limitado para UMDF 1 em versões mais recentes do Windows 10. Os drivers universais do Windows devem usar o UMDF 2. Para obter mais informações, consulte Introdução aoda UMDF .]

O método GetRequestorMode indica se uma solicitação de E/S veio de um driver no modo kernel ou de um componente do modo de usuário (um aplicativo ou um driver de modo de usuário).

Sintaxe

WDF_KPROCESSOR_MODE GetRequestorMode();

Valor de retorno

GetRequestorMode retorna um valor tipo WDF_KPROCESSOR_MODEque indica se a solicitação de E/S atual veio de um driver no modo kernel ou de um componente do modo de usuário.

Observações

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 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.
da Plataforma de Destino Área de trabalho
versão mínima do UMDF 1.9
cabeçalho wudfddi.h (inclua Wudfddi.h)
de DLL WUDFx.dll

Consulte também

IWDFIoRequest2

IWDFIoRequest2::IsFromUserModeDriver