Compartir a través de


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

[Advertencia: UMDF 2 es la versión más reciente de UMDF y sustituye a UMDF 1. Todos los nuevos controladores UMDF deben escribirse mediante UMDF 2. No se agregan nuevas características a UMDF 1 y hay compatibilidad limitada con UMDF 1 en versiones más recientes de Windows 10. Los controladores universales de Windows deben usar UMDF 2. Para obtener más información, consulta Introducción a UMDF.]

El método GetRequestorMode indica si una solicitud de E/S procede de un controlador en modo kernel o de un componente en modo de usuario (ya sea una aplicación o un controlador en modo de usuario).

Sintaxis

WDF_KPROCESSOR_MODE GetRequestorMode();

Valor devuelto

GetRequestorMode devuelve un valor de tipo WDF_KPROCESSOR_MODEque indica si la solicitud de E/S actual procede de un controlador en modo kernel o de un componente en modo de usuario.

Observaciones

Un controlador basado en UMDF puede recibir una solicitud de E/S de un controlador en modo kernel solo si el controlador basado en UMDF admite clientes en modo kernel .

Si GetRequestorMode devuelve WdfUserMode, el controlador puede llamar a IWDFIoRequest2::IsFromUserModeDriver para determinar si la solicitud de E/S procede de una aplicación o un controlador en modo de usuario.

Ejemplos

En el ejemplo de código siguiente se muestra cómo una función de devolución de llamada IQueueCallbackWrite::OnWrite puede determinar si una solicitud de E/S procede del modo kernel o del modo de usuario. Si la solicitud procede del modo de usuario, el ejemplo determina si la solicitud procede de una aplicación u otro controlador en modo de usuario.

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
fin del soporte técnico No disponible en UMDF 2.0 y versiones posteriores.
de la plataforma de destino de Escritorio
versión mínima de UMDF 1.9
encabezado de wudfddi.h (incluya Wudfddi.h)
DLL de WUDFx.dll

Consulte también

IWDFIoRequest2

IWDFIoRequest2::IsFromUserModeDriver