yuxuehu
驱动小牛
驱动小牛
  • 注册日期2002-05-13
  • 最后登录2008-04-03
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1811回复:5

vxd中一个进程结束时怎么得到pid

楼主#
更多 发布于:2003-05-11 17:53
Vtoolsd中有函数OnDestroyProcess(DWORD ProcessToken);
ProcessToken到底是什么?跟Pid有什么关系?
我想在这个函数中想得到这个进程的PID怎么办?
沙发#
发布于:2003-05-12 09:47
这个token是进程的句柄,就是getcurrentprocesshandle的结果,可以和一个常数进行异或得到进程的ID,这个常数是什么需要自己得到,通过应用程序把进程的ID传到VXD,然后VXD取当前HANDLE,两个数相异或就是这个常数
yuxuehu
驱动小牛
驱动小牛
  • 注册日期2002-05-13
  • 最后登录2008-04-03
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-05-12 14:32
这个常数根据环境会变吗?怎么在帮助里没有?
else
驱动小牛
驱动小牛
  • 注册日期2002-10-21
  • 最后登录2004-06-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-05-12 15:40
这个常数在系统每次启动的时候随机产生

参考:windows95-system-programming-secrets 这本书里面有详细的解释
yuxuehu
驱动小牛
驱动小牛
  • 注册日期2002-05-13
  • 最后登录2008-04-03
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-05-13 22:25
这个token是进程的句柄,就是getcurrentprocesshandle的结果,可以和一个常数进行异或得到进程的ID,这个常数是什么需要自己得到,通过应用程序把进程的ID传到VXD,然后VXD取当前HANDLE,两个数相异或就是这个常数


在应用程序中用CreateProcess创建一个进程后可以得到ProcessId,可我看到这个ProcessId和驱动(vxd)中OnDestroyProcess(DWORD ProcessToken)里的ProcessToken的值是相同的,还有pioreq->ir_pid和ProcessToken好像没有直接的关系似的.
可能是我理解错了,还请多指教
yuxuehu
驱动小牛
驱动小牛
  • 注册日期2002-05-13
  • 最后登录2008-04-03
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-05-15 15:23
终于搞定了
多谢挑战者,else
游客

返回顶部