阅读:1087回复:5
困惑
我需要在驱动程序中调用ZwOpenThreadToken、ZwOpenProcessToken等函数,其中提到ThreadHandle、ProcessHandle等类型参数。
ZwOpenThreadToken的原开为: NTSYSAPI NTSTATUS NTAPI ZwOpenThreadToken ( IN HANDLE ThreadHandle, IN ACCESS_MASK DesiredAccess, IN BOOLEAN OpenAsSelf, OUT PHANDLE TokenHandle); ZwOpenProcessHandle的原形为: NTSYSAPI NTSTATUS NTAPI ZwOpenProcessToken ( IN HANDLE ProcessHandle, IN ACCESS_MASK DesiredAccess, OUT PHANDLE TokenHandle); 查DDK中HANDLE PsGetCurrentThreadId() 应该返回ID,PEPROCESS PsGetCurrentProcess() 返回指向进程的指针。 我分别将这两个函数的返回值作为ZwOpenThreadToken/ZwOpenProcessToken的参数,都返回status=0xC0000008(STATUS_INVALID_HANDLE), 那么这里的ProcessHandle或ThreadHandle可以通过什么方法得到呢?望高手指点。 |
|
|
沙发#
发布于:2002-06-23 18:12
刚看到
|
|
板凳#
发布于:2002-06-23 16:42
pjf, i give you a private message. can you check it?
|
|
地板#
发布于:2002-06-22 18:16
hoho,给了一个错误的链接,浪费Tom_lyd的感情,不好意思不好意思,haha,怪我没看清楚,原先感觉那个函数会在进程句柄表里建一个handle,今天仔细一看怎么变成了返回EPROCESS...
faint to death |
|
地下室#
发布于:2002-06-22 15:56
HANDLE PsGetCurrentThreadId() 应该返回ID
----- no, it\'s not ID. PEPROCESS PsGetCurrentProcess() ----- yes, you get process discript block. use it at once is ok, can not change it. |
|
5楼#
发布于:2002-06-22 14:00
http://www.chinawolf.com/~lu0/sys/20010616.html
-------------------------------------------------------------------- 对于驱动有了ID,怎样都好办。最麻烦的就是自己在进程句柄表里添加进程句柄同时加引用计数,还没可移植性,幸好NT提供了一些服务。 |
|