KMDF 1.11 Получить процесс, который инициирует запрос

Я пишу драйвер, который прослушивает запросы на определенных устройствах, регистрируясь на EvtIoDeviceControl.

DF_IO_QUEUE_CONFIG_INIT_DEFAULT_QUEUE(&IoCallbacks, WdfIoQueueDispatchParallel);
IoCallbacks.PowerManaged = WdfFalse;
IoCallbacks.EvtIoDeviceControl = EvtIoDeviceControlCallback;

На Windows 10 (KMDF 1.21) я могу использовать WdfRequestGetRequestorProcessId чтобы получить идентификатор процесса, который сделал запрос в EvtIoDeviceControlCallback, но у меня не получается найти способ сделать это в более ранних версиях KMDF. Любое понимание?

0

Решение

ты можешь использовать WdfRequestWdmGetIrp (Минимальная версия KMDF 1.0) а также IoGetRequestorProcessId

так просто используйте

ULONG WdfRequestGetRequestorProcessId_1_0(WDFREQUEST Request)
{
return IoGetRequestorProcessId(WdfRequestWdmGetIrp(Request));
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]