Moving some 16-bit code
Ge van Geldorp
gvg at reactos.com
Wed Sep 22 14:36:42 CDT 2004
dlls/shell32/control.c contains some 16-bit code (function RunDLL_CallEntry16),
which I would like to separate out. I wonder if the attached patch is the
correct way to do that?
On Win2k export 122 is just a stub. Maybe it would be ok to turn our export 122
into an empty function too?
Ge van Geldorp.
Index: control.c
===================================================================
RCS file: /home/wine/wine/dlls/shell32/control.c,v
retrieving revision 1.20
diff -u -r1.20 control.c
--- control.c 12 Jul 2004 19:50:56 -0000 1.20
+++ control.c 22 Sep 2004 19:28:18 -0000
@@ -456,30 +456,6 @@
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 )
-{
- 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 );
-}
-
/*************************************************************************
* CallCPLEntry16 [SHELL32.166]
*
Index: shell.c
===================================================================
RCS file: /home/wine/wine/dlls/shell32/shell.c,v
retrieving revision 1.61
diff -u -r1.61 shell.c
--- shell.c 15 Jun 2004 18:27:50 -0000 1.61
+++ shell.c 22 Sep 2004 19:28:18 -0000
@@ -657,3 +657,27 @@
return HINSTANCE_16(seiW.hInstApp);
}
+
+
+/*************************************************************************
+ * RunDLL_CallEntry16 [SHELL32.122]
+ * the name is probably wrong
+ */
+void WINAPI RunDLL_CallEntry16( DWORD proc, HWND hwnd, HINSTANCE inst,
+ LPCSTR cmdline, INT cmdshow )
+{
+ 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 );
+}
Index: shell32.spec
===================================================================
RCS file: /home/wine/wine/dlls/shell32/shell32.spec,v
retrieving revision 1.87
diff -u -r1.87 shell32.spec
--- shell32.spec 6 Sep 2004 20:24:10 -0000 1.87
+++ shell32.spec 22 Sep 2004 19:28:19 -0000
@@ -115,7 +115,6 @@
119 stdcall IsLFNDrive(ptr) IsLFNDriveAW
120 stdcall FileMenu_AbortInitMenu ()
121 stdcall SHFlushClipboard ()
- 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)
Index: shell.spec
===================================================================
RCS file: /home/wine/wine/dlls/shell32/shell.spec,v
retrieving revision 1.10
diff -u -r1.10 shell.spec
--- shell.spec 26 Sep 2003 04:32:20 -0000 1.10
+++ shell.spec 22 Sep 2004 19:28:19 -0000
@@ -29,6 +29,8 @@
102 pascal -ret16 RegisterShellHook(word word) RegisterShellHook16
103 pascal ShellHookProc(word word long) ShellHookProc16
+122 pascal RunDLL_CallEntry16(long long long str long) #name wrong?
+
157 stub RESTARTDIALOG
# 166 PICKICONDLG
More information about the wine-devel
mailing list