From 910896b71f98d1875e1347e67e64ca2e1936fb5f Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Wed, 3 Dec 2003 04:44:52 +0000 Subject: [PATCH] Implemented RunDLL_CallEntry16. --- dlls/shell32/control.c | 21 ++++++++++++++++++--- dlls/shell32/shell32.spec | 2 +- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/dlls/shell32/control.c b/dlls/shell32/control.c index 6caad84f22a..b487eeb628e 100644 --- a/dlls/shell32/control.c +++ b/dlls/shell32/control.c @@ -27,6 +27,8 @@ #include "winbase.h" #include "wingdi.h" #include "winuser.h" +#include "wine/winbase16.h" +#include "wownt32.h" #include "wine/debug.h" #include "cpl.h" #include "wine/unicode.h" @@ -464,10 +466,23 @@ HRESULT WINAPI Control_FillCache_RunDLLW(HWND hWnd, HANDLE hModule, DWORD w, DWO * RunDLL_CallEntry16 [SHELL32.122] * the name is probably wrong */ -HRESULT WINAPI RunDLL_CallEntry16(DWORD v, DWORD w, DWORD x, DWORD y, DWORD z) +void WINAPI RunDLL_CallEntry16( DWORD proc, HWND hwnd, HINSTANCE inst, + LPCSTR cmdline, INT cmdshow ) { - FIXME("0x%04lx 0x%04lx 0x%04lx 0x%04lx 0x%04lx stub\n",v,w,x,y,z); - return 0; + WORD args[5]; + SEGPTR cmdline_seg; + + TRACE( "proc %lx hwnd %p inst %p cmdline %s cmdshow %d\n", + proc, hwnd, inst, debugstr_a(cmdline), cmdshow ); + + cmdline_seg = MapLS( cmdline ); + args[4] = HWND_16(hwnd); + args[3] = MapHModuleLS(inst); + args[2] = SELECTOROF(cmdline_seg); + args[1] = OFFSETOF(cmdline_seg); + args[0] = cmdshow; + WOWCallback16Ex( proc, WCB16_PASCAL, sizeof(args), args, NULL ); + UnMapLS( cmdline_seg ); } /************************************************************************* diff --git a/dlls/shell32/shell32.spec b/dlls/shell32/shell32.spec index b0a7365daa3..fd535f4bc5d 100644 --- a/dlls/shell32/shell32.spec +++ b/dlls/shell32/shell32.spec @@ -115,7 +115,7 @@ 119 stdcall IsLFNDrive(ptr) IsLFNDriveAW 120 stdcall FileMenu_AbortInitMenu () 121 stdcall SHFlushClipboard () - 122 stdcall RunDLL_CallEntry16 (long long long long long) #name wrong? + 122 stdcall -noname RunDLL_CallEntry16(long long long str long) #name wrong? 123 stdcall SHFreeUnusedLibraries () 124 stdcall FileMenu_AppendFilesForPidl(long ptr long) 125 stdcall FileMenu_AddFilesForPidl(long long long ptr long long ptr)