wow64

x64 modules in a wow64 process?

落爺英雄遲暮 提交于 2019-12-23 13:05:11
问题 I have a small 32bit process I'm debugging on win7 x64 and I see that it loads "C:\windows\sysWow64\ntdll.dll" as expected, but also "C:\windows\system32\ntdll.dll" . I know that x64 modules and x86 modules do not mix, but here they are... mixing... How can it be? 回答1: This is a special 'feature' of WOW64, see this article on MSDN. the relevant part is: The WOW64 emulator runs in user mode. It provides an interface between the 32-bit version of Ntdll.dll and the kernel of the processor, and

Why would os.path.exists(“C:\\windows\\system32\\inetsrv\\metaback”) return False even when it exists?

自古美人都是妖i 提交于 2019-12-22 04:11:20
问题 I've got a python program which is supposed to clean up a number of directories and one of them is C:\windows\system32\inetsrv\metaback ; however, os.path.exists() returns False on that directory even though it exists (and I have permissions to access it). What's interesting also is that the tool windirstat completely misses it as well. Can anyone think of a reason why this might be and what's another way I could check to see if it exist? I can't even seem to run os.listdir() on it. Update:

Runtime error (dll loading) with win32 applications on x64 system, while compiling 0K

江枫思渺然 提交于 2019-12-19 08:18:21
问题 I originally designed a win32 application on win7 32bits, with VC9.0. I recently upgraded to win7 64 bits, and tried to build+execute the previous application. Building runs fine (win32 application), but on runtime I get the error "[...] has exited with code -1073741701 (0xc000007b)." I guess this results of the loading of a 64bits version of an [intended] 32bits dll. Specific dependencies for this project are: SDL.lib SDLmain.lib SDL_ttf.lib opengl32.lib glu32.lib wininet.lib SDL and SDL_ttf

Runtime error (dll loading) with win32 applications on x64 system, while compiling 0K

无人久伴 提交于 2019-12-19 08:18:05
问题 I originally designed a win32 application on win7 32bits, with VC9.0. I recently upgraded to win7 64 bits, and tried to build+execute the previous application. Building runs fine (win32 application), but on runtime I get the error "[...] has exited with code -1073741701 (0xc000007b)." I guess this results of the loading of a 64bits version of an [intended] 32bits dll. Specific dependencies for this project are: SDL.lib SDLmain.lib SDL_ttf.lib opengl32.lib glu32.lib wininet.lib SDL and SDL_ttf

Delphi - On Screen Keyboard (osk.exe) works on Win32 but fails on Win64

纵然是瞬间 提交于 2019-12-18 06:49:29
问题 I'm trying to run the on screen keyboard from my application. It works correctly under Windows XP 32 bits, but incorrect under Win 7 64 bits. unit Unit5; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ShellAPI; type TForm5 = class(TForm) procedure FormCreate(Sender: TObject); private { Private declarations } public class function IsWOW64: Boolean; { Public declarations } end; var Form5: TForm5; implementation {$R *.dfm} procedure TForm5

Delphi - On Screen Keyboard (osk.exe) works on Win32 but fails on Win64

六月ゝ 毕业季﹏ 提交于 2019-12-18 06:49:21
问题 I'm trying to run the on screen keyboard from my application. It works correctly under Windows XP 32 bits, but incorrect under Win 7 64 bits. unit Unit5; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ShellAPI; type TForm5 = class(TForm) procedure FormCreate(Sender: TObject); private { Private declarations } public class function IsWOW64: Boolean; { Public declarations } end; var Form5: TForm5; implementation {$R *.dfm} procedure TForm5

VS2008: Unable to start debugging, Remote Debugging Monitor has been closed

て烟熏妆下的殇ゞ 提交于 2019-12-17 17:36:38
问题 I am getting a mysterious error from time to time that I just don't get. I can "fix" it by restarting Visual Studio 2008, but that isn't exactly a solution... It states the following: Error while trying to run project: Unable to start debugging. The Microsoft Visual Studio Remote Debugging Monitor has been closed on the remote machine. I am not doing anything remote, as far as I know... Just running regular debug, F5 style. What does it mean? How can I fix it? 回答1: If you are on a 64bit OS

Why is RegOpenKeyEx() returning error code 2 on Vista 64bit?

梦想与她 提交于 2019-12-17 16:01:14
问题 I was making the following call: result = RegOpenKeyEx(key, s, 0, KEY_READ, &key); (C++, Visual Studio 5, Vista 64bit). It is failing with error code 2 ("File not found") even though " regedit " shows that the key exists. This code has always worked on 32bit XP. Why is it "file not found" when it clearly is there? 回答1: I discovered that I could solve my problem using the flag: KEY_WOW64_64KEY , as in: result = RegOpenKeyEx(key, s, 0, KEY_READ|KEY_WOW64_64KEY, &key); For a full explanation: 32

How to open a WOW64 registry key from a 64-bit .NET application

巧了我就是萌 提交于 2019-12-17 06:37:10
问题 My .NET application (any-CPU) needs to read a registry value created by a 32-bit program. On 64-bit Windows this goes under the Wow6432Node key in the registry. I have read that you shouldn't hard-code to the Wow6432Node, so what's the right way to access it with .NET? 回答1: In the case where you explicitly need to read a value written by a 32 bit program in a 64 bit program, it's OK to hard code it. Simply because there really is no other option. I would of course abstract it out to a helper

Reading the registry and Wow6432Node key

会有一股神秘感。 提交于 2019-12-17 06:28:53
问题 I have some code that reads the registry and looks for a value in HKEY_LOCAL_MACHINE\Software\App\ but when running on 64-bit versions of Windows the value is under HKEY_LOCAL_MACHINE\Software\Wow6432Node\App\ . How should I best approach this? Do I need a 64-bit installer or should I rewrite my code to detect both places? 回答1: If you mark you C# program as x86 (and not Any CPU) then it will see HKEY_LOCAL_MACHINE\Software\Wow6432Node\App as HKEY_LOCAL_MACHINE\Software\App\ . A .NET program