Compartir a través de


Función WdfRequestGetRequestorMode (wdfrequest.h)

[Se aplica a KMDF y UMDF]

El método WdfRequestGetRequestorMode devuelve el modo de acceso del procesador del originador de una solicitud de E/S especificada.

Sintaxis

KPROCESSOR_MODE WdfRequestGetRequestorMode(
  [in] WDFREQUEST Request
);

Parámetros

[in] Request

Identificador de un objeto de solicitud de marco.

Valor devuelto

WdfRequestGetRequestorMode devuelve KernelMode si el originador de la solicitud de E/S se está ejecutando en modo kernel. De lo contrario, este método devuelve UserMode. Las constantes KernelMode y UserMode se definen en wdm.h.

Se produce una comprobación de errores si el controlador proporciona un identificador de objeto no válido.

Comentarios

Para obtener más información sobre WdfRequestGetRequestorMode, vea Obtener información sobre una solicitud de E/S.

Ejemplos

El ejemplo de código siguiente procede del controlador de ejemplo NDISProt . En este ejemplo se comprueba si hay una dirección MAC válida si la solicitud de E/S procede de una aplicación en modo de usuario.

//
// To prevent applications from sending packets with spoofed MAC address,
// perform the following check to make sure the source address 
// in the packet is the same as the current MAC address of the NIC.
//
if ((WdfRequestGetRequestorMode(Request) == UserMode) && 
    !NPROT_MEM_CMP(pEthHeader->SrcAddr, pOpenContext->CurrentAddress, NPROT_MAC_ADDR_LEN))
{
    DEBUGP(DL_WARN, ("Write: Failing with invalid Source address"));
    NtStatus = STATUS_INVALID_PARAMETER;
    break;
}

Requisitos

Requisito Value
Plataforma de destino Universal
Versión mínima de KMDF 1.0
Versión mínima de UMDF 2.0
Encabezado wdfrequest.h (incluya Wdf.h)
Library Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
Reglas de cumplimiento de DDI DriverCreate(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)