windows上的SYSWOW64:windows api如何实际处理32位应用程序?

windows上的SYSWOW64:windows api如何实际处理32位应用程序?,windows,kernel,Windows,Kernel,如果我编写win32 api并在windows 7 64位上运行它。加载程序将wow DLL加载到我的可执行文件中。 现在,如果我调用virtualAlloc api,它将传递到WOW64cpu.dll,它将cpu mod从32位转换为64位,并跳转到内核 如果virtualAlloc返回的64位指针不能转换为32位指针,我的32位可执行文件将如何处理它?您实际的编程问题是什么?您在64位操作系统上使用32位应用程序的VirtualAlloc时是否遇到问题?请显示遇到问题的代码,以便我们能够帮助

如果我编写win32 api并在windows 7 64位上运行它。加载程序将wow DLL加载到我的可执行文件中。 现在,如果我调用virtualAlloc api,它将传递到WOW64cpu.dll,它将cpu mod从32位转换为64位,并跳转到内核


如果virtualAlloc返回的64位指针不能转换为32位指针,我的32位可执行文件将如何处理它?

您实际的编程问题是什么?您在64位操作系统上使用32位应用程序的VirtualAlloc时是否遇到问题?请显示遇到问题的代码,以便我们能够帮助解决它。我只是想了解SysWow是如何工作的。内核是否必须知道执行系统调用的用户应用程序是32还是64?处理方式是否不同?或者它对内核是透明的?VirtualAlloc只是我想到的winapi的一个例子……我认为这个问题离题了。StackOverflow用于解决实际编程问题,而不是满足人们对事物如何工作的好奇心。这个问题似乎离题了,因为它不是一个实际的、可回答的问题。