如何使用函数 PsLookupProcessByProcessId() 和从用户空间获得的进程 id (DWORD pid)?
我编写了一个用户空间 c++ 应用程序,它获取另一个应用程序的进程 ID(例如 calc.exe),并使用 DeviceIoControl 我可以通过我创建的结构成功地将 pid 发送给驱动程序。
DbgPrint("PID received : %i", pInp->pid);
打印出进程的正确 pid。但是在做的时候:
PsLookupProcessByProcessId(pInp->pid, eProcess);
我收到警告:
C4022:“PsLookupProcessByProcessId”:实际参数 1 的指针不匹配
警告被视为错误,vs 不会让我编译。我查看了“PsLookupProcessByProcessId”的文档,它说第一个参数需要一个“句柄”。那么,在这种情况下,我将如何使用从用户空间应用程序发送的 DWORD pid 获取句柄?