OBJECT_ATTRIBUTES attr={sizeof(OBJECT_ATTRIBUTES), 0,NULL,NULL};
attr.Attributes=0;
pid=(ULONG)PsGetCurrentProcessId();
pd.UniqueProcess=(HANDLE)pid;
pd.UniqueThread=(HANDLE)-1;rc=NtOpenProcess(&han,PROCESS_DUP_HANDLE,&attr,&pd);为什么老是无法打开进程?总是返回STATUS_ACCESS_VIOLATION(0xc0000005)
参数换成 PROCESS_ALL_ACCESS也无法成功.
代码在中断级执行.
attr.Attributes=0;
pid=(ULONG)PsGetCurrentProcessId();
pd.UniqueProcess=(HANDLE)pid;
pd.UniqueThread=(HANDLE)-1;rc=NtOpenProcess(&han,PROCESS_DUP_HANDLE,&attr,&pd);为什么老是无法打开进程?总是返回STATUS_ACCESS_VIOLATION(0xc0000005)
参数换成 PROCESS_ALL_ACCESS也无法成功.
代码在中断级执行.
解决方案 »
- 莫名其妙的问题求助啊!!
- 求ProxyCap软件的实现方法。
- 请推荐DirectShow的书籍
- Visual C++2005里ATL.MFC.CLR区别
- 如何解决使用StretchBlt时的图象失真问题?使用SetStretchBltMode 可以解决这个问题么?
- SOCKET通信概念上的问题
- [项目]VC达人ActiveX达人COM达人乱入
- 怎样取得CListBox中指定Index的字符串的值??
- 用ATL编写COM,怎么实现持久属性,用<Param>可以赋值?
- ADOConnection Execute问题
- 关于RegEnumValue读注册表数值转换问题 (50分)急需解决
- 如何在对话框中动态加载位图
CLIENT_ID pd;
OBJECT_ATTRIBUTES attr={sizeof(OBJECT_ATTRIBUTES), 0, NULL, NULL};
attr.Attributes = 0;
pd.UniqueProcess=(HANDLE)PsGetCurrentProcessId();
pd.UniqueThread=(HANDLE)0;//这里改为0就OK啦!
rc = NtOpenProcess(&hProcee, PROCESS_DUP_HANDLE, &attr, &pd);