Win API VirtualQueryEx 函数,ERROR_BAD_LENGTH

发布于 2024-08-16 05:28:16 字数 262 浏览 15 评论 0原文

您好,我尝试调用 VirtualQueryEx 函数来获取有关内存保护的一些信息,但是我的代码给出了错误 0x18 (ERROR_BAD_LENGTH),我不知道我的代码出了什么问题;

代码片段:

PMEMORY_BASIC_INFORMATION alte;

VirtualQueryEx(processhandle,(LPVOID) (地址),alte,sizeof(PMEMORY_BASIC_INFORMATION));

感谢您的帮助

Hi I try to call the VirtualQueryEx function to get some Information about Memory Protection, however my code gives me error 0x18 (ERROR_BAD_LENGTH) and i dont know whats wrong with my code;

code snippet:

PMEMORY_BASIC_INFORMATION alte;

VirtualQueryEx(processhandle,(LPVOID) (address),alte,sizeof(PMEMORY_BASIC_INFORMATION));

thanks for your help

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

汹涌人海 2024-08-23 05:28:16

alte 需要声明为 MEMORY_BASIC_INFORMATION 而不是指向它的指针。

MEMORY_BASIC_INFORMATION alte;

VirtualQueryEx(processhandle,(LPVOID) (address),&alte,sizeof(MEMORY_BASIC_INFORMATION));

编辑:注意它的 sizeof(MEMORY_BASIC_INFORMATION) 而不是 sizeof(PMEMORY_BASIC_INFORMATION)。

其实还是这样写比较好

VirtualQueryEx(processhandle,(LPVOID) (address),&alte,sizeof(alte));

alte needes to by declared as MEMORY_BASIC_INFORMATION not a pointer to one.

MEMORY_BASIC_INFORMATION alte;

VirtualQueryEx(processhandle,(LPVOID) (address),&alte,sizeof(MEMORY_BASIC_INFORMATION));

edit: Note its sizeof(MEMORY_BASIC_INFORMATION) not sizeof(PMEMORY_BASIC_INFORMATION).

Actually, it's better to write this anyway

VirtualQueryEx(processhandle,(LPVOID) (address),&alte,sizeof(alte));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文