-
-
很简单的一段代码,枚举进程,就是一直错,求赐教
-
发表于:
2013-5-1 15:03
4454
-
status=ZwQuerySystemInformation(
SystemProcessesAndThreadsInformation,
NULL,
0,
&ulSize
);
if (status!=STATUS_INFO_LENGTH_MISMATCH)
{
return FALSE;
}
pSystemProcessList= ExAllocatePool(NonPagedPool,ulSize);
if (pSystemProcessList)
{
status=ZwQuerySystemInformation(
SystemProcessesAndThreadsInformation,
pSystemProcessList,
ulSize,
NULL
);
if (!NT_SUCCESS(status))
{
if (DebugOn)
KdPrint(("ZwQuerySystemInformation error:%x %d\r\n",status,RtlNtStatusToDosError(status)));
bRet = FALSE;
}
}
第一个ZwQuerySystemInformation获取需要的大小,返回是成功的。
进入了红色的分支,也就是第二次查询的时候失败了,郁闷啊。。。返回是长度不匹配的错误,也就是那个mismatch-length的错。
另外好像第一个获取大小的时候,那个ulsize好像有几次不一样大。。搞不懂。。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课