Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
[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.
Valor de retorno
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.
Uma verificação de bug ocorre se o driver fornece um identificador de objeto inválido.
Observações
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 do 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 |
|---|---|
| da 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) |