KMDF 1.11 获取启动请求的进程

KMDF 1.11 Get process that initiates request

本文关键字:请求 进程 启动 获取 KMDF      更新时间:2023-10-16

我正在编写一个驱动程序,通过注册 EvtIoDeviceControl 来侦听特定设备上的请求。

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

在 Windows 10 (KMDF 1.21( 上,我可以使用 WdfRequestGetRequestorProcessId 获取在 EvtIoDeviceControlCallback 中发出请求的进程的进程 ID,但我无法找到一种方法来执行此操作早期版本的 KMDF。有什么见解吗?

您可以使用WdfRequestWdmGetIrp(最低 KMDF 版本 1.0(和IoGetRequestorProcessId

所以简单地使用

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