KMDF 1.11 Get 发起请求的流程
KMDF 1.11 Get process that initiates request
我正在编写一个驱动程序,通过注册 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
(Minimum KMDF version 1.0) and IoGetRequestorProcessId
所以只需使用
ULONG WdfRequestGetRequestorProcessId_1_0(WDFREQUEST Request)
{
return IoGetRequestorProcessId(WdfRequestWdmGetIrp(Request));
}
我正在编写一个驱动程序,通过注册 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
(Minimum KMDF version 1.0) and IoGetRequestorProcessId
所以只需使用
ULONG WdfRequestGetRequestorProcessId_1_0(WDFREQUEST Request)
{
return IoGetRequestorProcessId(WdfRequestWdmGetIrp(Request));
}