Several Shell32 Stubs for Explorer on Win2k

Robert Shearman R.J.Shearman at warwick.ac.uk
Wed Dec 4 18:36:43 CST 2002


With this patch Explorer gets a bit further than it did before. It would
seem that Shell32.201 needs a bit more investigating as Explorer seems to
crash shortly after this is called. The only problem was that these ordinals
were already taken by named functions, but as these weren't implemented I
guessed that it would be ok.

Changelog:
- Add several Shell32 stubs used by Explorer
-------------- next part --------------
Index: wine/dlls/shell32/shell32.spec
===================================================================
RCS file: /home/wine/wine/dlls/shell32/shell32.spec,v
retrieving revision 1.59
diff -u -r1.59 shell32.spec
--- wine/dlls/shell32/shell32.spec	3 Dec 2002 21:36:22 -0000	1.59
+++ wine/dlls/shell32/shell32.spec	4 Dec 2002 22:37:04 -0000
@@ -178,8 +178,8 @@
  197 stub SHGlobalDefect
  198 stdcall SHAbortInvokeCommand () SHAbortInvokeCommand
  199 stub SHGetFileIcon
- 200 stub SHLocalAlloc
- 201 stub SHLocalFree
+ @   stub SHLocalAlloc
+ @   stub SHLocalFree
  202 stub SHLocalReAlloc
  203 stub AddCommasW
  204 stub ShortSizeFormatW
@@ -411,3 +411,7 @@
 @ stdcall SHGetFolderPathA(long long long long ptr)SHGetFolderPathA
 @ stdcall SHGetFolderPathW(long long long long ptr)SHGetFolderPathW
 @ stdcall SHGetFolderLocation(long long long long ptr)SHGetFolderLocation
+
+@ stdcall FixupOptionalComponents(long) FixupOptionalComponents
+200 stdcall SHELL32_200(ptr) SHELL32_200
+201 stdcall SHELL32_201(long) SHELL32_201
Index: wine/dlls/shell32/shellord.c
===================================================================
RCS file: /home/wine/wine/dlls/shell32/shellord.c,v
retrieving revision 1.106
diff -u -r1.106 shellord.c
--- wine/dlls/shell32/shellord.c	3 Dec 2002 21:36:22 -0000	1.106
+++ wine/dlls/shell32/shellord.c	4 Dec 2002 22:37:06 -0000
@@ -1389,3 +1389,61 @@
 
 	return hRes;
 }
+
+/*************************************************************************
+ * FixupOptionalComponents         [SHELL32.@]
+ *
+ * PARAMETERS
+ *
+ *    DWORD a - Haven't a clue (some sort of flag anyway)
+ */
+VOID WINAPI FixupOptionalComponents(DWORD a)
+{
+    FIXME("(0x%lx): stub\n", a);
+}
+
+/*************************************************************************
+ * SHELL32_200         [SHELL32.200]
+ *
+ * PARAMETERS
+ *
+ *    VOID * a - Some sort of COM interface
+ *
+ * NOTES
+ *
+ * Called by Win2k Explorer on startup. Appears to create Windows needed
+ * for DDE, etc. (Ie progman, DefaultIME, Shell_view)
+ */
+VOID * WINAPI SHELL32_200(VOID * a)
+{
+    FIXME("(%p): stub\n", a);
+
+    return NULL;
+}
+
+/*************************************************************************
+ * SHELL32_201         [SHELL32.201]
+ *
+ * PARAMETERS
+ *
+ *    VOID * a - Some sort of COM interface / implementation
+ *               (appears to be IUnknown [only AddRef is
+ *                called] + 20 DWORDS)
+ *
+ * NOTES
+ *
+ * Called by Win2k Explorer on startup. Appears to block
+ * while waiting for a thread message.
+ */
+VOID * WINAPI SHELL32_201(DWORD a)
+{
+    MSG msg;
+    FIXME("(0x%lx): stub\n", a);
+
+    while (TRUE)
+    {
+        PeekMessageW(&msg, NULL, 0, 0, 1);
+	FIXME("Don't know what to do with msg\n");
+    }
+    return NULL;
+}


More information about the wine-patches mailing list