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

[Относится к KMDF и UMDF]

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

Синтаксис

KPROCESSOR_MODE WdfRequestGetRequestorMode(
  [in] WDFREQUEST Request
);

Параметры

[in] Request

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

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

WdfRequestGetRequestorMode возвращает KernelMode , если инициатор запроса ввода-вывода выполняется в режиме ядра. В противном случае этот метод возвращает UserMode. Константы KernelMode и UserMode определяются в 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)