Funzione WdfRequestGetRequestorMode (wdfrequest.h)
[Si applica a KMDF e UMDF]
Il metodo WdfRequestGetRequestorMode restituisce la modalità di accesso al processore dell'originatore di una richiesta di I/O specificata.
Sintassi
KPROCESSOR_MODE WdfRequestGetRequestorMode(
[in] WDFREQUEST Request
);
Parametri
[in] Request
Handle per un oggetto richiesta framework.
Valore restituito
WdfRequestGetRequestorMode restituisce KernelMode se l'origine della richiesta di I/O è in esecuzione in modalità kernel. In caso contrario, questo metodo restituisce UserMode. Le costanti KernelMode e UserMode sono definite in wdm.h.
Se il driver fornisce un handle di oggetto non valido, si verifica un controllo di bug.
Osservazioni
Per altre informazioni su WdfRequestGetRequestorMode, vedere Ottenere informazioni su una richiesta di I/O.
Esempi
L'esempio di codice seguente proviene dal driver di esempio NDISProt. Questo esempio verifica la presenza di un indirizzo MAC valido se la richiesta di I/O proviene da un'applicazione in modalità utente.
//
// 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;
}
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Universale |
versione minima di KMDF | 1.0 |
versione minima di UMDF | 2.0 |
intestazione | wdfrequest.h (include Wdf.h) |
libreria | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <=DISPATCH_LEVEL |
regole di conformità DDI | DriverCreate(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |