-
-
[讨论]NtQuerySystemInformation在64位系统下编译32位程序
-
发表于: 2009-7-6 09:25 5451
-
环境:windows xp 64位操作系统 + VS2008
目的:调用NtQuerySystemInformation枚举系统信息,最终编译成32位应用程序
函数原型:
typedef NTSTATUS NtQuerySystemInformation
(
SYSTEM_INFORMATION_CLASS SystemInformationClass;
PVOID SystemInformation;
ULONG SystemInformationLength;
PULONG ReturnLength
);
问题:
(1)第一次调用NtQuerySystemInformation,传入的SystemInformationLength为20(这个类型的长度在64位下为32),结果ReturnLength返回为0;
(2)修改SystemInformationLength为32,调用返回ReturnLength不为0,但是返回的SystemInformation的结构错误,并没有完整的系统信息。
哪位大牛有遇到小弟同样的错误的,请给个提示,谢过!
目的:调用NtQuerySystemInformation枚举系统信息,最终编译成32位应用程序
函数原型:
typedef NTSTATUS NtQuerySystemInformation
(
SYSTEM_INFORMATION_CLASS SystemInformationClass;
PVOID SystemInformation;
ULONG SystemInformationLength;
PULONG ReturnLength
);
问题:
(1)第一次调用NtQuerySystemInformation,传入的SystemInformationLength为20(这个类型的长度在64位下为32),结果ReturnLength返回为0;
(2)修改SystemInformationLength为32,调用返回ReturnLength不为0,但是返回的SystemInformation的结构错误,并没有完整的系统信息。
哪位大牛有遇到小弟同样的错误的,请给个提示,谢过!
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
赞赏
他的文章
看原图
赞赏
雪币:
留言: