Compartilhar via


Função WdfRequestGetRequestorMode (wdfrequest.h)

[Aplica-se a KMDF e UMDF]

O método WdfRequestGetRequestorMode retorna o modo de acesso do processador do originador de uma solicitação de E/S especificada.

Sintaxe

KPROCESSOR_MODE WdfRequestGetRequestorMode(
  [in] WDFREQUEST Request
);

Parâmetros

[in] Request

Um identificador para um objeto de solicitação de estrutura.

Retornar valor

WdfRequestGetRequestorMode retornará KernelMode se o originador da solicitação de E/S estiver sendo executado no modo kernel. Caso contrário, esse método retornará UserMode. As constantes KernelMode e UserMode são definidas em wdm.h.

Um bug marcar ocorrerá se o driver fornecer um identificador de objeto inválido.

Comentários

Para obter mais informações sobre WdfRequestGetRequestorMode, consulte Obtendo informações sobre uma solicitação de E/S.

Exemplos

O exemplo de código a seguir é do driver de exemplo NDISProt . Este exemplo verifica se há um endereço MAC válido se a solicitação de E/S veio de um aplicativo de modo de usuário.

//
// 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 Valor
Plataforma de Destino Universal
Versão mínima do KMDF 1.0
Versão mínima do UMDF 2,0
Cabeçalho wdfrequest.h (inclua Wdf.h)
Biblioteca Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
Regras de conformidade de DDI DriverCreate(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)