On 27 Jul 2005 16:37:18 +0200, you wrote:
Rein Klazes <wijn(a)wanadoo.nl> writes:
Girotel uses a 32 bit comm.dll located in the programs directory, which is also the current directory. After this change I need to add an dll override to load the program's comm.dll and not attempt the built-in comm.drv, which of course is not needed in Windows.
Is this a regression or an intentional change in behavior?
Since comm.drv is 16-bit and doesn't even have the same name, this shouldn't be an issue at all. Could you please send me some traces showing the problem?
This is +relay,+module trace with a recent (few days old) cvs and no specific dll overrides: | 0009:Call kernel32.LoadLibraryA(7ff08e08 "comm.dll") ret=6c4008c2 | 0009:Call ntdll.RtlInitAnsiString(7ba5f378,7ff08e08 "comm.dll") ret=7bb0deff | 0009:Ret ntdll.RtlInitAnsiString() retval=00000009 ret=7bb0deff | 0009:Call ntdll.RtlAnsiStringToUnicodeString(7be68bf8,7ba5f378,00000000) ret=7bb0df98 | 0009:Ret ntdll.RtlAnsiStringToUnicodeString() retval=00000000 ret=7bb0df98 | 0009:Call ntdll.RtlInitUnicodeString(7ba5f37c,7be68c00 L"comm.dll") ret=7bb2a8ed | 0009:Ret ntdll.RtlInitUnicodeString() retval=00000012 ret=7bb2a8ed | 0009:Call ntdll.RtlInitUnicodeString(7ba5f32c,7bb6fcc8 L"PATH") ret=7bb2a3ff | 0009:Ret ntdll.RtlInitUnicodeString() retval=0000000a ret=7bb2a3ff | 0009:Call ntdll.RtlQueryEnvironmentVariable_U(00000000,7ba5f32c,7ba5f324) ret=7bb2a433 | 0009:Ret ntdll.RtlQueryEnvironmentVariable_U() retval=c0000023 ret=7bb2a433 | 0009:Call ntdll.RtlAllocateHeap(7bbd0000,00000000,000000c0) ret=7bb171ad | 0009:Ret ntdll.RtlAllocateHeap() retval=7bca3d90 ret=7bb171ad | 0009:Call ntdll.RtlQueryEnvironmentVariable_U(00000000,7ba5f32c,7ba5f324) ret=7bb2a51a | 0009:Ret ntdll.RtlQueryEnvironmentVariable_U() retval=00000000 ret=7bb2a51a | 0009:Call ntdll.LdrLoadDll(7bca3d90 L"E:\\bin\\gt3\\GTWin;.;d:\\win98\\system;d:\\WIN98;d:\\windows;d:\\windows\\system;h:\\shared;r:\\x86\\Setup",00000000,7ba5f37c,7ba5f35c) ret=7bb2a7fd | trace:module:load_dll looking for L"comm.dll" in L"E:\\bin\\gt3\\GTWin;.;d:\\win98\\system;d:\\WIN98;d:\\windows;d:\\windows\\system;h:\\shared;r:\\x86\\Setup" | trace:module:MODULE_GetLoadOrderW looking for L"E:\\bin\\gt3\\GTWin\\comm.dll" | trace:module:open_app_key searching L"E:\\bin\\gt3\\GTWin\\comm" in L"Software\\Wine\\AppDefaults\\girotel.exe\\DllOverrides" | trace:module:MODULE_GetLoadOrderW got hardcoded default "b,n" for L"E:\\bin\\gt3\\GTWin\\comm.dll" | trace:module:load_dll Trying built-in L"E:\\bin\\gt3\\GTWin\\comm.dll" | warn:module:load_dll Failed to load module L"comm.dll"; status=c000007b | 0009:Ret ntdll.LdrLoadDll() retval=c000007b ret=7bb2a7fd | 0009:Call ntdll.RtlFreeHeap(7bbd0000,00000000,7bca3d90) ret=7bb171ed | 0009:Ret ntdll.RtlFreeHeap() retval=00000001 ret=7bb171ed | 0009:Call ntdll.RtlNtStatusToDosError(c000007b) ret=7bb2a83f | 0009:Ret ntdll.RtlNtStatusToDosError() retval=000000c1 ret=7bb2a83f | 0009:Ret kernel32.LoadLibraryA() retval=00000000 ret=6c4008c2 Same trace, just with that patch reversed: | 0009:Call kernel32.LoadLibraryA(7ff08e08 "comm.dll") ret=6c4008c2 | 0009:Call ntdll.RtlInitAnsiString(7ba5f378,7ff08e08 "comm.dll") ret=7bb0deff | 0009:Ret ntdll.RtlInitAnsiString() retval=00000009 ret=7bb0deff | 0009:Call ntdll.RtlAnsiStringToUnicodeString(7be68bf8,7ba5f378,00000000) ret=7bb0df98 | 0009:Ret ntdll.RtlAnsiStringToUnicodeString() retval=00000000 ret=7bb0df98 | 0009:Call ntdll.RtlInitUnicodeString(7ba5f37c,7be68c00 L"comm.dll") ret=7bb2a8ed | 0009:Ret ntdll.RtlInitUnicodeString() retval=00000012 ret=7bb2a8ed | 0009:Call ntdll.RtlInitUnicodeString(7ba5f32c,7bb6fcc8 L"PATH") ret=7bb2a3ff | 0009:Ret ntdll.RtlInitUnicodeString() retval=0000000a ret=7bb2a3ff | 0009:Call ntdll.RtlQueryEnvironmentVariable_U(00000000,7ba5f32c,7ba5f324) ret=7bb2a433 | 0009:Ret ntdll.RtlQueryEnvironmentVariable_U() retval=c0000023 ret=7bb2a433 | 0009:Call ntdll.RtlAllocateHeap(7bbd0000,00000000,000000c0) ret=7bb171ad | 0009:Ret ntdll.RtlAllocateHeap() retval=7bca7628 ret=7bb171ad | 0009:Call ntdll.RtlQueryEnvironmentVariable_U(00000000,7ba5f32c,7ba5f324) ret=7bb2a51a | 0009:Ret ntdll.RtlQueryEnvironmentVariable_U() retval=00000000 ret=7bb2a51a | 0009:Call ntdll.LdrLoadDll(7bca7628 L"E:\\bin\\gt3\\GTWin;.;d:\\win98\\system;d:\\WIN98;d:\\windows;d:\\windows\\system;h:\\shared;r:\\x86\\Setup",00000000,7ba5f37c,7ba5f35c) ret=7bb2a7fd | trace:module:load_dll looking for L"comm.dll" in L"E:\\bin\\gt3\\GTWin;.;d:\\win98\\system;d:\\WIN98;d:\\windows;d:\\windows\\system;h:\\shared;r:\\x86\\Setup" | trace:module:MODULE_GetLoadOrderW looking for L"E:\\bin\\gt3\\GTWin\\comm.dll" | trace:module:open_app_key searching L"E:\\bin\\gt3\\GTWin\\comm" in L"Software\\Wine\\AppDefaults\\girotel.exe\\DllOverrides" | trace:module:MODULE_GetLoadOrderW got hardcoded path default "n,b" for L"E:\\bin\\gt3\\GTWin\\comm.dll" | trace:module:load_dll Trying native dll L"E:\\bin\\gt3\\GTWin\\comm.dll" | trace:module:load_native_dll loading L"E:\\bin\\gt3\\GTWin\\comm.dll" <snip> | 0009:Ret PE DLL (proc=0x6006ae68,module=0x60040000 L"comm.dll",reason=PROCESS_ATTACH,res=(nil)) retval=1 | trace:module:process_attach (L"comm.dll",(nil)) - END | 0009:Ret ntdll.LdrLoadDll() retval=00000000 ret=7bb2a7fd | 0009:Call ntdll.RtlFreeHeap(7bbd0000,00000000,7bca7628) ret=7bb171ed | 0009:Ret ntdll.RtlFreeHeap() retval=00000001 ret=7bb171ed | 0009:Ret kernel32.LoadLibraryA() retval=60040000 ret=6c4008c2 Rein.