阅读:1810回复:5
vxd中一个进程结束时怎么得到pid
Vtoolsd中有函数OnDestroyProcess(DWORD ProcessToken);
ProcessToken到底是什么?跟Pid有什么关系? 我想在这个函数中想得到这个进程的PID怎么办? |
|
沙发#
发布于:2003-05-12 09:47
这个token是进程的句柄,就是getcurrentprocesshandle的结果,可以和一个常数进行异或得到进程的ID,这个常数是什么需要自己得到,通过应用程序把进程的ID传到VXD,然后VXD取当前HANDLE,两个数相异或就是这个常数
|
|
板凳#
发布于:2003-05-12 14:32
这个常数根据环境会变吗?怎么在帮助里没有?
|
|
地板#
发布于:2003-05-12 15:40
这个常数在系统每次启动的时候随机产生
参考:windows95-system-programming-secrets 这本书里面有详细的解释 |
|
地下室#
发布于:2003-05-13 22:25
这个token是进程的句柄,就是getcurrentprocesshandle的结果,可以和一个常数进行异或得到进程的ID,这个常数是什么需要自己得到,通过应用程序把进程的ID传到VXD,然后VXD取当前HANDLE,两个数相异或就是这个常数 在应用程序中用CreateProcess创建一个进程后可以得到ProcessId,可我看到这个ProcessId和驱动(vxd)中OnDestroyProcess(DWORD ProcessToken)里的ProcessToken的值是相同的,还有pioreq->ir_pid和ProcessToken好像没有直接的关系似的. 可能是我理解错了,还请多指教 |
|
5楼#
发布于:2003-05-15 15:23
终于搞定了
多谢挑战者,else |
|