Функция 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) |