Поделиться через


Функция WdfRequestGetRequestorMode (wdfrequest.h)

[Применимо к KMDF и UMDF]

Метод WdfRequestGetRequestorMode возвращает режим доступа процессора для исходного запроса ввода-вывода.

Синтаксис

KPROCESSOR_MODE WdfRequestGetRequestorMode(
  [in] WDFREQUEST Request
);

Параметры

[in] Request

Дескриптор объекта запроса платформы.

Возвращаемое значение

WdfRequestGetRequestorMode возвращает KernelMode, если источник запроса ввода-вывода выполняется в режиме ядра. В противном случае этот метод возвращает UserMode. Константы KernelMode и UserMod e определяются в wdm.h.

Ошибка возникает, если драйвер предоставляет недопустимый дескриптор объекта.

Замечания

Дополнительные сведения о WdfRequestGetRequestorModeсм. в получении сведений озапроса ввода-вывода.

Примеры

В следующем примере кода используется пример драйвера NDISProt. В этом примере проверяется допустимый MAC-адрес, если запрос ввода-вывода поступил из приложения пользовательского режима.

//
// 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;
}

Требования

Требование Ценность
целевая платформа Всеобщий
минимальная версия KMDF 1.0
минимальная версия UMDF 2.0
заголовка wdfrequest.h (включая Wdf.h)
библиотеки Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
правил соответствия DDI DriverCreate(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)