Hi, all
I found that WINEDEBUG=+relay works by dlls/ntdll/relay.c and I'm trying to catch function call of dlls.
Wine doc says relay supports user32, ntdll, etc, but not gdi32. However when I run wine, some gdi32 calls are caught, e.g, CreateBitmap() But some aren't caught, e.g, CreateBitmapIndirect()
--------------------------------------------------------------------------------------------------------- $ WINEDEBU+relay wine notepad.exe
trace:bitmap:CreateBitmapIndirect 8x8, 2 colors returning 0x220 [relay_call:12] 000d:Ret gdi32.CreateBitmap() retval=00000220 ret=68849be9 ---------------------------------------------------------------------------------------------------------
Both are gdi32 export function. Do you know why? I want to catch all gdi32 function calls.
Thanks in advance. Hayan
Wine doc says relay supports user32, ntdll, etc, but not gdi32. However when I run wine, some gdi32 calls are caught, e.g, CreateBitmap() But some aren't caught, e.g, CreateBitmapIndirect()
IIRC, calls across dlls are caught by +relay, but calls within the same dll are not. --Juan
On 07/01/2010 12:55 PM, Hayan Lee wrote:
Wine doc says relay supports user32, ntdll, etc, but not gdi32. However when I run wine, some gdi32 calls are caught, e.g, CreateBitmap() But some aren't caught, e.g, CreateBitmapIndirect()
See RelayFromExclude in http://wiki.winehq.org/UsefulRegistryKeys that will exclude all internal calls to listed dlls from relay output.
Default Wine setup has that key set to "winex11.drv;user32;gdi32;advapi32;kernel32".
Also note that some exports are marked as -norelay in .spec file. You won't get any relay output for such functions.
Vitaliy.