shell32: Move the RunDLL_CallEntry16 implementation to shell.dll.
This commit is contained in:
parent
c3e9de0b4c
commit
89df78e2c0
|
@ -612,3 +612,28 @@ HINSTANCE16 WINAPI ShellExecute16( HWND16 hWnd, LPCSTR lpOperation,
|
|||
return HINSTANCE_16( WOWShellExecute( HWND_32(hWnd), lpOperation, lpFile, lpParameters,
|
||||
lpDirectory, iShowCmd, SHELL_Execute16 ));
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
* RunDLL_CallEntry16
|
||||
*
|
||||
* Only exported from shell32 on Windows, probably imported
|
||||
* from shell through the 16/32 thunks.
|
||||
*/
|
||||
void WINAPI RunDLL_CallEntry16( DWORD proc, HWND hwnd, HINSTANCE inst, LPCSTR cmdline, INT cmdshow )
|
||||
{
|
||||
WORD args[5];
|
||||
SEGPTR cmdline_seg;
|
||||
|
||||
TRACE( "proc %x 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 );
|
||||
}
|
||||
|
|
|
@ -43,3 +43,7 @@
|
|||
# 402 _RUNDLLCHECKDRIVE
|
||||
|
||||
#32 WCI
|
||||
|
||||
################################################################
|
||||
# Wine extensions: functions needed by shell32
|
||||
@ stdcall -arch=win32 RunDLL_CallEntry16(long long ptr str long)
|
||||
|
|
|
@ -29,8 +29,6 @@
|
|||
#include "wingdi.h"
|
||||
#include "winuser.h"
|
||||
#include "winreg.h"
|
||||
#include "wine/winbase16.h"
|
||||
#include "wownt32.h"
|
||||
#include "wine/debug.h"
|
||||
#include "cpl.h"
|
||||
#include "wine/unicode.h"
|
||||
|
@ -878,32 +876,6 @@ HRESULT WINAPI Control_FillCache_RunDLLA(HWND hWnd, HANDLE hModule, DWORD w, DWO
|
|||
return Control_FillCache_RunDLLW(hWnd, hModule, w, x);
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
* RunDLL_CallEntry16 [SHELL32.122]
|
||||
* the name is probably wrong
|
||||
*/
|
||||
void WINAPI RunDLL_CallEntry16( DWORD proc, HWND hwnd, HINSTANCE inst,
|
||||
LPCSTR cmdline, INT cmdshow )
|
||||
{
|
||||
#ifdef __i386__
|
||||
WORD args[5];
|
||||
SEGPTR cmdline_seg;
|
||||
|
||||
TRACE( "proc %x 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 );
|
||||
#endif
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
* CallCPLEntry16 [SHELL32.166]
|
||||
*
|
||||
|
|
|
@ -114,7 +114,7 @@
|
|||
119 stdcall -noname IsLFNDrive(ptr) IsLFNDriveAW
|
||||
120 stdcall -noname FileMenu_AbortInitMenu()
|
||||
121 stdcall -noname SHFlushClipboard()
|
||||
122 stdcall -noname RunDLL_CallEntry16(long long long str long) #name wrong?
|
||||
122 stdcall -private @(long long long str long) shell.dll16.RunDLL_CallEntry16
|
||||
123 stdcall -noname SHFreeUnusedLibraries()
|
||||
124 stdcall -noname FileMenu_AppendFilesForPidl(long ptr long)
|
||||
125 stdcall -noname FileMenu_AddFilesForPidl(long long long ptr long long ptr)
|
||||
|
|
Loading…
Reference in New Issue