shlwapi patch

Andreas Mohr andi at rhlx01.fht-esslingen.de
Sat Jun 29 13:50:07 CDT 2002


Hi all,

- stub for SHLWAPI.295 (create a URL shortcut ?)
- stub for SHLWAPI.394
- spelling fix in registry key (ouch !)
- minor cleanups

-- 
Andreas Mohr                        Stauferstr. 6, D-71272 Renningen, Germany
-------------- next part --------------
Determining best CVS host...
Using CVSROOT :pserver:cvs at rhlx01.fht-esslingen.de:/home/wine
Index: dlls/shlwapi/shlwapi.spec
===================================================================
RCS file: /home/wine/wine/dlls/shlwapi/shlwapi.spec,v
retrieving revision 1.38
diff -u -r1.38 shlwapi.spec
--- dlls/shlwapi/shlwapi.spec	21 Jun 2002 19:15:49 -0000	1.38
+++ dlls/shlwapi/shlwapi.spec	29 Jun 2002 18:49:30 -0000
@@ -294,7 +294,7 @@
 292 stub @
 293 stub @
 294 stdcall @(long long long long long) SHLWAPI_294
-295 stub @
+295 stdcall @(wstr ptr wstr wstr) SHLWAPI_295
 296 stub @
 297 stub @
 298 forward @ kernel32.WritePrivateProfileStringW
@@ -393,7 +393,7 @@
 391 stdcall @(ptr ptr ptr ptr ptr ) SHLWAPI_391
 392 stub @
 393 stub @
-394 stub @
+394 stdcall @(long long wstr long) SHLWAPI_394
 395 stub @
 396 stub @
 397 stub @
Index: dlls/shlwapi/ordinal.c
===================================================================
RCS file: /home/wine/wine/dlls/shlwapi/ordinal.c,v
retrieving revision 1.40
diff -u -r1.40 ordinal.c
--- dlls/shlwapi/ordinal.c	31 May 2002 23:40:52 -0000	1.40
+++ dlls/shlwapi/ordinal.c	29 Jun 2002 18:49:32 -0000
@@ -140,7 +140,7 @@
 
 /*
  NOTES: Most functions exported by ordinal seem to be superflous.
- The reason for these functions to be there is to provide a wraper
+ The reason for these functions to be there is to provide a wrapper
  for unicode functions to provide these functions on systems without
  unicode functions eg. win95/win98. Since we have such functions we just
  call these. If running Wine with native DLL's, some late bound calls may
@@ -565,7 +565,7 @@
 	return 1;
 #if 0
 	/* pseudo code extracted from relay trace */
-	RegOpenKeyA(HKLM, "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Aceepted Documents", &newkey);
+	RegOpenKeyA(HKLM, "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Accepted Documents", &newkey);
 	ret = 0;
 	i = 0;
 	size = 0;
@@ -582,8 +582,8 @@
 	    RegisterClipBoardFormatA(a4);
 	    i++;
 	}
-	hwnd1 = GetModuleHandleA("URLMON.DLL");
-	proc = GetProcAddress(hwnd1, "CreateFormatEnumerator");
+	hmod1 = GetModuleHandleA("URLMON.DLL");
+	proc = GetProcAddress(hmod1, "CreateFormatEnumerator");
 	HeapAlloc(??, 0, 0x14);
 	HeapAlloc(??, 0, 0x50);
 	LocalAlloc(0x40, 0x78);
@@ -601,8 +601,8 @@
 
 	HeapAlloc(40350000,00000000,00000014) retval=403fd0a8;
 	HeapAlloc(40350000,00000000,00000050) retval=403feb44;
-	hwnd1 = GetModuleHandleA("URLMON.DLL");
-	proc = GetProcAddress(hwnd1, "RegisterFormatEnumerator");
+	hmod1 = GetModuleHandleA("URLMON.DLL");
+	proc = GetProcAddress(hmod1, "RegisterFormatEnumerator");
 	/* 0x1a40c88c is in URLMON.DLL just before above proc
 	 * content is L"_EnumFORMATETC_"
 	 * label is d1
@@ -1497,7 +1497,7 @@
 /*************************************************************************
  *      @	[SHLWAPI.219]
  *
- * Seems to be "super" QueryInterface. Supplied with at table of interfaces
+ * Seems to be "super" QueryInterface. Supplied with a table of interfaces
  * and an array of IIDs and offsets into the table.
  *
  * NOTES
@@ -1804,7 +1804,24 @@
      * shlwapi.294(str1, str2, pStr, some_len, lpStr2);
      * shlwapi.PathRemoveBlanksW(pStr);
      */
-    ERR("('%s', '%s', '%s', %08lx, '%s'): stub!\n", str1, str2, pStr, some_len, lpStr2);
+    FIXME("('%s', '%s', '%s', %08lx, '%s'): stub!\n", str1, str2, pStr, some_len, lpStr2);
+    return TRUE;
+}
+
+/*************************************************************************
+ *      @	[SHLWAPI.295]
+ *
+ * Called by ICQ2000b install via SHDOCVW:
+ * str1: "InternetShortcut"
+ * x: some unknown pointer
+ * str2: "http://free.aol.com/tryaolfree/index.adp?139269"
+ * str3: "C:\\WINDOWS\\Desktop.new2\\Free AOL & Unlimited Internet.url"
+ *
+ * In short: this one maybe creates a desktop link :-)
+ */
+BOOL WINAPI SHLWAPI_295(LPWSTR str1, LPVOID x, LPWSTR str2, LPWSTR str3)
+{
+    FIXME("('%s', %p, '%s', '%s'), stub.\n", debugstr_w(str1), x, debugstr_w(str2), debugstr_w(str3));
     return TRUE;
 }
 
@@ -2218,9 +2235,21 @@
 }
 
 /*************************************************************************
+ *      @	[SHLWAPI.394]
+ *
+ * Called by ICQ2000b install via SHDOCVW
+ */
+LPVOID WINAPI SHLWAPI_394 (DWORD x, DWORD y, LPWSTR someURL, DWORD z)
+{
+	FIXME("(0x%08lx, 0x%08lx, '%s', 0x%08lx), stub.\n", x, y, debugstr_w(someURL), z);
+	return (LPVOID)0xdeadbee1;
+}
+
+/*************************************************************************
  *      @	[SHLWAPI.413]
  *
  * Function unknown seems to always to return 0
+ * x can be 0x3.
  */
 DWORD WINAPI SHLWAPI_413 (DWORD x)
 {


More information about the wine-patches mailing list