[Shlwapi] Convert Ordinals To Their Real Names

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

This patch converts implemented ordinals of the form SHLWAPI_123 to their 
proper names. I wrote a little program based on winedump to lookup the 
address of the exported ordinals in debug symbols freely available from 
Microsoft. I will shortly be doing the same for other modules with cryptic 
ordinals too. 
However, I couldn't change some of the ordinals as they would have conflicted 
with the C COM macros we use.

Rob

Changelog:
- Convert ordinals to their real names
- Partially implement a few Assoc* functions

P.S. I apologize for disrupting any outstanding work that anyone has on 
Shlwapi, but I thought it best to do this work now while other potentially 
disrupting work is going on so that you only have to merge your changes once.
? wine/dlls/shlwapi/.cvsignore
Index: wine/dlls/shlwapi/assoc.c
===================================================================
RCS file: /home/wine/wine/dlls/shlwapi/assoc.c,v
retrieving revision 1.6
diff -u -r1.6 assoc.c
--- wine/dlls/shlwapi/assoc.c	5 Sep 2003 23:08:30 -0000	1.6
+++ wine/dlls/shlwapi/assoc.c	10 Sep 2003 11:51:39 -0000
@@ -60,6 +60,8 @@
 {
   ICOM_VFIELD(IQueryAssociations);
   LONG ref;
+  HKEY hkeySource;
+  HKEY hkeyProgID;
 } IQueryAssociationsImpl;
 
 static struct ICOM_VTABLE(IQueryAssociations) IQueryAssociations_vtbl;
@@ -76,6 +78,8 @@
   iface =(IQueryAssociationsImpl*)HeapAlloc(GetProcessHeap(),0,sizeof(IQueryAssociationsImpl));
   iface->lpVtbl = &IQueryAssociations_vtbl;
   iface->ref = 1;
+  iface->hkeySource = NULL;
+  iface->hkeyProgID = NULL;
 
   TRACE("Returning IQueryAssociations* %p\n", iface);
   return (IQueryAssociations*)iface;
@@ -113,7 +117,7 @@
 }
 
 /*************************************************************************
- * AssocCreate  [SHLWAPI.253]
+ * AssocCreate  [SHLWAPI.@]
  *
  * Create a new IQueryAssociations object.
  *
@@ -156,7 +160,7 @@
 }
 
 /*************************************************************************
- * AssocQueryKeyW  [SHLWAPI.255]
+ * AssocQueryKeyW  [SHLWAPI.@]
  *
  * See AssocQueryKeyA.
  */
@@ -185,7 +189,7 @@
 }
 
 /*************************************************************************
- * AssocQueryKeyA  [SHLWAPI.254]
+ * AssocQueryKeyA  [SHLWAPI.@]
  *
  * Get a file association key from the registry.
  *
@@ -226,7 +230,7 @@
 }
 
 /*************************************************************************
- * AssocQueryStringW  [SHLWAPI.384]
+ * AssocQueryStringW  [SHLWAPI.@]
  *
  * See AssocQueryStringA.
  */
@@ -259,7 +263,7 @@
 }
 
 /*************************************************************************
- * AssocQueryStringA  [SHLWAPI.381]
+ * AssocQueryStringA  [SHLWAPI.@]
  *
  * Get a file association string from the registry.
  *
@@ -321,7 +325,7 @@
 }
 
 /*************************************************************************
- * AssocQueryStringByKeyW  [SHLWAPI.383]
+ * AssocQueryStringByKeyW  [SHLWAPI.@]
  *
  * See AssocQueryStringByKeyA.
  */
@@ -352,7 +356,7 @@
 }
 
 /*************************************************************************
- * AssocQueryStringByKeyA  [SHLWAPI.382]
+ * AssocQueryStringByKeyA  [SHLWAPI.@]
  *
  * Get a file association string from the registry, given a starting key.
  *
@@ -486,11 +490,11 @@
  * Initialise an IQueryAssociations object.
  *
  * PARAMS
- *  iface    [I] IQueryAssociations interface to initialise
- *  cfFlags  [I] ASSOCF_ flags from "shlwapi.h"
- *  pszAssoc [I] String for the root key name, or NULL if hkProgid is given
- *  hkProgid [I] Handle for the root key, or NULL if pszAssoc is given
- *  hWnd     [I] Reserved, must be NULL.
+ *  iface      [I] IQueryAssociations interface to initialise
+ *  cfFlags    [I] ASSOCF_ flags from "shlwapi.h"
+ *  pszAssoc   [I] String for the root key name, or NULL if hkProgid is given
+ *  hkeyProgid [I] Handle for the root key, or NULL if pszAssoc is given
+ *  hWnd       [I] Reserved, must be NULL.
  *
  * RETURNS
  *  Success: S_OK. iface is initialised with the parameters given.
@@ -500,14 +504,53 @@
   IQueryAssociations *iface,
   ASSOCF cfFlags,
   LPCWSTR pszAssoc,
-  HKEY hkProgid,
+  HKEY hkeyProgid,
   HWND hWnd)
 {
-  ICOM_THIS(IQueryAssociationsImpl, iface);
-
-  FIXME("(%p,0x%8lx,%s,%p,%p)-stub!\n", This, cfFlags,
-        debugstr_w(pszAssoc), hkProgid, hWnd);
-  return E_NOTIMPL;
+    static const WCHAR szProgID[] = {'P','r','o','g','I','D',0};
+    ICOM_THIS(IQueryAssociationsImpl,iface);
+    HRESULT hr;
+
+    TRACE("(%p)->(%ld,%s,%p,%p)\n", iface,
+                                    cfFlags,
+                                    debugstr_w(pszAssoc),
+                                    hkeyProgid,
+                                    hWnd);
+    if (hWnd != NULL)
+        FIXME("hwnd != NULL not supported\n");
+    if (cfFlags != 0)
+    	FIXME("unsupported flags: %lx\n", cfFlags);
+    if (pszAssoc != NULL)
+    {
+        hr = RegOpenKeyExW(HKEY_CLASSES_ROOT,
+                           pszAssoc,
+                           0,
+                           KEY_READ,
+                           &This->hkeySource);
+        if (FAILED(hr))
+            return HRESULT_FROM_WIN32(ERROR_NO_ASSOCIATION);
+        /* if this is not a prog id */
+        if ((*pszAssoc == '.') || (*pszAssoc == '{'))
+        {
+            hr = RegOpenKeyExW(This->hkeySource,
+                               szProgID,
+                               0,
+                               KEY_READ,
+                               &This->hkeyProgID);
+            if (FAILED(hr))
+                FIXME("Don't know what to return\n");
+        }
+        else
+            This->hkeyProgID = This->hkeySource;
+        return S_OK;
+    }
+    else if (hkeyProgid != NULL)
+    {
+        This->hkeyProgID = hkeyProgid;
+        return S_OK;
+    }
+    else
+        return E_FAIL;
 }
 
 /**************************************************************************
Index: wine/dlls/shlwapi/clist.c
===================================================================
RCS file: /home/wine/wine/dlls/shlwapi/clist.c,v
retrieving revision 1.6
diff -u -r1.6 clist.c
--- wine/dlls/shlwapi/clist.c	5 Sep 2003 23:08:30 -0000	1.6
+++ wine/dlls/shlwapi/clist.c	10 Sep 2003 11:51:39 -0000
@@ -40,7 +40,7 @@
 /* ulId for contained SHLWAPI_CLIST items */
 #define CLIST_ID_CONTAINER (~0UL)
 
-HRESULT WINAPI SHLWAPI_20(LPSHLWAPI_CLIST*,LPCSHLWAPI_CLIST);
+HRESULT WINAPI SHAddDataBlock(LPSHLWAPI_CLIST*,LPCSHLWAPI_CLIST);
 
 /*************************************************************************
  * NextItem
@@ -73,17 +73,17 @@
  *
  *  The exposed API consists of:
  *
- *   SHLWAPI_17() Write a compact list to a stream,
+ *   SHWriteDataBlockList - Write a compact list to a stream,
  *
- *   SHLWAPI_18() Read and create a list from a stream,
+ *   SHReadDataBlockList - Read and create a list from a stream,
  *
- *   SHLWAPI_19() Free a list,
+ *   SHFreeDataBlockList - Free a list,
  *
- *   SHLWAPI_20() Insert a new item into a list,
+ *   SHAddDataBlock - Insert a new item into a list,
  *
- *   SHLWAPI_21() Remove an item from a list,
+ *   SHRemoveDataBlock - Remove an item from a list,
  *
- *   SHLWAPI_22() Find an item in a list.
+ *   SHFindDataBlock - Find an item in a list.
  *
  *  The compact list is stored packed into a memory array. Each element has a
  *  size and an associated ID. Elements must be less than 64k if the list is
@@ -95,7 +95,7 @@
  *
  *  These functions are slow for large objects and long lists.
  */
-HRESULT WINAPI SHLWAPI_17(IStream* lpStream, LPSHLWAPI_CLIST lpList)
+HRESULT WINAPI SHWriteDataBlockList(IStream* lpStream, LPSHLWAPI_CLIST lpList)
 {
   ULONG ulSize;
   HRESULT hRet = E_FAIL;
@@ -149,9 +149,9 @@
  *
  * NOTES
  *  When read from a file, list objects are limited in size to 64k.
- *  See SHLWAPI_17.
+ *  See SHWriteDataBlockList.
  */
-HRESULT WINAPI SHLWAPI_18(IStream* lpStream, LPSHLWAPI_CLIST* lppList)
+HRESULT WINAPI SHReadDataBlockList(IStream* lpStream, LPSHLWAPI_CLIST* lppList)
 {
   SHLWAPI_CLIST bBuff[128]; /* Temporary storage for new list item */
   ULONG ulBuffSize = sizeof(bBuff);
@@ -223,7 +223,7 @@
       if(FAILED(hRet) || ulRead != ulSize)
         break;
 
-      SHLWAPI_20(lppList, pItem); /* Insert Item */
+      SHAddDataBlock(lppList, pItem); /* Insert Item */
     }
   } while(1);
 
@@ -246,9 +246,9 @@
  *  Nothing.
  *
  * NOTES
- *  See SHLWAPI_17.
+ *  See SHWriteDataBlockList.
  */
-VOID WINAPI SHLWAPI_19(LPSHLWAPI_CLIST lpList)
+VOID WINAPI SHFreeDataBlockList(LPSHLWAPI_CLIST lpList)
 {
   TRACE("(%p)\n", lpList);
 
@@ -273,9 +273,9 @@
  *  If the size of the element to be inserted is less than the size of a
  *  SHLWAPI_CLIST node, or the Id for the item is CLIST_ID_CONTAINER,
  *  the call returns S_OK but does not actually add the element.
- *  See SHLWAPI_17.
+ *  See SHWriteDataBlockList.
  */
-HRESULT WINAPI SHLWAPI_20(LPSHLWAPI_CLIST* lppList, LPCSHLWAPI_CLIST lpNewItem)
+HRESULT WINAPI SHAddDataBlock(LPSHLWAPI_CLIST* lppList, LPCSHLWAPI_CLIST lpNewItem)
 {
   LPSHLWAPI_CLIST lpInsertAt = NULL;
   ULONG ulSize;
@@ -365,9 +365,9 @@
  *  Failure: FALSE, If any parameters are invalid, or the item was not found.
  *
  * NOTES
- *  See SHLWAPI_17.
+ *  See SHWriteDataBlockList.
  */
-BOOL WINAPI SHLWAPI_21(LPSHLWAPI_CLIST* lppList, ULONG ulId)
+BOOL WINAPI SHRemoveDataBlock(LPSHLWAPI_CLIST* lppList, ULONG ulId)
 {
   LPSHLWAPI_CLIST lpList = 0;
   LPSHLWAPI_CLIST lpItem = NULL;
@@ -435,9 +435,9 @@
  *  Failure: NULL
  *
  * NOTES
- *  See SHLWAPI_17.
+ *  See SHWriteDataBlockList.
  */
-LPSHLWAPI_CLIST WINAPI SHLWAPI_22(LPSHLWAPI_CLIST lpList, ULONG ulId)
+LPSHLWAPI_CLIST WINAPI SHFindDataBlock(LPSHLWAPI_CLIST lpList, ULONG ulId)
 {
   TRACE("(%p,%ld)\n", lpList, ulId);
 
Index: wine/dlls/shlwapi/istream.c
===================================================================
RCS file: /home/wine/wine/dlls/shlwapi/istream.c,v
retrieving revision 1.7
diff -u -r1.7 istream.c
--- wine/dlls/shlwapi/istream.c	5 Sep 2003 23:08:30 -0000	1.7
+++ wine/dlls/shlwapi/istream.c	10 Sep 2003 11:51:40 -0000
@@ -557,7 +557,7 @@
  *  TRUE:  If the stream has 0 length
  *  FALSE: Otherwise.
  */
-BOOL WINAPI SHLWAPI_166(IStream *lpStream)
+BOOL WINAPI SHIsEmptyStream(IStream *lpStream)
 {
   STATSTG statstg;
   BOOL bRet = TRUE;
@@ -630,7 +630,7 @@
  *  Success: S_OK. The current position within the stream is updated
  *  Failure: An HRESULT error code.
  */
-HRESULT WINAPI SHLWAPI_213(IStream *lpStream)
+HRESULT WINAPI IStream_Reset(IStream *lpStream)
 {
   LARGE_INTEGER zero;
   TRACE("(%p)\n", lpStream);
@@ -651,7 +651,7 @@
  *  Success: S_OK. lpulSize contains the size of the stream.
  *  Failure: An HRESULT error code.
  */
-HRESULT WINAPI SHLWAPI_214(IStream *lpStream, ULARGE_INTEGER* lpulSize)
+HRESULT WINAPI IStream_Size(IStream *lpStream, ULARGE_INTEGER* lpulSize)
 {
   STATSTG statstg;
   HRESULT hRet;
Index: wine/dlls/shlwapi/ordinal.c
===================================================================
RCS file: /home/wine/wine/dlls/shlwapi/ordinal.c,v
retrieving revision 1.72
diff -u -r1.72 ordinal.c
--- wine/dlls/shlwapi/ordinal.c	5 Sep 2003 23:08:30 -0000	1.72
+++ wine/dlls/shlwapi/ordinal.c	10 Sep 2003 11:51:43 -0000
@@ -135,10 +135,10 @@
 typedef HRESULT (WINAPI *fnpRegisterFormatEnumerator)(LPBC,IEnumFORMATETC*,DWORD);
 static fnpRegisterFormatEnumerator pRegisterFormatEnumerator;
 
-HRESULT WINAPI SHLWAPI_176(IUnknown*,REFGUID,REFIID,LPVOID*);
-HRESULT WINAPI SHLWAPI_363(HWND,IShellFolder*,LPCITEMIDLIST,BOOL);
-HRESULT WINAPI SHLWAPI_436(LPCWSTR,CLSID*);
-BOOL    WINAPI SHLWAPI_161(LPWSTR,DWORD);
+HRESULT WINAPI IUnknown_QueryService(IUnknown*,REFGUID,REFIID,LPVOID*);
+HRESULT WINAPI SHInvokeCommand(HWND,IShellFolder*,LPCITEMIDLIST,BOOL);
+HRESULT WINAPI CLSIDFromStringWrap(LPCWSTR,CLSID*);
+BOOL    WINAPI SHAboutInfoW(LPWSTR,DWORD);
 
 /*
  NOTES: Most functions exported by ordinal seem to be superflous.
@@ -221,11 +221,8 @@
  * the size of the map as the first DWORD of mapped data, and then offsetting
  * the view pointer returned by this size.
  *
- * SHLWAPI_7()/SHLWAPI_10() - Create/Destroy the shared memory handle
- * SHLWAPI_8()/SHLWAPI_9()  - Get/Release a pointer to the shared data
- * SHLWAPI_11()           - Helper function; Duplicate cross-process handles
-   */
-HSHARED WINAPI SHLWAPI_7 (DWORD dwProcId, DWORD dwSize, LPCVOID lpvData)
+ */
+HSHARED WINAPI SHAllocShared(DWORD dwProcId, DWORD dwSize, LPCVOID lpvData)
 {
   HANDLE hMap;
   LPVOID pMapped;
@@ -273,11 +270,9 @@
  * Success: A pointer to the shared memory
  * Failure: NULL
  *
- * NOTES
- * See SHLWAPI_7.
-   */
-PVOID WINAPI SHLWAPI_8 (HSHARED hShared, DWORD dwProcId)
-  {
+ */
+PVOID WINAPI SHLockShared(HSHARED hShared, DWORD dwProcId)
+{
   HSHARED hDup;
   LPVOID pMapped;
 
@@ -307,10 +302,8 @@
  * Success: TRUE
  * Failure: FALSE
  *
- * NOTES
- * See SHLWAPI_7.
  */
-BOOL WINAPI SHLWAPI_9 (LPVOID lpView)
+BOOL WINAPI SHUnlockShared(LPVOID lpView)
 {
   TRACE("(%p)\n", lpView);
   return UnmapViewOfFile((char *) lpView - sizeof(DWORD)); /* Include size */
@@ -329,10 +322,8 @@
  * Success: TRUE
  * Failure: FALSE
  *
- * NOTES
- * See SHLWAPI_7.
  */
-BOOL WINAPI SHLWAPI_10 (HSHARED hShared, DWORD dwProcId)
+BOOL WINAPI SHFreeShared(HSHARED hShared, DWORD dwProcId)
 {
   HSHARED hClose;
 
@@ -361,10 +352,8 @@
  * Success: A handle suitable for use by the dwDstProcId process.
  * Failure: A NULL handle.
  *
- * NOTES
- * See SHLWAPI_7.
  */
-HSHARED WINAPI SHLWAPI_11(HSHARED hShared, DWORD dwDstProcId, DWORD dwSrcProcId,
+HSHARED WINAPI SHMapHandle(HSHARED hShared, DWORD dwDstProcId, DWORD dwSrcProcId,
                           DWORD dwAccess, DWORD dwOptions)
 {
   HSHARED hRet;
@@ -391,7 +380,7 @@
  *  The enumerator is stored as a property of the web browser. If it does not
  *  yet exist, it is created and set before being registered.
  */
-HRESULT WINAPI SHLWAPI_13(LPBC lpBC, IUnknown *lpUnknown)
+HRESULT WINAPI RegisterDefaultAcceptHeaders(LPBC lpBC, IUnknown *lpUnknown)
 {
   static const WCHAR szProperty[] = { '{','D','0','F','C','A','4','2','0',
       '-','D','3','F','5','-','1','1','C','F', '-','B','2','1','1','-','0',
@@ -401,8 +390,10 @@
   HRESULT hRet;
   IWebBrowserApp* pBrowser = NULL;
 
+  TRACE("(%p, %p)\n", lpBC, lpUnknown);
+
   /* Get An IWebBrowserApp interface from  lpUnknown */
-  hRet = SHLWAPI_176(lpUnknown, &IID_IWebBrowserApp, &IID_IWebBrowserApp, (PVOID)&pBrowser);
+  hRet = IUnknown_QueryService(lpUnknown, &IID_IWebBrowserApp, &IID_IWebBrowserApp, (PVOID)&pBrowser);
   if (FAILED(hRet) || !pBrowser)
     return E_NOINTERFACE;
 
@@ -492,7 +483,7 @@
     if (FAILED(hRet))
     {
        IEnumFORMATETC_Release(pIEnumFormatEtc);
-       goto SHLWAPI_13_Exit;
+       goto RegisterDefaultAcceptHeaders_Exit;
     }
   }
 
@@ -526,7 +517,7 @@
     IUnknown_Release(V_UNKNOWN(&var));
   }
 
-SHLWAPI_13_Exit:
+RegisterDefaultAcceptHeaders_Exit:
   IWebBrowserApp_Release(pBrowser);
   return hRet;
 }
@@ -545,7 +536,7 @@
  *  Failure: E_FAIL, If any arguments are invalid, error occurred, or Explorer
  *           does not contain the setting.
  */
-HRESULT WINAPI SHLWAPI_14 (
+HRESULT WINAPI GetAcceptLanguagesA(
 	LPSTR langbuf,
 	LPDWORD buflen)
 {
@@ -596,7 +587,7 @@
  *
  * Unicode version of SHLWAPI_14.
  */
-HRESULT WINAPI SHLWAPI_15 (
+HRESULT WINAPI GetAcceptLanguagesW(
 	LPWSTR langbuf,
 	LPDWORD buflen)
 {
@@ -650,7 +641,7 @@
  * RETURNS
  *  The length of the string created.
  */
-INT WINAPI SHLWAPI_23(REFGUID guid, LPSTR lpszDest, INT cchMax)
+INT WINAPI SHStringFromGUIDA(REFGUID guid, LPSTR lpszDest, INT cchMax)
 {
   char xguid[40];
   INT iLen;
@@ -673,12 +664,12 @@
 /*************************************************************************
  *      @	[SHLWAPI.24]
  *
- * Unicode version of SHLWAPI_23.
+ * Unicode version of SHStringFromGUIDA.
  */
-INT WINAPI SHLWAPI_24(REFGUID guid, LPWSTR lpszDest, INT cchMax)
+INT WINAPI SHStringFromGUIDW(REFGUID guid, LPWSTR lpszDest, INT cchMax)
 {
   char xguid[40];
-  INT iLen = SHLWAPI_23(guid, xguid, cchMax);
+  INT iLen = SHStringFromGUIDA(guid, xguid, cchMax);
   
   if (iLen)
     MultiByteToWideChar(CP_ACP, 0, xguid, -1, lpszDest, cchMax);
@@ -697,7 +688,7 @@
  *  TRUE, if wc is alphabetic,
  *  FALSE otherwise.
  */
-BOOL WINAPI SHLWAPI_25(WCHAR wc)
+BOOL WINAPI IsCharAlphaWrapW(WCHAR wc)
 {
     return (get_char_typeW(wc) & C1_ALPHA) != 0;
 }
@@ -714,7 +705,7 @@
  *  TRUE, if wc is upper-case,
  *  FALSE otherwise.
  */
-BOOL WINAPI SHLWAPI_26(WCHAR wc)
+BOOL WINAPI IsCharUpperWrapW(WCHAR wc)
 {
     return (get_char_typeW(wc) & C1_UPPER) != 0;
 }
@@ -731,7 +722,7 @@
  *  TRUE, if wc is lower-case,
  *  FALSE otherwise.
  */
-BOOL WINAPI SHLWAPI_27(WCHAR wc)
+BOOL WINAPI IsCharLowerWrapW(WCHAR wc)
 {
     return (get_char_typeW(wc) & C1_LOWER) != 0;
 }
@@ -748,7 +739,7 @@
  *  TRUE, if wc is alphabetic or a digit,
  *  FALSE otherwise.
  */
-BOOL WINAPI SHLWAPI_28(WCHAR wc)
+BOOL WINAPI IsCharAlphaNumericWrapW(WCHAR wc)
 {
     return (get_char_typeW(wc) & (C1_ALPHA|C1_DIGIT)) != 0;
 }
@@ -765,7 +756,7 @@
  *  TRUE, if wc is a space,
  *  FALSE otherwise.
  */
-BOOL WINAPI SHLWAPI_29(WCHAR wc)
+BOOL WINAPI IsCharSpaceW(WCHAR wc)
 {
     return (get_char_typeW(wc) & C1_SPACE) != 0;
 }
@@ -783,7 +774,7 @@
  *  FALSE otherwise.
  *
  */
-BOOL WINAPI SHLWAPI_30(WCHAR wc)
+BOOL WINAPI IsCharBlankW(WCHAR wc)
 {
     return (get_char_typeW(wc) & C1_BLANK) != 0;
 }
@@ -800,7 +791,7 @@
  *  TRUE, if wc is punctuation,
  *  FALSE otherwise.
  */
-BOOL WINAPI SHLWAPI_31(WCHAR wc)
+BOOL WINAPI IsCharPunctW(WCHAR wc)
 {
     return (get_char_typeW(wc) & C1_PUNCT) != 0;
 }
@@ -817,7 +808,7 @@
  *  TRUE, if wc is a control character,
  *  FALSE otherwise.
  */
-BOOL WINAPI SHLWAPI_32(WCHAR wc)
+BOOL WINAPI IsCharCntrlW(WCHAR wc)
 {
     return (get_char_typeW(wc) & C1_CNTRL) != 0;
 }
@@ -834,7 +825,7 @@
  *  TRUE, if wc is a digit,
  *  FALSE otherwise.
  */
-BOOL WINAPI SHLWAPI_33(WCHAR wc)
+BOOL WINAPI IsCharDigitW(WCHAR wc)
 {
     return (get_char_typeW(wc) & C1_DIGIT) != 0;
 }
@@ -851,7 +842,7 @@
  *  TRUE, if wc is a hex digit,
  *  FALSE otherwise.
  */
-BOOL WINAPI SHLWAPI_34(WCHAR wc)
+BOOL WINAPI IsCharXDigitW(WCHAR wc)
 {
     return (get_char_typeW(wc) & C1_XDIGIT) != 0;
 }
@@ -860,7 +851,7 @@
  *      @	[SHLWAPI.35]
  *
  */
-BOOL WINAPI SHLWAPI_35(LPWSTR lpszStr, DWORD dwLen, LPVOID p3)
+BOOL WINAPI GetStringType3ExW(LPWSTR lpszStr, DWORD dwLen, LPVOID p3)
 {
     FIXME("(%s,0x%08lx,%p): stub\n", debugstr_w(lpszStr), dwLen, p3);
     return TRUE;
@@ -881,7 +872,7 @@
  *  Success: TRUE,  the item is inserted into the menu
  *  Failure: FALSE, if any parameter is invalid
  */
-BOOL WINAPI SHLWAPI_36(HMENU hMenu, UINT flags, UINT id, LPCWSTR str)
+BOOL WINAPI AppendMenuWrapW(HMENU hMenu, UINT flags, UINT id, LPCWSTR str)
 {
     TRACE("(%p,0x%08x,0x%08x,%s)\n",hMenu, flags, id, debugstr_w(str));
     return InsertMenuW(hMenu, -1, flags | MF_BITMAP, id, str);
@@ -902,7 +893,7 @@
  *  Success: The length of the returned text.
  *  Failure: 0.
  */
-INT WINAPI SHLWAPI_74(HWND hWnd, INT nItem, LPWSTR lpsDest,INT nDestLen)
+INT WINAPI GetDlgItemTextWrapW(HWND hWnd, INT nItem, LPWSTR lpsDest,INT nDestLen)
 {
   HWND hItem = GetDlgItem(hWnd, nItem);
 
@@ -927,7 +918,7 @@
  *  Success: TRUE.  The text of the dialog is set to lpszText.
  *  Failure: FALSE, Otherwise.
  */
-BOOL WINAPI SHLWAPI_138(HWND hWnd, INT iItem, LPCWSTR lpszText)
+BOOL WINAPI SetDlgItemTextWrapW(HWND hWnd, INT iItem, LPCWSTR lpszText)
 {
     HWND hWndItem = GetDlgItem(hWnd, iItem);
     if (hWndItem)
@@ -949,7 +940,7 @@
  *  A number greater than, less than or equal to 0 depending on whether
  *  lpszSrc is greater than, less than or equal to lpszCmp.
  */
-DWORD WINAPI SHLWAPI_151(LPCSTR lpszSrc, LPCSTR lpszCmp, INT len)
+DWORD WINAPI StrCmpNCA(LPCSTR lpszSrc, LPCSTR lpszCmp, INT len)
 {
     return strncmp(lpszSrc, lpszCmp, len);
 }
@@ -957,9 +948,9 @@
 /*************************************************************************
  *      @	[SHLWAPI.152]
  *
- * Unicode version of SHLWAPI_151.
+ * Unicode version of StrCmpNCA.
  */
-DWORD WINAPI SHLWAPI_152(LPCWSTR lpszSrc, LPCWSTR lpszCmp, INT len)
+DWORD WINAPI StrCmpNCW(LPCWSTR lpszSrc, LPCWSTR lpszCmp, INT len)
 {
     return strncmpW(lpszSrc, lpszCmp, len);
 }
@@ -978,7 +969,7 @@
  *  A number greater than, less than or equal to 0 depending on whether
  *  lpszSrc is greater than, less than or equal to lpszCmp.
  */
-DWORD WINAPI SHLWAPI_153(LPCSTR lpszSrc, LPCSTR lpszCmp, DWORD len)
+DWORD WINAPI StrCmpNICA(LPCSTR lpszSrc, LPCSTR lpszCmp, DWORD len)
 {
     return strncasecmp(lpszSrc, lpszCmp, len);
 }
@@ -986,9 +977,9 @@
 /*************************************************************************
  *      @	[SHLWAPI.154]
  *
- * Unicode version of SHLWAPI_153.
+ * Unicode version of StrCmpNICA.
  */
-DWORD WINAPI SHLWAPI_154(LPCWSTR lpszSrc, LPCWSTR lpszCmp, DWORD len)
+DWORD WINAPI StrCmpNICW(LPCWSTR lpszSrc, LPCWSTR lpszCmp, DWORD len)
 {
     return strncmpiW(lpszSrc, lpszCmp, len);
 }
@@ -1006,7 +997,7 @@
  *  A number greater than, less than or equal to 0 depending on whether
  *  lpszSrc is greater than, less than or equal to lpszCmp.
  */
-DWORD WINAPI SHLWAPI_155(LPCSTR lpszSrc, LPCSTR lpszCmp)
+DWORD WINAPI StrCmpCA(LPCSTR lpszSrc, LPCSTR lpszCmp)
 {
     return strcmp(lpszSrc, lpszCmp);
 }
@@ -1014,9 +1005,9 @@
 /*************************************************************************
  *      @	[SHLWAPI.156]
  *
- * Unicode version of SHLWAPI_155.
+ * Unicode version of StrCmpCA.
  */
-DWORD WINAPI SHLWAPI_156(LPCWSTR lpszSrc, LPCWSTR lpszCmp)
+DWORD WINAPI StrCmpCW(LPCWSTR lpszSrc, LPCWSTR lpszCmp)
 {
     return strcmpW(lpszSrc, lpszCmp);
 }
@@ -1034,7 +1025,7 @@
  *  A number greater than, less than or equal to 0 depending on whether
  *  lpszSrc is greater than, less than or equal to lpszCmp.
  */
-DWORD WINAPI SHLWAPI_157(LPCSTR lpszSrc, LPCSTR lpszCmp)
+DWORD WINAPI StrCmpICA(LPCSTR lpszSrc, LPCSTR lpszCmp)
 {
     return strcasecmp(lpszSrc, lpszCmp);
 }
@@ -1042,15 +1033,15 @@
 /*************************************************************************
  *      @	[SHLWAPI.158]
  *
- * Unicode version of SHLWAPI_157.
+ * Unicode version of StrCmpICA.
  */
-DWORD WINAPI SHLWAPI_158 (LPCWSTR lpszSrc, LPCWSTR lpszCmp)
+DWORD WINAPI StrCmpICW(LPCWSTR lpszSrc, LPCWSTR lpszCmp)
 {
     return strcmpiW(lpszSrc, lpszCmp);
 }
 
 /*************************************************************************
- *      SHLWAPI_160	[SHLWAPI.160]
+ *      @	[SHLWAPI.160]
  *
  * Get an identification string for the OS and explorer.
  *
@@ -1062,13 +1053,13 @@
  *  TRUE,  If the string was created successfully
  *  FALSE, Otherwise
  */
-BOOL WINAPI SHLWAPI_160(LPSTR lpszDest, DWORD dwDestLen)
+BOOL WINAPI SHAboutInfoA(LPSTR lpszDest, DWORD dwDestLen)
 {
   WCHAR buff[2084];
 
   TRACE("(%p,%ld)", lpszDest, dwDestLen);
 
-  if (lpszDest && SHLWAPI_161(buff, dwDestLen))
+  if (lpszDest && SHAboutInfoW(buff, dwDestLen))
   {
     WideCharToMultiByte(CP_ACP, 0, buff, -1, lpszDest, dwDestLen, NULL, NULL);
     return TRUE;
@@ -1077,11 +1068,11 @@
 }
 
 /*************************************************************************
- *      SHLWAPI_161	[SHLWAPI.161]
+ *      @	[SHLWAPI.161]
  *
- * Unicode version of SHLWAPI_160.
+ * Unicode version of SHAboutInfoA.
  */
-BOOL WINAPI SHLWAPI_161(LPWSTR lpszDest, DWORD dwDestLen)
+BOOL WINAPI SHAboutInfoW(LPWSTR lpszDest, DWORD dwDestLen)
 {
   static const WCHAR szIEKey[] = { 'S','O','F','T','W','A','R','E','\\',
     'M','i','c','r','o','s','o','f','t','\\','I','n','t','e','r','n','e','t',
@@ -1190,7 +1181,7 @@
  *  Success: The new length of the string. Any hanging lead bytes are removed.
  *  Failure: 0, if any parameters are invalid.
  */
-DWORD WINAPI SHLWAPI_162(LPSTR lpStr, DWORD size)
+DWORD WINAPI SHTruncateString(LPSTR lpStr, DWORD size)
 {
   if (lpStr && size)
   {
@@ -1227,7 +1218,7 @@
  *           E_NOINTERFACE, if lpUnknown does not support IOleCommandTarget.
  *           Otherwise, an error code from IOleCommandTarget_QueryStatus().
  */
-HRESULT WINAPI SHLWAPI_163(IUnknown* lpUnknown, REFGUID pguidCmdGroup,
+HRESULT WINAPI IUnknown_QueryStatus(IUnknown* lpUnknown, REFGUID pguidCmdGroup,
                            ULONG cCmds, OLECMD *prgCmds, OLECMDTEXT* pCmdText)
 {
   HRESULT hRet = E_FAIL;
@@ -1266,7 +1257,7 @@
  *           E_NOINTERFACE, if lpUnknown does not support IOleCommandTarget.
  *           Otherwise, an error code from IOleCommandTarget_Exec().
  */
-HRESULT WINAPI SHLWAPI_164(IUnknown* lpUnknown, REFGUID pguidCmdGroup,
+HRESULT WINAPI IUnknown_Exec(IUnknown* lpUnknown, REFGUID pguidCmdGroup,
                            DWORD nCmdID, DWORD nCmdexecopt, VARIANT* pvaIn,
                            VARIANT* pvaOut)
 {
@@ -1309,7 +1300,7 @@
  *  Any bits set in uiMask are cleared from the value, then any bits set in
  *  uiFlags are set in the value.
  */
-LONG WINAPI SHLWAPI_165(HWND hwnd, INT offset, UINT wMask, UINT wFlags)
+LONG WINAPI SHSetWindowBits(HWND hwnd, INT offset, UINT wMask, UINT wFlags)
 {
   LONG ret = GetWindowLongA(hwnd, offset);
   LONG newFlags = (wFlags & wMask) | (ret & ~wFlags);
@@ -1335,7 +1326,7 @@
  *  If hWndParent is NULL (desktop), the window style is changed to WS_POPUP.
  *  If hWndParent is NOT NULL then we set the WS_CHILD style.
  */
-HWND WINAPI SHLWAPI_167(HWND hWnd, HWND hWndParent)
+HWND WINAPI SHSetParentHwnd(HWND hWnd, HWND hWndParent)
 {
   TRACE("%p, %p\n", hWnd, hWndParent);
 
@@ -1343,9 +1334,9 @@
     return 0;
 
   if(hWndParent)
-    SHLWAPI_165(hWnd, GWL_STYLE, WS_CHILD, WS_CHILD);
+    SHSetWindowBits(hWnd, GWL_STYLE, WS_CHILD, WS_CHILD);
   else
-    SHLWAPI_165(hWnd, GWL_STYLE, WS_POPUP, WS_POPUP);
+    SHSetWindowBits(hWnd, GWL_STYLE, WS_POPUP, WS_POPUP);
 
   return SetParent(hWnd, hWndParent);
 }
@@ -1370,7 +1361,7 @@
  *           E_NOINTERFACE, if lpUnknown isn't an IConnectionPointContainer,
  *           Or an HRESULT error code if any call fails.
  */
-HRESULT WINAPI SHLWAPI_168(IUnknown* lpUnkSink, REFIID riid, BOOL bAdviseOnly,
+HRESULT WINAPI ConnectToConnectionPoint(IUnknown* lpUnkSink, REFIID riid, BOOL bAdviseOnly,
                            IUnknown* lpUnknown, LPDWORD lpCookie,
                            IConnectionPoint **lppCP)
 {
@@ -1421,16 +1412,19 @@
  * RETURNS
  *  Nothing.
  */
-DWORD WINAPI SHLWAPI_169 (IUnknown ** lpUnknown)
+DWORD WINAPI IUnknown_AtomicRelease(IUnknown ** lpUnknown)
 {
-        IUnknown *temp;
+    IUnknown *temp;
+
+    TRACE("(%p)\n",lpUnknown);
 
-	TRACE("(%p)\n",lpUnknown);
-	if(!lpUnknown || !*((LPDWORD)lpUnknown)) return 0;
-	temp = *lpUnknown;
-	*lpUnknown = NULL;
-	TRACE("doing Release\n");
-	return IUnknown_Release(temp);
+    if(!lpUnknown || !*((LPDWORD)lpUnknown)) return 0;
+    temp = *lpUnknown;
+    *lpUnknown = NULL;
+
+    TRACE("doing Release\n");
+    
+    return IUnknown_Release(temp);
 }
 
 /*************************************************************************
@@ -1445,7 +1439,7 @@
  *  Success: The next character after the '//' or the string if not present
  *  Failure: NULL, if lpszStr is NULL.
  */
-LPCSTR WINAPI SHLWAPI_170(LPCSTR lpszSrc)
+LPCSTR WINAPI PathSkipLeadingSlashesA(LPCSTR lpszSrc)
 {
   if (lpszSrc && lpszSrc[0] == '/' && lpszSrc[1] == '/')
     lpszSrc += 2;
@@ -1465,7 +1459,7 @@
  *   TRUE, If the interfaces come from the same object.
  *   FALSE Otherwise.
  */
-BOOL WINAPI SHLWAPI_171(IUnknown* lpInt1, IUnknown* lpInt2)
+BOOL WINAPI SHIsSameObject(IUnknown* lpInt1, IUnknown* lpInt2)
 {
   LPVOID lpUnknown1, lpUnknown2;
 
@@ -1508,7 +1502,7 @@
  *  lpUnknown is expected to support one of the following interfaces:
  *  IOleWindow(), IInternetSecurityMgrSite(), or IShellView().
  */
-HRESULT WINAPI SHLWAPI_172(IUnknown *lpUnknown, HWND *lphWnd)
+HRESULT WINAPI IUnknown_GetWindow(IUnknown *lpUnknown, HWND *lphWnd)
 {
   /* FIXME: Wine has no header for this object */
   static const GUID IID_IInternetSecurityMgrSite = { 0x79eac9ed,
@@ -1560,7 +1554,7 @@
  * RETURNS
  *  S_OK.
  */
-HRESULT WINAPI SHLWAPI_173(IUnknown *pUnk, ULONG arg)
+HRESULT WINAPI IUnknown_SetOwner(IUnknown *pUnk, ULONG arg)
 {
   static const GUID guid_173 = {
     0x5836fb00, 0x8187, 0x11cf, { 0xa1,0x2b,0x00,0xaa,0x00,0x4a,0xe8,0x37 }
@@ -1595,7 +1589,7 @@
  *           E_NOINTERFACE If p1 does not support the IPersist interface,
  *           Or an HRESULT error code.
  */
-DWORD WINAPI SHLWAPI_174(
+DWORD WINAPI IUnknown_SetSite(
         IUnknown *p1,     /* [in]   OLE object                          */
         LPVOID *p2)       /* [out]  ptr for call results */
 {
@@ -1644,7 +1638,7 @@
  *           E_NOINTERFACE If lpUnknown does not support IPersist,
  *           Or an HRESULT error code.
  */
-HRESULT WINAPI SHLWAPI_175 (IUnknown *lpUnknown, CLSID* lpClassId)
+HRESULT WINAPI IUnknown_GetClassID(IUnknown *lpUnknown, CLSID* lpClassId)
 {
   IPersist* lpPersist;
   HRESULT hRet = E_FAIL;
@@ -1681,7 +1675,7 @@
  * NOTES
  *  lpUnknown is expected to support the IServiceProvider interface.
  */
-HRESULT WINAPI SHLWAPI_176(IUnknown* lpUnknown, REFGUID sid, REFIID riid,
+HRESULT WINAPI IUnknown_QueryService(IUnknown* lpUnknown, REFGUID sid, REFIID riid,
                            LPVOID *lppOut)
 {
   IServiceProvider* pService = NULL;
@@ -1717,7 +1711,7 @@
 /*************************************************************************
  *      @	[SHLWAPI.177]
  *
- * Destroy a menu.
+ * Loads a popup menu.
  *
  * PARAMS
  *  hInst  [I] Instance handle
@@ -1727,7 +1721,7 @@
  *  Success: TRUE.
  *  Failure: FALSE.
  */
-BOOL WINAPI SHLWAPI_177(HINSTANCE hInst, LPCWSTR szName)
+BOOL WINAPI SHLoadMenuPopup(HINSTANCE hInst, LPCWSTR szName)
 {
   HMENU hMenu, hSubMenu;
 
@@ -1736,7 +1730,7 @@
     if ((hSubMenu = GetSubMenu(hMenu, 0)))
       RemoveMenu(hMenu, 0, MF_BYPOSITION);
 
-    DestroyMenu(hMenu); /* FIXME: Should be: SHLWAPI_426(hMenu); */
+    DestroyMenu(hMenu);
     return TRUE;
   }
   return FALSE;
@@ -1778,7 +1772,7 @@
  * NOTES
  *  The appropriate ASCII or Unicode function is called for the window.
  */
-void WINAPI SHLWAPI_178(HWND hWnd, UINT uiMsgId, WPARAM wParam, LPARAM lParam, BOOL bSend)
+void WINAPI SHPropagateMessage(HWND hWnd, UINT uiMsgId, WPARAM wParam, LPARAM lParam, BOOL bSend)
 {
   enumWndData data;
 
@@ -1811,7 +1805,7 @@
  *  Success: 0.  All sub-menus under hMenu are removed
  *  Failure: -1, if any parameter is invalid
  */
-DWORD WINAPI SHLWAPI_180(HMENU hMenu)
+DWORD WINAPI SHRemoveAllSubMenus(HMENU hMenu)
 {
   int iItemCount = GetMenuItemCount(hMenu) - 1;
   while (iItemCount >= 0)
@@ -1837,7 +1831,7 @@
  * RETURNS
  *  The return code from EnableMenuItem.
  */
-UINT WINAPI SHLWAPI_181(HMENU hMenu, UINT wItemID, BOOL bEnable)
+UINT WINAPI SHEnableMenuItem(HMENU hMenu, UINT wItemID, BOOL bEnable)
 {
   return EnableMenuItem(hMenu, wItemID, bEnable ? MF_ENABLED : MF_GRAYED);
 }
@@ -1855,7 +1849,7 @@
  * RETURNS
  *  The return code from CheckMenuItem.
  */
-DWORD WINAPI SHLWAPI_182(HMENU hMenu, UINT uID, BOOL bCheck)
+DWORD WINAPI SHCheckMenuItem(HMENU hMenu, UINT uID, BOOL bCheck)
 {
   return CheckMenuItem(hMenu, uID, bCheck ? MF_CHECKED : MF_UNCHECKED);
 }
@@ -1871,7 +1865,7 @@
  * RETURNS
  *  The result of the RegisterClassA call.
  */
-DWORD WINAPI SHLWAPI_183(WNDCLASSA *wndclass)
+DWORD WINAPI SHRegisterClassA(WNDCLASSA *wndclass)
 {
   WNDCLASSA wca;
   if (GetClassInfoA(wndclass->hInstance, wndclass->lpszClassName, &wca))
@@ -1892,7 +1886,7 @@
  *  Success: S_OK.
  *  Failure: An HRESULT error code, or E_FAIL if lpUnknown is NULL.
  */
-DWORD WINAPI SHLWAPI_187(IUnknown *lpUnknown, IPropertyBag* lpPropBag)
+DWORD WINAPI SHLoadFromPropertyBag(IUnknown *lpUnknown, IPropertyBag* lpPropBag)
 {
   IPersistPropertyBag* lpPPBag;
   HRESULT hRet = E_FAIL;
@@ -1925,7 +1919,7 @@
  *  Success: S_OK.
  *  Failure: An HRESULT error code, or E_FAIL if lpUnknown is NULL.
  */
-DWORD WINAPI SHLWAPI_189(IUnknown *lpUnknown, IDispatch** lppDisp)
+DWORD WINAPI IUnknown_OnFocusOCS(IUnknown *lpUnknown, IDispatch** lppDisp)
 {
   IOleControlSite* lpCSite;
   HRESULT hRet = E_FAIL;
@@ -1967,7 +1961,7 @@
  * RETURNS
  *  Nothing.
  */
-void WINAPI SHLWAPI_191(HWND hWnd, PVOID arg2, PVOID arg3, PVOID arg4, PVOID arg5, LPCWSTR lpszValue)
+void WINAPI SHMessageBoxCheckW(HWND hWnd, PVOID arg2, PVOID arg3, PVOID arg4, PVOID arg5, LPCWSTR lpszValue)
 {
   FIXME("(%p,%p,%p,%p,%p,%s) - stub!\n", hWnd, arg2, arg3, arg4, arg5, debugstr_w(lpszValue));
 
@@ -1991,7 +1985,7 @@
  * RETURNS
  *  The sub-menu of the item, or a NULL handle if any parameters are invalid.
  */
-HMENU WINAPI SHLWAPI_192(HMENU hMenu, UINT uID)
+HMENU WINAPI SHGetMenuFromID(HMENU hMenu, UINT uID)
 {
   MENUITEMINFOA mi;
 
@@ -2017,17 +2011,17 @@
  * RETURNS
  *  The color depth of the primary display.
  */
-DWORD WINAPI SHLWAPI_193 ()
+DWORD WINAPI SHGetCurColorRes()
 {
-	HDC hdc;
-	DWORD ret;
+    HDC hdc;
+    DWORD ret;
 
-	TRACE("()\n");
+    TRACE("()\n");
 
-	hdc = GetDC(0);
-	ret = GetDeviceCaps(hdc, BITSPIXEL) * GetDeviceCaps(hdc, PLANES);
-	ReleaseDC(0, hdc);
-	return ret;
+    hdc = GetDC(0);
+    ret = GetDeviceCaps(hdc, BITSPIXEL) * GetDeviceCaps(hdc, PLANES);
+    ReleaseDC(0, hdc);
+    return ret;
 }
 
 /*************************************************************************
@@ -2043,7 +2037,7 @@
  * RETURNS
  *  Nothing.
  */
-DWORD WINAPI SHLWAPI_197(HDC hDC, LPCRECT pRect, COLORREF cRef)
+DWORD WINAPI SHFillRectClr(HDC hDC, LPCRECT pRect, COLORREF cRef)
 {
     COLORREF cOldColor = SetBkColor(hDC, cRef);
     ExtTextOutA(hDC, 0, 0, ETO_OPAQUE, pRect, 0, 0, 0);
@@ -2063,12 +2057,12 @@
  * RETURNS
  *  Nothing.
  */
-VOID WINAPI SHLWAPI_199(IUnknown **lppDest, IUnknown *lpUnknown)
+VOID WINAPI IUnknown_Set(IUnknown **lppDest, IUnknown *lpUnknown)
 {
   TRACE("(%p,%p)\n", lppDest, lpUnknown);
 
   if (lppDest)
-    SHLWAPI_169(lppDest); /* Release existing interface */
+    IUnknown_AtomicRelease(lppDest); /* Release existing interface */
 
   if (lpUnknown)
   {
@@ -2082,7 +2076,7 @@
  *      @	[SHLWAPI.201]
  *
  */
-HRESULT WINAPI SHLWAPI_201(IUnknown* lpUnknown, INT iUnk, REFGUID pguidCmdGroup,
+HRESULT WINAPI MayExecForward(IUnknown* lpUnknown, INT iUnk, REFGUID pguidCmdGroup,
                            DWORD nCmdID, DWORD nCmdexecopt, VARIANT* pvaIn,
                            VARIANT* pvaOut)
 {
@@ -2095,7 +2089,7 @@
  *      @	[SHLWAPI.202]
  *
  */
-HRESULT WINAPI SHLWAPI_202(REFGUID pguidCmdGroup,ULONG cCmds, OLECMD *prgCmds)
+HRESULT WINAPI IsQSForward(REFGUID pguidCmdGroup,ULONG cCmds, OLECMD *prgCmds)
 {
   FIXME("(%p,%ld,%p) - stub!\n", pguidCmdGroup, cCmds, prgCmds);
   return DRAGDROP_E_NOTREGISTERED;
@@ -2114,7 +2108,7 @@
  * TRUE:  If hChild is a child window of hParent
  * FALSE: If hChild is not a child window of hParent, or they are equal
  */
-BOOL WINAPI SHLWAPI_204(HWND hParent, HWND hChild)
+BOOL WINAPI SHIsChildOrSelf(HWND hParent, HWND hChild)
 {
   TRACE("(%p,%p)\n", hParent, hChild);
 
@@ -2128,9 +2122,9 @@
 /*************************************************************************
  *      @	[SHLWAPI.208]
  *
- * Some sort of memory management process - associated with _210
+ * Some sort of memory management process.
  */
-DWORD WINAPI SHLWAPI_208 (
+DWORD WINAPI FDSA_Initialize(
 	DWORD    a,
 	DWORD    b,
 	LPVOID   c,
@@ -2145,9 +2139,9 @@
 /*************************************************************************
  *      @	[SHLWAPI.209]
  *
- * Some sort of memory management process - associated with _208
+ * Some sort of memory management process.
  */
-DWORD WINAPI SHLWAPI_209 (
+DWORD WINAPI FDSA_Destroy(
 	LPVOID   a)
 {
     FIXME("(%p) stub\n",
@@ -2158,9 +2152,9 @@
 /*************************************************************************
  *      @	[SHLWAPI.210]
  *
- * Some sort of memory management process - associated with _208
+ * Some sort of memory management process.
  */
-DWORD WINAPI SHLWAPI_210 (
+DWORD WINAPI FDSA_InsertItem(
 	LPVOID   a,
 	DWORD    b,
 	LPVOID   c)
@@ -2173,7 +2167,7 @@
 /*************************************************************************
  *      @	[SHLWAPI.211]
  */
-DWORD WINAPI SHLWAPI_211 (
+DWORD WINAPI FDSA_DeleteItem(
 	LPVOID   a,
 	DWORD    b)
 {
@@ -2188,7 +2182,7 @@
  * NOTES
  *  check me!
  */
-DWORD WINAPI SHLWAPI_215 (
+DWORD WINAPI SHAnsiToUnicode(
 	LPCSTR lpStrSrc,
 	LPWSTR lpwStrDest,
 	int len)
@@ -2217,7 +2211,7 @@
  *  Success: The number of characters that result from the conversion.
  *  Failure: 0.
  */
-INT WINAPI SHLWAPI_218(UINT CodePage, LPCWSTR lpSrcStr, LPSTR lpDstStr,
+INT WINAPI SHUnicodeToAnsiCP(UINT CodePage, LPCWSTR lpSrcStr, LPSTR lpDstStr,
                        LPINT lpnMultiCharCount)
 {
   WCHAR emptyW[] = { '\0' };
@@ -2260,7 +2254,7 @@
 
         if (pConvertINetUnicodeToMultiByte(&dwMode, CodePage, lpSrcStr, &len, mem, lpnMultiCharCount))
         {
-          SHLWAPI_162 (mem, *lpnMultiCharCount);
+          SHTruncateString(mem, *lpnMultiCharCount);
           lstrcpynA(lpDstStr, mem, *lpnMultiCharCount + 1);
           return *lpnMultiCharCount + 1;
         }
@@ -2289,7 +2283,7 @@
         reqLen = WideCharToMultiByte(CodePage, 0, lpSrcStr, len, mem,
                                      reqLen, NULL, NULL);
 
-        reqLen = SHLWAPI_162(mem, *lpnMultiCharCount);
+        reqLen = SHTruncateString(mem, *lpnMultiCharCount);
         reqLen++;
 
         lstrcpynA(lpDstStr, mem, *lpnMultiCharCount);
@@ -2312,16 +2306,16 @@
  *  lpnMultiCharCount [O] Input length of lpDstStr/destination for length of lpDstStr
  *
  * RETURNS
- *  See SHLWAPI_218.
+ *  See SHUnicodeToAnsiCP
 
  * NOTES
- *  This function simply calls SHLWAPI_218() with CodePage = CP_ACP.
+ *  This function simply calls SHUnicodeToAnsiCP with CodePage = CP_ACP.
  */
-INT WINAPI SHLWAPI_217(LPCWSTR lpSrcStr, LPSTR lpDstStr, INT MultiCharCount)
+INT WINAPI SHUnicodeToAnsi(LPCWSTR lpSrcStr, LPSTR lpDstStr, INT MultiCharCount)
 {
     INT myint = MultiCharCount;
 
-    return SHLWAPI_218(CP_ACP, lpSrcStr, lpDstStr, &myint);
+    return SHUnicodeToAnsiCP(CP_ACP, lpSrcStr, lpDstStr, &myint);
 }
 
 typedef struct {
@@ -2338,7 +2332,7 @@
  *  Success: S_OK.
  *  Failure: E_POINTER or E_NOINTERFACE.
  */
-HRESULT WINAPI SHLWAPI_219 (
+HRESULT WINAPI QISearch(
 	LPVOID w,           /* [in]   Table of interfaces */
 	IFACE_INDEX_TBL *x, /* [in]   Array of REFIIDs and indexes into the table */
 	REFIID riid,        /* [in]   REFIID to get interface for */
@@ -2390,7 +2384,7 @@
  * RETURNS
  *  A handle to the removed property, or NULL if it did not exist.
  */
-HANDLE WINAPI SHLWAPI_221(HWND hWnd)
+HANDLE WINAPI SHRemoveDefaultDialogFont(HWND hWnd)
 {
   HANDLE hProp;
 
@@ -2418,14 +2412,14 @@
  *  Success: A handle to the loaded server dll.
  *  Failure: A NULL handle.
  */
-HMODULE WINAPI SHLWAPI_236(REFIID refiid)
+HMODULE WINAPI SHPinDllOfCLSID(REFIID refiid)
 {
     HKEY newkey;
     DWORD type, count;
     CHAR value[MAX_PATH], string[MAX_PATH];
 
     strcpy(string, "CLSID\\");
-    SHLWAPI_23(refiid, string + 6, sizeof(string)/sizeof(char) - 6);
+    SHStringFromGUIDA(refiid, string + 6, sizeof(string)/sizeof(char) - 6);
     strcat(string, "\\InProcServer32");
 
     count = MAX_PATH;
@@ -2440,7 +2434,7 @@
  *
  * Unicode version of SHLWAPI_183.
  */
-DWORD WINAPI SHLWAPI_237 (WNDCLASSW * lpWndClass)
+DWORD WINAPI SHRegisterClassW(WNDCLASSW * lpWndClass)
 {
 	WNDCLASSW WndClass;
 
@@ -2452,7 +2446,7 @@
 }
 
 /*************************************************************************
- *      SHLWAPI_238	[SHLWAPI.238]
+ *      @	[SHLWAPI.238]
  *
  * Unregister a list of classes.
  *
@@ -2464,7 +2458,7 @@
  * RETURNS
  *  Nothing.
  */
-void WINAPI SHLWAPI_238(HINSTANCE hInst, LPCSTR *lppClasses, INT iCount)
+void WINAPI SHUnregisterClassesA(HINSTANCE hInst, LPCSTR *lppClasses, INT iCount)
 {
   WNDCLASSA WndClass;
 
@@ -2480,11 +2474,11 @@
 }
 
 /*************************************************************************
- *      SHLWAPI_239	[SHLWAPI.239]
+ *      @	[SHLWAPI.239]
  *
- * Unicode version of SHLWAPI_238.
+ * Unicode version of SHUnregisterClassesA.
  */
-void WINAPI SHLWAPI_239(HINSTANCE hInst, LPCWSTR *lppClasses, INT iCount)
+void WINAPI SHUnregisterClassesW(HINSTANCE hInst, LPCWSTR *lppClasses, INT iCount)
 {
   WNDCLASSW WndClass;
 
@@ -2513,7 +2507,7 @@
  * RETURNS
  *  The result of calling DefWindowProcA() or DefWindowProcW().
  */
-LRESULT CALLBACK SHLWAPI_240(HWND hWnd, UINT uMessage, WPARAM wParam, LPARAM lParam)
+LRESULT CALLBACK SHDefWindowProc(HWND hWnd, UINT uMessage, WPARAM wParam, LPARAM lParam)
 {
 	if (IsWindowUnicode(hWnd))
 		return DefWindowProcW(hWnd, uMessage, wParam, lParam);
@@ -2524,7 +2518,7 @@
  *      @	[SHLWAPI.241]
  *
  */
-DWORD WINAPI SHLWAPI_241 ()
+DWORD WINAPI StopWatchMode()
 {
 	FIXME("()stub\n");
 	return /* 0xabba1243 */ 0;
@@ -2547,7 +2541,7 @@
  *  Success: The window handle of the newly created window.
  *  Failure: 0.
  */
-HWND WINAPI SHLWAPI_257(LONG wndProc, HWND hWndParent, DWORD dwExStyle,
+HWND WINAPI SHCreateWorkerWindowA(LONG wndProc, HWND hWndParent, DWORD dwExStyle,
                         DWORD dwStyle, HMENU hMenu, LONG z)
 {
   static const char* szClass = "WorkerA";
@@ -2569,7 +2563,7 @@
   wc.lpszMenuName  = NULL;
   wc.lpszClassName = szClass;
 
-  SHLWAPI_183(&wc); /* Register class */
+  SHRegisterClassA(&wc); /* Register class */
 
   /* FIXME: Set extra bits in dwExStyle */
 
@@ -2613,7 +2607,7 @@
  * RETURNS
  *  the value associated with the registry key or 0 if not found
  */
-DWORD WINAPI SHLWAPI_271(LPCWSTR lpSubKey, LPCWSTR lpSubName, LPCWSTR lpValue)
+DWORD WINAPI SHGetRestriction(LPCWSTR lpSubKey, LPCWSTR lpSubName, LPCWSTR lpValue)
 {
 	DWORD retval, datsize = 4;
 	HKEY hKey;
@@ -2652,7 +2646,7 @@
  *  different POLICYDATA structure and implements a similar algorithme adapted to
  *  that structure.
  */
-DWORD WINAPI SHLWAPI_266 (
+DWORD WINAPI SHRestrictionLookup(
 	DWORD policy,
 	LPCWSTR initial,
 	LPPOLICYDATA polTable,
@@ -2671,7 +2665,7 @@
 
 	    /* check if this policy has been cached */
 		if (*polArr == SHELL_NO_POLICY)
-	      *polArr = SHLWAPI_271(initial, polTable->appstr, polTable->keystr);
+	      *polArr = SHGetRestriction(initial, polTable->appstr, polTable->keystr);
 	    return *polArr;
 	  }
 	}
@@ -2695,7 +2689,7 @@
  *   outer object. This function asks the inner object directly for the
  *   interface circumventing the forwarding to the outer object.
  */
-HRESULT WINAPI SHLWAPI_267 (
+HRESULT WINAPI SHWeakQueryInterface(
 	IUnknown * pUnk,   /* [in] Outer object */
 	IUnknown * pInner, /* [in] Inner object */
 	IID * riid, /* [in] Interface GUID to query for */
@@ -2725,7 +2719,7 @@
  * RETURNS
  *  Nothing.
  */
-VOID WINAPI SHLWAPI_268(IUnknown *lpDest, IUnknown **lppUnknown)
+VOID WINAPI SHWeakReleaseInterface(IUnknown *lpDest, IUnknown **lppUnknown)
 {
   TRACE("(%p,%p)\n", lpDest, lppUnknown);
 
@@ -2733,7 +2727,7 @@
   {
     /* Copy Reference*/
     IUnknown_AddRef(lpDest);
-    SHLWAPI_169(lppUnknown); /* Release existing interface */
+    IUnknown_AtomicRelease(lppUnknown); /* Release existing interface */
   }
 }
 
@@ -2750,21 +2744,21 @@
  *  Success: TRUE. id contains the converted CLSID.
  *  Failure: FALSE.
  */
-BOOL WINAPI SHLWAPI_269(LPCSTR idstr, CLSID *id)
+BOOL WINAPI GUIDFromStringA(LPCSTR idstr, CLSID *id)
 {
   WCHAR wClsid[40];
   MultiByteToWideChar(CP_ACP, 0, idstr, -1, wClsid, sizeof(wClsid)/sizeof(WCHAR));
-  return SUCCEEDED(SHLWAPI_436(wClsid, id));
+  return SUCCEEDED(CLSIDFromStringWrap(wClsid, id));
 }
 
 /*************************************************************************
  *      @	[SHLWAPI.270]
  *
- * Unicode version of SHLWAPI_269.
+ * Unicode version of GUIDFromStringA.
  */
-BOOL WINAPI SHLWAPI_270(LPCWSTR idstr, CLSID *id)
+BOOL WINAPI GUIDFromStringW(LPCWSTR idstr, CLSID *id)
 {
-  return SUCCEEDED(SHLWAPI_436(idstr, id));
+  return SUCCEEDED(CLSIDFromStringWrap(idstr, id));
 }
 
 /*************************************************************************
@@ -2785,7 +2779,7 @@
  *  either set to TRUE, or removed depending on whether the browser is deemed
  *  to be integrated.
  */
-DWORD WINAPI SHLWAPI_276()
+DWORD WINAPI WhichPlatform()
 {
   static LPCSTR szIntegratedBrowser = "IntegratedBrowser";
   static DWORD dwState = 0;
@@ -2828,9 +2822,9 @@
 /*************************************************************************
  *      @	[SHLWAPI.278]
  *
- * Unicode version of SHLWAPI_257.
+ * Unicode version of SHCreateWorkerWindowA.
  */
-HWND WINAPI SHLWAPI_278(LONG wndProc, HWND hWndParent, DWORD dwExStyle,
+HWND WINAPI SHCreateWorkerWindowW(LONG wndProc, HWND hWndParent, DWORD dwExStyle,
                         DWORD dwStyle, HMENU hMenu, LONG z)
 {
   static const WCHAR szClass[] = { 'W', 'o', 'r', 'k', 'e', 'r', 'W', '\0' };
@@ -2842,7 +2836,7 @@
 
   /* If our OS is natively ASCII, use the ASCII version */
   if (!(GetVersion() & 0x80000000))  /* NT */
-    return SHLWAPI_257(wndProc, hWndParent, dwExStyle, dwStyle, hMenu, z);
+    return SHCreateWorkerWindowA(wndProc, hWndParent, dwExStyle, dwStyle, hMenu, z);
 
   /* Create Window class */
   wc.style         = 0;
@@ -2856,7 +2850,7 @@
   wc.lpszMenuName  = NULL;
   wc.lpszClassName = szClass;
 
-  SHLWAPI_237(&wc); /* Register class */
+  SHRegisterClassW(&wc); /* Register class */
 
   /* FIXME: Set extra bits in dwExStyle */
 
@@ -2886,9 +2880,9 @@
  *  Success: S_OK.
  *  Failure: An HRESULT error code indicating the error.
  */
-HRESULT WINAPI SHLWAPI_279(HWND hWnd, IShellFolder* lpFolder, LPCITEMIDLIST lpApidl)
+HRESULT WINAPI SHInvokeDefaultCommand(HWND hWnd, IShellFolder* lpFolder, LPCITEMIDLIST lpApidl)
 {
-  return SHLWAPI_363(hWnd, lpFolder, lpApidl, FALSE);
+  return SHInvokeCommand(hWnd, lpFolder, lpApidl, FALSE);
 }
 
 /*************************************************************************
@@ -2896,7 +2890,7 @@
  *
  * _SHPackDispParamsV
  */
-HRESULT WINAPI SHLWAPI_281(LPVOID w, LPVOID x, LPVOID y, LPVOID z)
+HRESULT WINAPI SHPackDispParamsV(LPVOID w, LPVOID x, LPVOID y, LPVOID z)
 {
 	FIXME("%p %p %p %p\n",w,x,y,z);
 	return E_FAIL;
@@ -2905,10 +2899,10 @@
 /*************************************************************************
  *      @       [SHLWAPI.282]
  *
- * This function seems to be a forward to SHLWAPI.281 (whatever THAT
+ * This function seems to be a forward to SHPackDispParamsV (whatever THAT
  * function does...).
  */
-HRESULT WINAPI SHLWAPI_282(LPVOID w, LPVOID x, LPVOID y, LPVOID z)
+HRESULT WINAPI SHPackDispParams(LPVOID w, LPVOID x, LPVOID y, LPVOID z)
 {
   FIXME("%p %p %p %p\n", w, x, y, z);
   return E_FAIL;
@@ -2919,17 +2913,17 @@
  *
  * _IConnectionPoint_SimpleInvoke
  */
-DWORD WINAPI SHLWAPI_284 (
+DWORD WINAPI IConnectionPoint_SimpleInvoke(
 	LPVOID x,
 	LPVOID y,
 	LPVOID z)
 {
-        TRACE("(%p %p %p) stub\n",x,y,z);
+        FIXME("(%p %p %p) stub\n",x,y,z);
 	return 0;
 }
 
 /*************************************************************************
- *      SHLWAPI_285	[SHLWAPI.285]
+ *      @	[SHLWAPI.285]
  *
  * Notify an IConnectionPoint object of changes.
  *
@@ -2942,7 +2936,7 @@
  *  Failure: E_NOINTERFACE, if lpCP is NULL or does not support the
  *           IConnectionPoint interface.
  */
-HRESULT WINAPI SHLWAPI_285(IConnectionPoint* lpCP, DISPID dispID)
+HRESULT WINAPI IConnectionPoint_OnChanged(IConnectionPoint* lpCP, DISPID dispID)
 {
   IEnumConnections *lpEnum;
   HRESULT hRet = E_NOINTERFACE;
@@ -2977,7 +2971,7 @@
 }
 
 /*************************************************************************
- *      SHLWAPI_287	[SHLWAPI.287]
+ *      @	[SHLWAPI.287]
  *
  * Notify an IConnectionPointContainer object of changes.
  *
@@ -2990,7 +2984,7 @@
  *  Failure: E_NOINTERFACE, if lpUnknown is NULL or does not support the
  *           IConnectionPointContainer interface.
  */
-HRESULT WINAPI SHLWAPI_287(IUnknown *lpUnknown, DISPID dispID)
+HRESULT WINAPI IUnknown_CPContainerOnChanged(IUnknown *lpUnknown, DISPID dispID)
 {
   IConnectionPointContainer* lpCPC = NULL;
   HRESULT hRet = E_NOINTERFACE;
@@ -3007,7 +3001,7 @@
     hRet = IConnectionPointContainer_FindConnectionPoint(lpCPC, &IID_IPropertyNotifySink, &lpCP);
     IConnectionPointContainer_Release(lpCPC);
 
-    hRet = SHLWAPI_285(lpCP, dispID);
+    hRet = IConnectionPoint_OnChanged(lpCP, dispID);
     IConnectionPoint_Release(lpCP);
   }
   return hRet;
@@ -3018,7 +3012,7 @@
  *
  * See PlaySoundW.
  */
-BOOL WINAPI SHLWAPI_289(LPCWSTR pszSound, HMODULE hmod, DWORD fdwSound)
+BOOL WINAPI PlaySoundWrapW(LPCWSTR pszSound, HMODULE hmod, DWORD fdwSound)
 {
   GET_FUNC(pPlaySoundW, winmm, "PlaySoundW", FALSE);
   return pPlaySoundW(pszSound, hmod, fdwSound);
@@ -3027,7 +3021,7 @@
 /*************************************************************************
  *      @	[SHLWAPI.294]
  */
-BOOL WINAPI SHLWAPI_294(LPSTR str1, LPSTR str2, LPSTR pStr, DWORD some_len,  LPCSTR lpStr2)
+BOOL WINAPI SHGetIniStringW(LPSTR str1, LPSTR str2, LPSTR pStr, DWORD some_len,  LPCSTR lpStr2)
 {
     /*
      * str1:		"I"	"I"	pushl esp+0x20
@@ -3059,7 +3053,7 @@
  *
  * In short: this one maybe creates a desktop link :-)
  */
-BOOL WINAPI SHLWAPI_295(LPWSTR str1, LPVOID x, LPWSTR str2, LPWSTR str3)
+BOOL WINAPI SHSetIniStringW(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;
@@ -3070,7 +3064,7 @@
  *
  * See COMCTL32_417.
  */
-BOOL WINAPI SHLWAPI_299(HDC hdc, INT x, INT y, UINT flags, const RECT *lprect,
+BOOL WINAPI ExtTextOutWrapW(HDC hdc, INT x, INT y, UINT flags, const RECT *lprect,
                          LPCWSTR str, UINT count, const INT *lpDx)
 {
     GET_FUNC(pCOMCTL32_417, comctl32, (LPCSTR)417, FALSE);
@@ -3082,7 +3076,7 @@
  *
  * See SHGetFileInfoW.
  */
-DWORD WINAPI SHLWAPI_313(LPCWSTR path, DWORD dwFileAttributes,
+DWORD WINAPI SHGetFileInfoWrapW(LPCWSTR path, DWORD dwFileAttributes,
                          SHFILEINFOW *psfi, UINT sizeofpsfi, UINT flags)
 {
   GET_FUNC(pSHGetFileInfoW, shell32, "SHGetFileInfoW", 0);
@@ -3094,7 +3088,7 @@
  *
  * See DragQueryFileW.
  */
-UINT WINAPI SHLWAPI_318(HDROP hDrop, UINT lFile, LPWSTR lpszFile, UINT lLength)
+UINT WINAPI DragQueryFileWrapW(HDROP hDrop, UINT lFile, LPWSTR lpszFile, UINT lLength)
 {
   GET_FUNC(pDragQueryFileW, shell32, "DragQueryFileW", 0);
   return pDragQueryFileW(hDrop, lFile, lpszFile, lLength);
@@ -3105,7 +3099,7 @@
  *
  * See SHBrowseForFolderW.
  */
-LPITEMIDLIST WINAPI SHLWAPI_333(LPBROWSEINFOW lpBi)
+LPITEMIDLIST WINAPI SHBrowseForFolderWrapW(LPBROWSEINFOW lpBi)
 {
   GET_FUNC(pSHBrowseForFolderW, shell32, "SHBrowseForFolderW", NULL);
   return pSHBrowseForFolderW(lpBi);
@@ -3116,7 +3110,7 @@
  *
  * See SHGetPathFromIDListW.
  */
-BOOL WINAPI SHLWAPI_334(LPCITEMIDLIST pidl,LPWSTR pszPath)
+BOOL WINAPI SHGetPathFromIDListWrapW(LPCITEMIDLIST pidl,LPWSTR pszPath)
 {
   GET_FUNC(pSHGetPathFromIDListW, shell32, "SHGetPathFromIDListW", 0);
   return pSHGetPathFromIDListW(pidl, pszPath);
@@ -3127,7 +3121,7 @@
  *
  * See ShellExecuteExW.
  */
-BOOL WINAPI SHLWAPI_335(LPSHELLEXECUTEINFOW lpExecInfo)
+BOOL WINAPI ShellExecuteExWrapW(LPSHELLEXECUTEINFOW lpExecInfo)
 {
   GET_FUNC(pShellExecuteExW, shell32, "ShellExecuteExW", FALSE);
   return pShellExecuteExW(lpExecInfo);
@@ -3138,7 +3132,7 @@
  *
  * See SHFileOperationW.
  */
-HICON WINAPI SHLWAPI_336(LPSHFILEOPSTRUCTW lpFileOp)
+HICON WINAPI SHFileOperationWrapW(LPSHFILEOPSTRUCTW lpFileOp)
 {
   GET_FUNC(pSHFileOperationW, shell32, "SHFileOperationW", 0);
   return pSHFileOperationW(lpFileOp);
@@ -3149,7 +3143,7 @@
  *
  * See ExtractIconExW.
  */
-UINT WINAPI SHLWAPI_337(LPCWSTR lpszFile, INT nIconIndex, HICON *phiconLarge,
+UINT WINAPI ExtractIconExWrapW(LPCWSTR lpszFile, INT nIconIndex, HICON *phiconLarge,
                          HICON *phiconSmall, UINT nIcons)
 {
   GET_FUNC(pExtractIconExW, shell32, "ExtractIconExW", 0);
@@ -3168,7 +3162,7 @@
 /*************************************************************************
  *      @	[SHLWAPI.346]
  */
-DWORD WINAPI SHLWAPI_346 (
+DWORD WINAPI SHUnicodeToUnicode(
 	LPCWSTR src,
 	LPWSTR dest,
 	int len)
@@ -3183,7 +3177,7 @@
  *
  * See GetFileVersionInfoSizeW.
  */
-DWORD WINAPI SHLWAPI_350 (
+DWORD WINAPI GetFileVersionInfoSizeWrapW(
 	LPWSTR x,
 	LPVOID y)
 {
@@ -3199,7 +3193,7 @@
  *
  * See GetFileVersionInfoW.
  */
-BOOL  WINAPI SHLWAPI_351 (
+BOOL  WINAPI GetFileVersionInfoWrapW(
 	LPWSTR w,   /* [in] path to dll */
 	DWORD  x,   /* [in] parm 2 to GetFileVersionInfoA */
 	DWORD  y,   /* [in] return value from SHLWAPI_350() - assume length */
@@ -3214,7 +3208,7 @@
  *
  * See VerQueryValueW.
  */
-WORD WINAPI SHLWAPI_352 (
+WORD WINAPI VerQueryValueWrapW(
 	LPVOID w,   /* [in] Buffer from SHLWAPI_351() */
 	LPWSTR x,   /* [in]   Value to retrieve - converted and passed to VerQueryValueA() as #2 */
 	LPVOID y,   /* [out]  Ver buffer - passed to VerQueryValueA as #3 */
@@ -3229,7 +3223,7 @@
 #define EnableModeless(type) type##_EnableModeless((type*)lpObj, bModeless)
 
 /*************************************************************************
- *      SHLWAPI_355	[SHLWAPI.355]
+ *      @	[SHLWAPI.355]
  *
  * Change the modality of a shell object.
  *
@@ -3246,7 +3240,7 @@
  *  IInternetSecurityMgrSite interface, the IShellBrowser interface
  *  or the IDocHostUIHandler interface, or this call fails.
  */
-HRESULT WINAPI SHLWAPI_355(IUnknown *lpUnknown, BOOL bModeless)
+HRESULT WINAPI IUnknown_EnableModeless(IUnknown *lpUnknown, BOOL bModeless)
 {
   IUnknown *lpObj;
   HRESULT hRet;
@@ -3279,7 +3273,7 @@
  *
  * See SHGetNewLinkInfoW.
  */
-BOOL WINAPI SHLWAPI_357(LPCWSTR pszLinkTo, LPCWSTR pszDir, LPWSTR pszName,
+BOOL WINAPI SHGetNewLinkInfoWrapW(LPCWSTR pszLinkTo, LPCWSTR pszDir, LPWSTR pszName,
                         BOOL *pfMustCopy, UINT uFlags)
 {
   GET_FUNC(pSHGetNewLinkInfoW, shell32, "SHGetNewLinkInfoW", FALSE);
@@ -3291,7 +3285,7 @@
  *
  * See SHDefExtractIconW.
  */
-UINT WINAPI SHLWAPI_358(LPCWSTR pszIconFile, int iIndex, UINT uFlags, HICON* phiconLarge,
+UINT WINAPI SHDefExtractIconWrapW(LPCWSTR pszIconFile, int iIndex, UINT uFlags, HICON* phiconLarge,
                          HICON* phiconSmall, UINT nIconSize)
 {
   GET_FUNC(pSHDefExtractIconW, shell32, "SHDefExtractIconW", 0);
@@ -3314,7 +3308,7 @@
  *           executed.
  *  Failure: An HRESULT error code indicating the error.
  */
-HRESULT WINAPI SHLWAPI_363(HWND hWnd, IShellFolder* lpFolder, LPCITEMIDLIST lpApidl, BOOL bInvokeDefault)
+HRESULT WINAPI SHInvokeCommand(HWND hWnd, IShellFolder* lpFolder, LPCITEMIDLIST lpApidl, BOOL bInvokeDefault)
 {
   IContextMenu *iContext;
   HRESULT hRet = E_FAIL;
@@ -3376,7 +3370,7 @@
  * RETURNS
  *  TRUE.
  */
-DWORD WINAPI SHLWAPI_364(LPCSTR lpszSrc, LPSTR lpszDst, INT iLen)
+DWORD WINAPI DoesStringRoundTripA(LPCSTR lpszSrc, LPSTR lpszDst, INT iLen)
 {
   lstrcpynA(lpszDst, lpszSrc, iLen);
   return TRUE;
@@ -3387,7 +3381,7 @@
  *
  * See ExtractIconW.
  */
-HICON WINAPI SHLWAPI_370(HINSTANCE hInstance, LPCWSTR lpszExeFileName,
+HICON WINAPI ExtractIconWrapW(HINSTANCE hInstance, LPCWSTR lpszExeFileName,
                          UINT nIconIndex)
 {
   GET_FUNC(pExtractIconW, shell32, "ExtractIconW", NULL);
@@ -3397,7 +3391,7 @@
 /*************************************************************************
  *      @	[SHLWAPI.376]
  */
-LANGID WINAPI SHLWAPI_376 ()
+LANGID WINAPI MLGetUILanguage()
 {
     FIXME("() stub\n");
     /* FIXME: This should be a forward in the .spec file to the win2k function
@@ -3420,7 +3414,7 @@
  *  Success: A handle to the loaded module
  *  Failure: A NULL handle.
  */
-HMODULE WINAPI SHLWAPI_377 (LPCSTR new_mod, HMODULE inst_hwnd, DWORD dwFlags)
+HMODULE WINAPI MLLoadLibraryA(LPCSTR new_mod, HMODULE inst_hwnd, DWORD dwFlags)
 {
   /* FIXME: Native appears to do DPA_Create and a DPA_InsertPtr for
    *        each call here.
@@ -3457,9 +3451,9 @@
 /*************************************************************************
  *      @	[SHLWAPI.378]
  *
- * Unicode version of SHLWAPI_377
+ * Unicode version of MLLoadLibraryA.
  */
-DWORD WINAPI SHLWAPI_378 (LPCWSTR new_mod, HMODULE inst_hwnd, DWORD dwFlags)
+DWORD WINAPI MLLoadLibraryW(LPCWSTR new_mod, HMODULE inst_hwnd, DWORD dwFlags)
 {
     WCHAR mod_path[2*MAX_PATH];
     LPWSTR ptr;
@@ -3476,7 +3470,7 @@
 }
 
 /*************************************************************************
- * ColorAdjustLuma      [SHLWAPI.387]
+ * ColorAdjustLuma      [SHLWAPI.@]
  *
  * Adjust the luminosity of a color
  *
@@ -3512,7 +3506,7 @@
  *
  * See GetSaveFileNameW.
  */
-BOOL WINAPI SHLWAPI_389(LPOPENFILENAMEW ofn)
+BOOL WINAPI GetSaveFileNameWrapW(LPOPENFILENAMEW ofn)
 {
   GET_FUNC(pGetSaveFileNameW, comdlg32, "GetSaveFileNameW", FALSE);
   return pGetSaveFileNameW(ofn);
@@ -3523,7 +3517,7 @@
  *
  * See WNetRestoreConnectionW.
  */
-DWORD WINAPI SHLWAPI_390(HWND hwndOwner, LPWSTR lpszDevice)
+DWORD WINAPI WNetRestoreConnectionWrapW(HWND hwndOwner, LPWSTR lpszDevice)
 {
   GET_FUNC(pWNetRestoreConnectionW, mpr, "WNetRestoreConnectionW", 0);
   return pWNetRestoreConnectionW(hwndOwner, lpszDevice);
@@ -3534,7 +3528,7 @@
  *
  * See WNetGetLastErrorW.
  */
-DWORD WINAPI SHLWAPI_391(LPDWORD lpError, LPWSTR lpErrorBuf, DWORD nErrorBufSize,
+DWORD WINAPI WNetGetLastErrorWrapW(LPDWORD lpError, LPWSTR lpErrorBuf, DWORD nErrorBufSize,
                          LPWSTR lpNameBuf, DWORD nNameBufSize)
 {
   GET_FUNC(pWNetGetLastErrorW, mpr, "WNetGetLastErrorW", 0);
@@ -3546,7 +3540,7 @@
  *
  * See PageSetupDlgW.
  */
-BOOL WINAPI SHLWAPI_401(LPPAGESETUPDLGW pagedlg)
+BOOL WINAPI PageSetupDlgWrapW(LPPAGESETUPDLGW pagedlg)
 {
   GET_FUNC(pPageSetupDlgW, comdlg32, "PageSetupDlgW", FALSE);
   return pPageSetupDlgW(pagedlg);
@@ -3557,7 +3551,7 @@
  *
  * See PrintDlgW.
  */
-BOOL WINAPI SHLWAPI_402(LPPRINTDLGW printdlg)
+BOOL WINAPI PrintDlgWrapW(LPPRINTDLGW printdlg)
 {
   GET_FUNC(pPrintDlgW, comdlg32, "PrintDlgW", FALSE);
   return pPrintDlgW(printdlg);
@@ -3568,7 +3562,7 @@
  *
  * See GetOpenFileNameW.
  */
-BOOL WINAPI SHLWAPI_403(LPOPENFILENAMEW ofn)
+BOOL WINAPI GetOpenFileNameWrapW(LPOPENFILENAMEW ofn)
 {
   GET_FUNC(pGetOpenFileNameW, comdlg32, "GetOpenFileNameW", FALSE);
   return pGetOpenFileNameW(ofn);
@@ -3593,7 +3587,7 @@
 #define GET_RGB(h) (ConvertHue(h, wMid1, wMid2) * 255 + 120) / 240
 
 /*************************************************************************
- *      ColorHLSToRGB	[SHLWAPI.404]
+ *      ColorHLSToRGB	[SHLWAPI.@]
  *
  * Convert from hls color space into an rgb COLORREF.
  *
@@ -3637,7 +3631,7 @@
 /*************************************************************************
  *      @       [SHLWAPI.406]
  */
-DWORD WINAPI SHLWAPI_406(LPVOID u, LPVOID v, LPVOID w, LPVOID x, LPVOID y, LPVOID z)
+DWORD WINAPI MLBuildResURLW(LPVOID u, LPVOID v, LPVOID w, LPVOID x, LPVOID y, LPVOID z)
 {
   FIXME("%p %p %p %p %p %p\n", u, v, w, x, y, z);
   return 0;
@@ -3655,7 +3649,7 @@
  *  One of DOCKINFO_UNDOCKED, DOCKINFO_UNDOCKED, or 0 if the system is not
  *  a notebook.
  */
-DWORD WINAPI SHLWAPI_413(DWORD dwFlags)
+DWORD WINAPI SHGetMachineInfo(DWORD dwFlags)
 {
   HW_PROFILE_INFOA hwInfo;
 
@@ -3686,7 +3680,7 @@
  *  followed by the FreeLibrary.
  *  The above code may be related to .377 above.
  */
-BOOL WINAPI SHLWAPI_418(HMODULE hModule)
+BOOL WINAPI MLFreeLibrary(HMODULE hModule)
 {
 	FIXME("(%p) semi-stub\n", hModule);
 	return FreeLibrary(hModule);
@@ -3695,7 +3689,7 @@
 /*************************************************************************
  *      @	[SHLWAPI.430]
  */
-DWORD WINAPI SHLWAPI_430(HINSTANCE hInst, HANDLE hHeap)
+DWORD WINAPI MLSetMLHInstance(HINSTANCE hInst, HANDLE hHeap)
 {
 	FIXME("(%p,%p) stub\n", hInst, hHeap);
 	return E_FAIL;   /* This is what is used if shlwapi not loaded */
@@ -3704,7 +3698,7 @@
 /*************************************************************************
  *      @	[SHLWAPI.431]
  */
-DWORD WINAPI SHLWAPI_431 (DWORD x)
+DWORD WINAPI MLClearMLHInstance(DWORD x)
 {
 	FIXME("(0x%08lx)stub\n", x);
 	return 0xabba1247;
@@ -3731,7 +3725,7 @@
  *  This is a duplicate (with changes for Unicode) of CLSIDFromString16()
  *  in "dlls/ole32/compobj.c".
  */
-HRESULT WINAPI SHLWAPI_436(LPCWSTR idstr, CLSID *id)
+HRESULT WINAPI CLSIDFromStringWrap(LPCWSTR idstr, CLSID *id)
 {
 	LPCWSTR s = idstr;
 	BYTE *p;
@@ -3828,14 +3822,16 @@
  *  TRUE  If the feature is available.
  *  FALSE If the feature is not available.
  */
-DWORD WINAPI SHLWAPI_437 (DWORD feature)
+DWORD WINAPI IsOS(DWORD feature)
 {
   FIXME("(0x%08lx) stub\n", feature);
+  if (feature == 4)
+    return TRUE;
   return FALSE;
 }
 
 /*************************************************************************
- *      ColorRGBToHLS	[SHLWAPI.445]
+ *      ColorRGBToHLS	[SHLWAPI.@]
  *
  * Convert an rgb COLORREF into the hls color space.
  *
@@ -4018,7 +4014,7 @@
     {
       CLSID clsid;
 
-      if (SUCCEEDED(SHLWAPI_175(lpUnk, &clsid)) &&
+      if (SUCCEEDED(IUnknown_GetClassID(lpUnk, &clsid)) &&
           IsEqualGUID(pclsid, &clsid))
         bRet = TRUE;
 
@@ -4026,4 +4022,35 @@
     }
   }
   return bRet;
+}
+
+DWORD WINAPI SHGetShellKey(DWORD a, DWORD b, DWORD c)
+{
+    FIXME("(%lx, %lx, %lx): stub\n", a, b, c);
+    return 0x50;
+}
+
+HRESULT WINAPI SHQueueUserWorkItem(DWORD a, DWORD b, DWORD c, DWORD d, DWORD e, DWORD f, DWORD g)
+{
+    FIXME("(%lx, %lx, %lx, %lx, %lx, %lx, %lx): stub\n", a, b, c, d, e, f, g);
+    return E_FAIL;
+}
+
+DWORD WINAPI IUnknown_OnFocusChangeIS(IUnknown * pUnk, IUnknown * pFocusObject, BOOL bChange)
+{
+    FIXME("(%p, %p, %s)\n", pUnk, pFocusObject, bChange ? "TRUE" : "FALSE");
+
+/*
+    IInputObjectSite * pIOS = NULL;
+    if (SUCCEEDED(IUnknown_QueryInterface(pUnk, &IID_IInputObjectSite, (void **)&pIOS))
+        IInputObjectSite_OnFocusChangeIS(pIOS, pFocusObject, bChange);
+*/
+
+    return 0;
+}
+
+HRESULT WINAPI SKGetValueW(DWORD a, LPWSTR b, LPWSTR c, DWORD d, DWORD e, DWORD f)
+{
+    FIXME("(%lx, %s, %s, %lx, %lx, %lx): stub\n", a, debugstr_w(b), debugstr_w(c), d, e, f);
+    return E_FAIL;
 }
Index: wine/dlls/shlwapi/path.c
===================================================================
RCS file: /home/wine/wine/dlls/shlwapi/path.c,v
retrieving revision 1.36
diff -u -r1.36 path.c
--- wine/dlls/shlwapi/path.c	5 Sep 2003 23:08:30 -0000	1.36
+++ wine/dlls/shlwapi/path.c	10 Sep 2003 11:51:46 -0000
@@ -55,7 +55,7 @@
 typedef BOOL (WINAPI *fnpIsNetDrive)(int);
 static  fnpIsNetDrive pIsNetDrive;
 
-HRESULT WINAPI SHLWAPI_441(LPCWSTR,LPWSTR,DWORD);
+HRESULT WINAPI SHGetWebFolderFilePathW(LPCWSTR,LPWSTR,DWORD);
 
 /*************************************************************************
  * PathAppendA    [SHLWAPI.@]
@@ -1052,9 +1052,9 @@
 /*************************************************************************
  * @	[SHLWAPI.4]
  *
- * Unicode version of SHLWAPI_3.
+ * Unicode version of PathFileExistsDefExtA.
  */
-BOOL WINAPI SHLWAPI_4(LPWSTR lpszPath,DWORD dwWhich)
+BOOL WINAPI PathFileExistsDefExtW(LPWSTR lpszPath,DWORD dwWhich)
 {
   static const WCHAR pszExts[7][5] = { { '.', 'p', 'i', 'f', 0},
                                        { '.', 'c', 'o', 'm', 0},
@@ -1116,7 +1116,7 @@
  *  users (here through PathFindOnPathA()) and keeping advanced functionality for
  *  their own developers exclusive use. Monopoly, anyone?
  */
-BOOL WINAPI SHLWAPI_3(LPSTR lpszPath,DWORD dwWhich)
+BOOL WINAPI PathFileExistsDefExtA(LPSTR lpszPath,DWORD dwWhich)
 {
   BOOL bRet = FALSE;
 
@@ -1126,7 +1126,7 @@
   {
     WCHAR szPath[MAX_PATH];
     MultiByteToWideChar(0,0,lpszPath,-1,szPath,MAX_PATH);
-    bRet = SHLWAPI_4(szPath, dwWhich);
+    bRet = PathFileExistsDefExtW(szPath, dwWhich);
     if (bRet)
       WideCharToMultiByte(0,0,szPath,-1,lpszPath,MAX_PATH,0,0);
   }
@@ -1153,7 +1153,7 @@
   GetSystemDirectoryW(buff, MAX_PATH);
   if (!PathAppendW(buff, lpszFile))
      return FALSE;
-  if (SHLWAPI_4(buff, dwWhich))
+  if (PathFileExistsDefExtW(buff, dwWhich))
   {
     strcpyW(lpszFile, buff);
     return TRUE;
@@ -1161,7 +1161,7 @@
   GetWindowsDirectoryW(buff, MAX_PATH);
   if (!PathAppendW(buff, szSystem ) || !PathAppendW(buff, lpszFile))
     return FALSE;
-  if (SHLWAPI_4(buff, dwWhich))
+  if (PathFileExistsDefExtW(buff, dwWhich))
   {
     strcpyW(lpszFile, buff);
     return TRUE;
@@ -1169,7 +1169,7 @@
   GetWindowsDirectoryW(buff, MAX_PATH);
   if (!PathAppendW(buff, lpszFile))
     return FALSE;
-  if (SHLWAPI_4(buff, dwWhich))
+  if (PathFileExistsDefExtW(buff, dwWhich))
   {
     strcpyW(lpszFile, buff);
     return TRUE;
@@ -1200,7 +1200,7 @@
 
     if (!PathAppendW(buff, lpszFile))
       return FALSE;
-    if (SHLWAPI_4(buff, dwWhich))
+    if (PathFileExistsDefExtW(buff, dwWhich))
     {
       strcpyW(lpszFile, buff);
       free(lpszPATH);
@@ -1225,7 +1225,7 @@
  *  Success: TRUE. The path to the executable is stored in lpszFile.
  *  Failure: FALSE. The path to the executable is unchanged.
  */
-BOOL WINAPI SHLWAPI_5(LPSTR lpszFile,LPCSTR *lppszOtherDirs,DWORD dwWhich)
+BOOL WINAPI PathFindOnPathExA(LPSTR lpszFile,LPCSTR *lppszOtherDirs,DWORD dwWhich)
 {
   WCHAR szFile[MAX_PATH];
   WCHAR buff[MAX_PATH];
@@ -1247,7 +1247,7 @@
     {
       MultiByteToWideChar(0,0,*lpszOtherPath,-1,szOther,MAX_PATH);
       PathCombineW(buff, szOther, szFile);
-      if (SHLWAPI_4(buff, dwWhich))
+      if (PathFileExistsDefExtW(buff, dwWhich))
       {
         WideCharToMultiByte(0,0,buff,-1,lpszFile,MAX_PATH,0,0);
         return TRUE;
@@ -1267,9 +1267,9 @@
 /*************************************************************************
  * @	[SHLWAPI.6]
  *
- * Unicode version of SHLWAPI_5.
+ * Unicode version of PathFindOnPathExA.
  */
-BOOL WINAPI SHLWAPI_6(LPWSTR lpszFile,LPCWSTR *lppszOtherDirs,DWORD dwWhich)
+BOOL WINAPI PathFindOnPathExW(LPWSTR lpszFile,LPCWSTR *lppszOtherDirs,DWORD dwWhich)
 {
   WCHAR buff[MAX_PATH];
 
@@ -1285,7 +1285,7 @@
     while (lpszOtherPath && *lpszOtherPath && (*lpszOtherPath)[0])
     {
       PathCombineW(buff, *lpszOtherPath, lpszFile);
-      if (SHLWAPI_4(buff, dwWhich))
+      if (PathFileExistsDefExtW(buff, dwWhich))
       {
         strcpyW(lpszFile, buff);
         return TRUE;
@@ -1313,7 +1313,7 @@
 BOOL WINAPI PathFindOnPathA(LPSTR lpszFile, LPCSTR *lppszOtherDirs)
 {
   TRACE("(%s,%p)\n", debugstr_a(lpszFile), lppszOtherDirs);
-  return SHLWAPI_5(lpszFile, lppszOtherDirs, 0);
+  return PathFindOnPathExA(lpszFile, lppszOtherDirs, 0);
  }
 
 /*************************************************************************
@@ -1324,7 +1324,7 @@
 BOOL WINAPI PathFindOnPathW(LPWSTR lpszFile, LPCWSTR *lppszOtherDirs)
 {
   TRACE("(%s,%p)\n", debugstr_w(lpszFile), lppszOtherDirs);
-  return SHLWAPI_6(lpszFile,lppszOtherDirs, 0);
+  return PathFindOnPathExW(lpszFile,lppszOtherDirs, 0);
 }
 
 /*************************************************************************
@@ -3816,7 +3816,7 @@
 }
 
 /*************************************************************************
- * SHLWAPI_440     [SHLWAPI.440]
+ * @     [SHLWAPI.440]
  *
  * Find localised or default web content in "%WINDOWS%\web\".
  *
@@ -3829,7 +3829,7 @@
  *  Success: S_OK. lpszPath contains the full path to the content.
  *  Failure: E_FAIL. The content does not exist or lpszPath is too short.
  */
-HRESULT WINAPI SHLWAPI_440(LPCSTR lpszFile, LPSTR lpszPath, DWORD dwPathLen)
+HRESULT WINAPI SHGetWebFolderFilePathA(LPCSTR lpszFile, LPSTR lpszPath, DWORD dwPathLen)
 {
   WCHAR szFile[MAX_PATH], szPath[MAX_PATH];
   HRESULT hRet;
@@ -3838,17 +3838,17 @@
 
   MultiByteToWideChar(0, 0, lpszFile, -1, szFile, MAX_PATH);
   szPath[0] = '\0';
-  hRet = SHLWAPI_441(szFile, szPath, dwPathLen);
+  hRet = SHGetWebFolderFilePathW(szFile, szPath, dwPathLen);
   WideCharToMultiByte(0, 0, szPath, -1, lpszPath, dwPathLen, 0, 0);
   return hRet;
 }
 
 /*************************************************************************
- * SHLWAPI_441     [SHLWAPI.441]
+ * @     [SHLWAPI.441]
  *
- * Unicode version of SHLWAPI_440.
+ * Unicode version of SHGetWebFolderFilePathA.
  */
-HRESULT WINAPI SHLWAPI_441(LPCWSTR lpszFile, LPWSTR lpszPath, DWORD dwPathLen)
+HRESULT WINAPI SHGetWebFolderFilePathW(LPCWSTR lpszFile, LPWSTR lpszPath, DWORD dwPathLen)
 {
   static const WCHAR szWeb[] = {'\\','W','e','b','\\','\0'};
   static const WCHAR szWebMui[] = {'m','u','i','\\','%','0','4','x','\\','\0'};
Index: wine/dlls/shlwapi/reg.c
===================================================================
RCS file: /home/wine/wine/dlls/shlwapi/reg.c,v
retrieving revision 1.40
diff -u -r1.40 reg.c
--- wine/dlls/shlwapi/reg.c	5 Sep 2003 23:08:30 -0000	1.40
+++ wine/dlls/shlwapi/reg.c	10 Sep 2003 11:51:49 -0000
@@ -53,8 +53,8 @@
     WCHAR    key_string[MAX_PATH];     /* additional path from 'start' */
 } Internal_HUSKEY, *LPInternal_HUSKEY;
 
-DWORD   WINAPI SHLWAPI_24(REFGUID,LPWSTR,INT);
-HRESULT WINAPI SHLWAPI_344(REFGUID,LPCWSTR,BOOL,BOOL,PHKEY);
+DWORD   WINAPI SHStringFromGUIDW(REFGUID,LPWSTR,INT);
+HRESULT WINAPI SHRegGetCLSIDKeyW(REFGUID,LPCWSTR,BOOL,BOOL,PHKEY);
 
 
 #define REG_HKCU  TRUE
@@ -1675,7 +1675,7 @@
  *   Failure: An error code from RegOpenKeyExA() or SHQueryValueExA(),
  *            or ERROR_INVALID_FUNCTION in the machine is in safe mode.
  */
-DWORD WINAPI SHLWAPI_205(HKEY hkey, LPCSTR pSubKey, LPCSTR pValue,
+DWORD WINAPI SHGetValueGoodBootA(HKEY hkey, LPCSTR pSubKey, LPCSTR pValue,
                          LPDWORD pwType, LPVOID pvData, LPDWORD pbData)
 {
   if (GetSystemMetrics(SM_CLEANBOOT))
@@ -1686,9 +1686,9 @@
 /*************************************************************************
  * @   [SHLWAPI.206]
  *
- * Unicode version of SHLWAPI_205.
+ * Unicode version of SHGetValueGoodBootW.
  */
-DWORD WINAPI SHLWAPI_206(HKEY hkey, LPCWSTR pSubKey, LPCWSTR pValue,
+DWORD WINAPI SHGetValueGoodBootW(HKEY hkey, LPCWSTR pSubKey, LPCWSTR pValue,
                          LPDWORD pwType, LPVOID pvData, LPDWORD pbData)
 {
   if (GetSystemMetrics(SM_CLEANBOOT))
@@ -1709,7 +1709,7 @@
  *   Success: TRUE
  *   Failure: FALSE
  */
-BOOL WINAPI SHLWAPI_320(LPCSTR lpszSubKey, LPCSTR lpszValue)
+BOOL WINAPI RegisterMIMETypeForExtensionA(LPCSTR lpszSubKey, LPCSTR lpszValue)
 {
   DWORD dwRet;
 
@@ -1727,9 +1727,9 @@
 /*************************************************************************
  * @   [SHLWAPI.321]
  *
- * Unicode version of SHLWAPI_320.
+ * Unicode version of RegisterMIMETypeForExtensionA.
  */
-BOOL WINAPI SHLWAPI_321(LPCWSTR lpszSubKey, LPCWSTR lpszValue)
+BOOL WINAPI RegisterMIMETypeForExtensionW(LPCWSTR lpszSubKey, LPCWSTR lpszValue)
 {
   DWORD dwRet;
 
@@ -1756,7 +1756,7 @@
  *   Success: TRUE
  *   Failure: FALSE
  */
-BOOL WINAPI SHLWAPI_322(LPCSTR lpszSubKey)
+BOOL WINAPI UnregisterMIMETypeForExtensionA(LPCSTR lpszSubKey)
 {
   HRESULT ret = SHDeleteValueA(HKEY_CLASSES_ROOT, lpszSubKey, lpszContentTypeA);
   return ret ? FALSE : TRUE;
@@ -1765,9 +1765,9 @@
 /*************************************************************************
  * @   [SHLWAPI.323]
  *
- * Unicode version of SHLWAPI_322.
+ * Unicode version of UnregisterMIMETypeForExtensionA.
  */
-BOOL WINAPI SHLWAPI_323(LPCWSTR lpszSubKey)
+BOOL WINAPI UnregisterMIMETypeForExtensionW(LPCWSTR lpszSubKey)
 {
   HRESULT ret = SHDeleteValueW(HKEY_CLASSES_ROOT, lpszSubKey, lpszContentTypeW);
   return ret ? FALSE : TRUE;
@@ -1790,7 +1790,7 @@
  * NOTES
  *   The base path for the key is "MIME\Database\Content Type\"
  */
-BOOL WINAPI SHLWAPI_328(LPCSTR lpszType, LPSTR lpszBuffer, DWORD dwLen)
+BOOL WINAPI GetMIMETypeSubKeyA(LPCSTR lpszType, LPSTR lpszBuffer, DWORD dwLen)
 {
   TRACE("(%s,%p,%ld)\n", debugstr_a(lpszType), lpszBuffer, dwLen);
 
@@ -1811,9 +1811,9 @@
 /*************************************************************************
  * @   [SHLWAPI.329]
  *
- * Unicode version of SHLWAPI_328.
+ * Unicode version of GetMIMETypeSubKeyA.
  */
-BOOL WINAPI SHLWAPI_329(LPCWSTR lpszType, LPWSTR lpszBuffer, DWORD dwLen)
+BOOL WINAPI GetMIMETypeSubKeyW(LPCWSTR lpszType, LPWSTR lpszBuffer, DWORD dwLen)
 {
   TRACE("(%s,%p,%ld)\n", debugstr_w(lpszType), lpszBuffer, dwLen);
 
@@ -1844,14 +1844,14 @@
  *   Success: TRUE. The file extension is set in the registry.
  *   Failure: FALSE.
  */
-BOOL WINAPI SHLWAPI_324(LPCSTR lpszExt, LPCSTR lpszType)
+BOOL WINAPI RegisterExtensionForMIMETypeA(LPCSTR lpszExt, LPCSTR lpszType)
 {
   DWORD dwLen;
   char szKey[MAX_PATH];
 
   TRACE("(%s,%s)\n", debugstr_a(lpszExt), debugstr_a(lpszType));
 
-  if (!SHLWAPI_328(lpszType, szKey, MAX_PATH)) /* Get full path to the key */
+  if (!GetMIMETypeSubKeyA(lpszType, szKey, MAX_PATH)) /* Get full path to the key */
     return FALSE;
 
   dwLen = strlen(lpszExt) + 1;
@@ -1864,9 +1864,9 @@
 /*************************************************************************
  * @   [SHLWAPI.325]
  *
- * Unicode version of SHLWAPI_324.
+ * Unicode version of RegisterExtensionForMIMETypeA.
  */
-BOOL WINAPI SHLWAPI_325(LPCWSTR lpszExt, LPCWSTR lpszType)
+BOOL WINAPI RegisterExtensionForMIMETypeW(LPCWSTR lpszExt, LPCWSTR lpszType)
 {
   DWORD dwLen;
   WCHAR szKey[MAX_PATH];
@@ -1874,7 +1874,7 @@
   TRACE("(%s,%s)\n", debugstr_w(lpszExt), debugstr_w(lpszType));
 
   /* Get the full path to the key */
-  if (!SHLWAPI_329(lpszType, szKey, MAX_PATH)) /* Get full path to the key */
+  if (!GetMIMETypeSubKeyW(lpszType, szKey, MAX_PATH)) /* Get full path to the key */
     return FALSE;
 
   dwLen = (lstrlenW(lpszExt) + 1) * sizeof(WCHAR);
@@ -1899,13 +1899,13 @@
  * NOTES
  *   If deleting the extension leaves an orphan key, the key is removed also.
  */
-BOOL WINAPI SHLWAPI_326(LPCSTR lpszType)
+BOOL WINAPI UnregisterExtensionForMIMETypeA(LPCSTR lpszType)
 {
   char szKey[MAX_PATH];
 
   TRACE("(%s)\n", debugstr_a(lpszType));
 
-  if (!SHLWAPI_328(lpszType, szKey, MAX_PATH)) /* Get full path to the key */
+  if (!GetMIMETypeSubKeyA(lpszType, szKey, MAX_PATH)) /* Get full path to the key */
     return FALSE;
 
   if (!SHDeleteValueA(HKEY_CLASSES_ROOT, szKey, szExtensionA))
@@ -1919,15 +1919,15 @@
 /*************************************************************************
  * @   [SHLWAPI.327]
  *
- * Unicode version of SHLWAPI_326.
+ * Unicode version of UnregisterExtensionForMIMETypeA.
  */
-BOOL WINAPI SHLWAPI_327(LPCWSTR lpszType)
+BOOL WINAPI UnregisterExtensionForMIMETypeW(LPCWSTR lpszType)
 {
   WCHAR szKey[MAX_PATH];
 
   TRACE("(%s)\n", debugstr_w(lpszType));
 
-  if (!SHLWAPI_329(lpszType, szKey, MAX_PATH)) /* Get full path to the key */
+  if (!GetMIMETypeSubKeyW(lpszType, szKey, MAX_PATH)) /* Get full path to the key */
     return FALSE;
 
   if (!SHDeleteValueW(HKEY_CLASSES_ROOT, szKey, szExtensionW))
@@ -2096,7 +2096,7 @@
  */
 
 /*************************************************************************
- *      SHLWAPI_280     [SHLWAPI.280]
+ *      @     [SHLWAPI.280]
  *
  * Read an integer value from the registry, falling back to a default.
  *
@@ -2109,7 +2109,7 @@
  *  The value contained in the given registry value if present, otherwise
  *  iDefault.
  */
-int WINAPI SHLWAPI_280(HKEY hKey, LPCWSTR lpszValue, int iDefault)
+int WINAPI SHRegGetIntW(HKEY hKey, LPCWSTR lpszValue, int iDefault)
 {
   TRACE("(%p,%s,%d)", hKey, debugstr_w(lpszValue), iDefault);
 
@@ -2127,7 +2127,7 @@
 }
 
 /*************************************************************************
- *      SHLWAPI_343	[SHLWAPI.343]
+ *      @	[SHLWAPI.343]
  *
  * Create or open an explorer ClassId Key.
  *
@@ -2142,22 +2142,22 @@
  *  Success: S_OK. phKey contains the resulting registry handle.
  *  Failure: An HRESULT error code indicating the problem.
  */
-HRESULT WINAPI SHLWAPI_343(REFGUID guid, LPCSTR lpszValue, BOOL bUseHKCU, BOOL bCreate, PHKEY phKey)
+HRESULT WINAPI SHRegGetCLSIDKeyA(REFGUID guid, LPCSTR lpszValue, BOOL bUseHKCU, BOOL bCreate, PHKEY phKey)
 {
   WCHAR szValue[MAX_PATH];
 
   if (lpszValue)
     MultiByteToWideChar(CP_ACP, 0, lpszValue, -1, szValue, sizeof(szValue)/sizeof(WCHAR));
 
-  return SHLWAPI_344(guid, lpszValue ? szValue : NULL, bUseHKCU, bCreate, phKey);
+  return SHRegGetCLSIDKeyW(guid, lpszValue ? szValue : NULL, bUseHKCU, bCreate, phKey);
 }
 
 /*************************************************************************
- *      SHLWAPI_344	[SHLWAPI.344]
+ *      @	[SHLWAPI.344]
  *
- * Unicode version of SHLWAPI_343.
+ * Unicode version of SHRegGetCLSIDKeyA.
  */
-HRESULT WINAPI SHLWAPI_344(REFGUID guid, LPCWSTR lpszValue, BOOL bUseHKCU,
+HRESULT WINAPI SHRegGetCLSIDKeyW(REFGUID guid, LPCWSTR lpszValue, BOOL bUseHKCU,
                            BOOL bCreate, PHKEY phKey)
 {
   static const WCHAR szClassIdKey[] = { 'S','o','f','t','w','a','r','e','\\',
@@ -2171,7 +2171,7 @@
 
   /* Create the key string */
   memcpy(szKey, szClassIdKey, sizeof(szClassIdKey));
-  SHLWAPI_24(guid, szKey + szClassIdKeyLen, 39); /* Append guid */
+  SHStringFromGUIDW(guid, szKey + szClassIdKeyLen, 39); /* Append guid */
 
   if(lpszValue)
   {
Index: wine/dlls/shlwapi/regstream.c
===================================================================
RCS file: /home/wine/wine/dlls/shlwapi/regstream.c,v
retrieving revision 1.14
diff -u -r1.14 regstream.c
--- wine/dlls/shlwapi/regstream.c	5 Sep 2003 23:08:30 -0000	1.14
+++ wine/dlls/shlwapi/regstream.c	10 Sep 2003 11:51:49 -0000
@@ -485,7 +485,7 @@
  *  A copy of the memory pointed to by lpbData is made, and is freed
  *  when the stream is released.
  */
-IStream * WINAPI SHLWAPI_12(LPBYTE lpbData, DWORD dwDataLen)
+IStream * WINAPI SHCreateMemStream(LPBYTE lpbData, DWORD dwDataLen)
 {
   IStream *iStrmRet = NULL;
 
Index: wine/dlls/shlwapi/shlwapi.spec
===================================================================
RCS file: /home/wine/wine/dlls/shlwapi/shlwapi.spec,v
retrieving revision 1.77
diff -u -r1.77 shlwapi.spec
--- wine/dlls/shlwapi/shlwapi.spec	26 Jul 2003 20:25:14 -0000	1.77
+++ wine/dlls/shlwapi/shlwapi.spec	10 Sep 2003 11:51:51 -0000
@@ -1,39 +1,39 @@
-1   stdcall @(str ptr) SHLWAPI_1
-2   stdcall @(wstr ptr) SHLWAPI_2
-3   stdcall @(str long) SHLWAPI_3
-4   stdcall @(wstr long) SHLWAPI_4
-5   stdcall @(str ptr long) SHLWAPI_5
-6   stdcall @(wstr ptr long) SHLWAPI_6
-7   stdcall @(long long ptr) SHLWAPI_7
-8   stdcall @(long long) SHLWAPI_8
-9   stdcall @(ptr) SHLWAPI_9
-10  stdcall @(long long) SHLWAPI_10
-11  stdcall @(long long long long long) SHLWAPI_11
-12  stdcall @(ptr long) SHLWAPI_12
-13  stdcall @(ptr ptr) SHLWAPI_13
-14  stdcall @(ptr ptr) SHLWAPI_14
-15  stdcall @(ptr ptr) SHLWAPI_15
+1   stdcall @(str ptr) ParseURLA
+2   stdcall @(wstr ptr) ParseURLW
+3   stdcall @(str long) PathFileExistsDefExtA
+4   stdcall @(wstr long) PathFileExistsDefExtW
+5   stdcall @(str ptr long) PathFindOnPathExA
+6   stdcall @(wstr ptr long) PathFindOnPathExW
+7   stdcall @(long long ptr) SHAllocShared
+8   stdcall @(long long) SHLockShared
+9   stdcall @(ptr) SHUnlockShared
+10  stdcall @(long long) SHFreeShared
+11  stdcall @(long long long long long) SHMapHandle
+12  stdcall @(ptr long) SHCreateMemStream
+13  stdcall @(ptr ptr) RegisterDefaultAcceptHeaders
+14  stdcall @(ptr ptr) GetAcceptLanguagesA
+15  stdcall @(ptr ptr) GetAcceptLanguagesW
 16  stdcall SHCreateThread(ptr ptr long ptr)
-17  stdcall @ (ptr ptr) SHLWAPI_17
-18  stdcall @ (ptr ptr) SHLWAPI_18
-19  stdcall @ (ptr) SHLWAPI_19
-20  stdcall @ (ptr ptr) SHLWAPI_20
-21  stdcall @ (ptr long) SHLWAPI_21
-22  stdcall @ (ptr long) SHLWAPI_22
-23  stdcall @(ptr ptr long) SHLWAPI_23
-24  stdcall @(ptr ptr long) SHLWAPI_24
-25  stdcall @(long) SHLWAPI_25
-26  stdcall @(long) SHLWAPI_26
-27  stdcall @(long) SHLWAPI_27
-28  stdcall @(long) SHLWAPI_28
-29  stdcall @(long) SHLWAPI_29
-30  stdcall @(long) SHLWAPI_30
-31  stdcall @(long) SHLWAPI_31
-32  stdcall @(ptr)  SHLWAPI_32
-33  stdcall @(long) SHLWAPI_33
-34  stdcall @(long) SHLWAPI_34
-35  stdcall @(ptr long ptr) SHLWAPI_35
-36  stdcall @(long long long wstr) SHLWAPI_36
+17  stdcall @ (ptr ptr) SHWriteDataBlockList
+18  stdcall @ (ptr ptr) SHReadDataBlockList
+19  stdcall @ (ptr) SHFreeDataBlockList
+20  stdcall @ (ptr ptr) SHAddDataBlock
+21  stdcall @ (ptr long) SHRemoveDataBlock
+22  stdcall @ (ptr long) SHFindDataBlock
+23  stdcall @(ptr ptr long) SHStringFromGUIDA
+24  stdcall @(ptr ptr long) SHStringFromGUIDW
+25  stdcall @(long) IsCharAlphaWrapW
+26  stdcall @(long) IsCharUpperWrapW
+27  stdcall @(long) IsCharLowerWrapW
+28  stdcall @(long) IsCharAlphaNumericWrapW
+29  stdcall @(long) IsCharSpaceW
+30  stdcall @(long) IsCharBlankW
+31  stdcall @(long) IsCharPunctW
+32  stdcall @(ptr)  IsCharCntrlW
+33  stdcall @(long) IsCharDigitW
+34  stdcall @(long) IsCharXDigitW
+35  stdcall @(ptr long ptr) GetStringType3ExW
+36  stdcall @(long long long wstr) AppendMenuWrapW
 37  stdcall @(ptr long long long long) user32.CallWindowProcW
 38  stdcall @(wstr) user32.CharLowerW
 39  stdcall @(wstr long) user32.CharLowerBuffW
@@ -71,7 +71,7 @@
 71  stdcall @(long ptr long) user32.GetClassNameW
 72  stdcall @(long ptr long) user32.GetClipboardFormatNameW
 73  stdcall @(long ptr) kernel32.GetCurrentDirectoryW
-74  stdcall @(long long wstr long) SHLWAPI_74
+74  stdcall -noname GetDlgItemTextWrapW(long long wstr long)
 75  stdcall @(wstr) kernel32.GetFileAttributesW
 76  stdcall @(wstr long ptr ptr) kernel32.GetFullPathNameW
 77  stdcall @(long long ptr long) kernel32.GetLocaleInfoW
@@ -135,7 +135,7 @@
 135 stdcall @(long long long long long) user32.SendDlgItemMessageW
 136 stdcall @(long long long long) user32.SendMessageW
 137 stdcall @(wstr) kernel32.SetCurrentDirectoryW
-138 stdcall @(long long wstr) SHLWAPI_138
+138 stdcall -noname SetDlgItemTextWrapW(long long wstr)
 139 stdcall @(long long long ptr) user32.SetMenuItemInfoW
 140 stdcall @(long wstr long) user32.SetPropW
 141 stdcall @(long long long) user32.SetWindowLongW
@@ -148,155 +148,155 @@
 148 stdcall @(long) user32.VkKeyScanW
 149 stdcall @(long wstr long long) user32.WinHelpW
 150 stdcall @(ptr wstr ptr) user32.wvsprintfW
-151 stdcall @(str ptr long) SHLWAPI_151
-152 stdcall @(wstr wstr long) SHLWAPI_152
-153 stdcall @(long long long) SHLWAPI_153
-154 stdcall @(wstr wstr long) SHLWAPI_154
-155 stdcall @(str str) SHLWAPI_155
-156 stdcall @(wstr wstr) SHLWAPI_156
-157 stdcall @(str str) SHLWAPI_157
-158 stdcall @(wstr wstr) SHLWAPI_158
+151 stdcall @(str ptr long) StrCmpNCA
+152 stdcall @(wstr wstr long) StrCmpNCW
+153 stdcall @(long long long) StrCmpNICA
+154 stdcall @(wstr wstr long) StrCmpNICW
+155 stdcall @(str str) StrCmpCA
+156 stdcall @(wstr wstr) StrCmpCW
+157 stdcall @(str str) StrCmpICA
+158 stdcall @(wstr wstr) StrCmpICW
 159 stdcall @(long long wstr long wstr long) kernel32.CompareStringW
-160 stdcall -noname SHLWAPI_160(ptr long)
-161 stdcall -noname SHLWAPI_161(ptr long)
-162 stdcall @(str long) SHLWAPI_162
-163 stdcall @(ptr ptr long ptr ptr) SHLWAPI_163
-164 stdcall @(ptr ptr long long ptr ptr) SHLWAPI_164
-165 stdcall @(long long long long) SHLWAPI_165
-166 stdcall @(ptr) SHLWAPI_166
-167 stdcall @(long ptr) SHLWAPI_167
-168 stdcall @(ptr ptr long ptr ptr ptr) SHLWAPI_168
-169 stdcall @(long) SHLWAPI_169
-170 stdcall @(str) SHLWAPI_170
-171 stdcall @(ptr ptr) SHLWAPI_171
-172 stdcall @(ptr ptr) SHLWAPI_172
-173 stdcall -noname SHLWAPI_173(ptr ptr)
-174 stdcall @(ptr ptr) SHLWAPI_174
-175 stdcall @(ptr ptr) SHLWAPI_175
-176 stdcall @(ptr ptr ptr ptr) SHLWAPI_176
-177 stdcall -noname SHLWAPI_177(ptr wstr)
-178 stdcall -noname SHLWAPI_178(ptr long long long long)
-179 stdcall GetMenuPosFromID(ptr long)
-180 stdcall @(long) SHLWAPI_180
-181 stdcall @(long long long) SHLWAPI_181
-182 stdcall @(long long long) SHLWAPI_182
-183 stdcall @(ptr) SHLWAPI_183
-184 stdcall @(ptr ptr long) SHLWAPI_184
-185 stub @
-186 stub @
-187 stdcall @(ptr ptr) SHLWAPI_187
-188 stub @
-189 stdcall @(ptr ptr) SHLWAPI_189
-190 stub @
-191 stub @
-192 stdcall -noname SHLWAPI_192(ptr long)
-193 stdcall @() SHLWAPI_193
-194 stub @
-195 stub @
-196 stub @
-197 stdcall @(long ptr long) SHLWAPI_197
-198 stub @
-199 stdcall @(ptr ptr) SHLWAPI_199
-200 stub @
-201 stdcall @(ptr long ptr long long ptr ptr) SHLWAPI_201
-202 stdcall @(ptr long ptr) SHLWAPI_202
-203 stdcall @(str) SHLWAPI_203
-204 stdcall @(long long) SHLWAPI_204
-205 stdcall @(long str str ptr ptr ptr) SHLWAPI_205
-206 stdcall @(long wstr wstr ptr ptr ptr) SHLWAPI_206
-207 stub @
-208 stdcall @(long long ptr ptr long) SHLWAPI_208
-209 stdcall @(ptr) SHLWAPI_209
-210 stdcall @(ptr long ptr) SHLWAPI_210
-211 stdcall @(ptr long) SHLWAPI_211
+160 stdcall -noname SHAboutInfoA(ptr long)
+161 stdcall -noname SHAboutInfoW(ptr long)
+162 stdcall @(str long) SHTruncateString
+163 stdcall @(ptr ptr long ptr ptr) IUnknown_QueryStatus
+164 stdcall @(ptr ptr long long ptr ptr) IUnknown_Exec
+165 stdcall @(long long long long) SHSetWindowBits
+166 stdcall @(ptr) SHIsEmptyStream
+167 stdcall @(long ptr) SHSetParentHwnd
+168 stdcall @(ptr ptr long ptr ptr ptr) ConnectToConnectionPoint
+169 stdcall @(long) IUnknown_AtomicRelease
+170 stdcall @(str) PathSkipLeadingSlashesA
+171 stdcall @(ptr ptr) SHIsSameObject
+172 stdcall @(ptr ptr) IUnknown_GetWindow
+173 stdcall -noname IUnknown_SetOwner(ptr ptr)
+174 stdcall @(ptr ptr) IUnknown_SetSite
+175 stdcall @(ptr ptr) IUnknown_GetClassID
+176 stdcall @(ptr ptr ptr ptr) IUnknown_QueryService
+177 stdcall -noname SHLoadMenuPopup(ptr wstr)
+178 stdcall -noname SHPropagateMessage(ptr long long long long)
+179 stub -noname SHMenuIndexFromID
+180 stdcall -noname SHRemoveAllSubMenus(long)
+181 stdcall -noname SHEnableMenuItem(long long long)
+182 stdcall -noname SHCheckMenuItem(long long long)
+183 stdcall -noname SHRegisterClassA(ptr)
+184 stdcall -noname SHLWAPI_184(ptr ptr long)
+185 stub -noname SHMessageBoxCheckA
+186 stub -noname SHSimulateDrop
+187 stdcall -noname SHLoadFromPropertyBag(ptr ptr)
+188 stub -noname IUnknown_TranslateAcceleratorOCS
+189 stdcall -noname IUnknown_OnFocusOCS(ptr ptr)
+190 stub -noname IUnknown_HandleIRestrict
+191 stub -noname SHMessageBoxCheckW
+192 stdcall -noname SHGetMenuFromID(ptr long)
+193 stdcall -noname SHGetCurColorRes()
+194 stub -noname SHWaitForSendMessageThread
+195 stub -noname SHIsExpandableFolder
+196 stub -noname DnsRecordSetCompare
+197 stdcall @(long ptr long) SHFillRectClr
+198 stub -noname SHSearchMapInt
+199 stdcall @(ptr ptr) IUnknown_Set
+200 stub -noname MayQSForward
+201 stdcall @(ptr long ptr long long ptr ptr) MayExecForward
+202 stdcall @(ptr long ptr) IsQSForward
+203 stdcall @(str) SHStripMneumonicA
+204 stdcall @(long long) SHIsChildOrSelf
+205 stdcall @(long str str ptr ptr ptr) SHGetValueGoodBootA
+206 stdcall @(long wstr wstr ptr ptr ptr) SHGetValueGoodBootW
+207 stub -noname IContextMenu_Invoke
+208 stdcall @(long long ptr ptr long) FDSA_Initialize
+209 stdcall @(ptr) FDSA_Destroy
+210 stdcall @(ptr long ptr) FDSA_InsertItem
+211 stdcall @(ptr long) FDSA_DeleteItem
 212 stdcall @(ptr ptr long) SHLWAPI_212
-213 stdcall @(ptr) SHLWAPI_213
-214 stdcall @(ptr ptr) SHLWAPI_214
-215 stdcall @(str ptr long) SHLWAPI_215
-216 stub @
-217 stdcall @(wstr ptr ptr) SHLWAPI_217
-218 stdcall @(long wstr ptr ptr) SHLWAPI_218
-219 stdcall @(long long long long) SHLWAPI_219
-220 stub @
-221 stdcall -noname SHLWAPI_221(ptr)
+213 stdcall @(ptr) IStream_Reset
+214 stdcall @(ptr ptr) IStream_Size
+215 stdcall @(str ptr long) SHAnsiToUnicode
+216 stub -noname SHAnsiToUnicodeCP
+217 stdcall @(wstr ptr ptr) SHUnicodeToAnsi
+218 stdcall @(long wstr ptr ptr) SHUnicodeToAnsiCP
+219 stdcall @(long long long long) QISearch
+220 stub -noname SHSetDefaultDialogFont
+221 stdcall -noname SHRemoveDefaultDialogFont(ptr)
 222 stdcall -noname _SHGlobalCounterCreate(long)
 223 stdcall -noname _SHGlobalCounterGetValue(long)
 224 stdcall -noname _SHGlobalCounterIncrement(long)
-225 stub @
-226 stub @
-227 stub @
-228 stub @
-229 stub @
-230 stub @
-231 stub @
-232 stub @
-233 stub @
-234 stub @
-235 stub @
-236 stdcall @(ptr) SHLWAPI_236
-237 stdcall @(ptr) SHLWAPI_237
-238 stdcall -noname SHLWAPI_238(ptr ptr long)
-239 stdcall -noname SHLWAPI_239(ptr ptr long)
-240 stdcall @(long long long long) SHLWAPI_240
-241 stdcall @() SHLWAPI_241
-242 stub @
-243 stub @
-244 stub @
-245 stub @
-246 stub @
-247 stub @
-248 stub @
-249 stub @
-250 stub @
-251 stub @
-252 stub @
-253 stdcall AssocCreate(long long long long ptr ptr)
-254 stdcall AssocQueryKeyA(long long str ptr ptr)
-255 stdcall AssocQueryKeyW(long long wstr ptr ptr)
-256 stub @
-257 stdcall -noname SHLWAPI_257(long ptr long long ptr long)
-258 stub @
-259 stub @
-260 stub @
-261 stub @
-262 stub @
-263 stub @
-264 stub @
-265 stub @
-266 stdcall @(long wstr ptr ptr) SHLWAPI_266
-267 stdcall @(long long long long) SHLWAPI_267
-268 stdcall @(long long) SHLWAPI_268
-269 stdcall @(str ptr) SHLWAPI_269
-270 stdcall @(wstr ptr) SHLWAPI_270
-271 stdcall @(wstr wstr wstr) SHLWAPI_271
-272 stub @
-273 stub @
-274 stub @
-275 stub @
-276 stdcall @() SHLWAPI_276
-277 stub @
-278 stdcall @(long long long long long long) SHLWAPI_278
-279 stdcall -noname SHLWAPI_279(ptr ptr ptr)
-280 stdcall -noname SHLWAPI_280(ptr wstr long)
-281 stdcall @(ptr ptr ptr ptr) SHLWAPI_281
-282 stdcall @(ptr ptr ptr ptr) SHLWAPI_282
-283 stub @
-284 stdcall @(ptr ptr ptr) SHLWAPI_284
-285 stdcall -noname SHLWAPI_285(ptr long)
-286 stub @
-287 stdcall -noname SHLWAPI_287(ptr long)
-288 stub @
-289 stdcall @(wstr long long) SHLWAPI_289
-290 stub @
-291 stub @
-292 stub @
-293 stub @
-294 stdcall @(long long long long long) SHLWAPI_294
-295 stdcall @(wstr ptr wstr wstr) SHLWAPI_295
-296 stub @
-297 stub @
+225 stub -noname SHStripMneumonicW
+226 stub -noname ZoneCheckPathA
+227 stub -noname ZoneCheckPathW
+228 stub -noname ZoneCheckUrlA
+229 stub -noname ZoneCheckUrlW
+230 stub -noname ZoneCheckUrlExA
+231 stub -noname ZoneCheckUrlExW
+232 stub -noname ZoneCheckUrlExCacheA
+233 stub -noname ZoneCheckUrlExCacheW
+234 stub -noname ZoneCheckHost
+235 stub -noname ZoneCheckHostEx
+236 stdcall -noname SHPinDllOfCLSID(ptr)
+237 stdcall -noname SHRegisterClassW(ptr)
+238 stdcall -noname SHUnregisterClassesA(ptr ptr long)
+239 stdcall -noname SHUnregisterClassesW(ptr ptr long)
+240 stdcall -noname SHDefWindowProc(long long long long)
+241 stdcall -noname StopWatchMode()
+242 stub -noname StopWatchFlush
+243 stub -noname StopWatchA
+244 stub -noname StopWatchW
+245 stub -noname StopWatch_TimerHandler
+246 stub -noname StopWatch_CheckMsg
+247 stub -noname StopWatch_MarkFrameStart
+248 stub -noname StopWatch_MarkSameFramStart
+249 stub -noname StopWatch_MarkJavaStop
+250 stub -noname GetPerfTime
+251 stub -noname StopWatch_DispatchTime
+252 stub -noname StopWatch_SetMsgLastLocation
+253 stub -noname StopWatchExA
+254 stub -noname StopWatchExW
+255 stub -noname EventTraceHandler
+256 stub -noname IUnknown_GetSite
+257 stdcall -noname SHCreateWorkerWindowA(long ptr long long ptr long)
+258 stub -noname SHRegisterWaitForSingleObject
+259 stub -noname SHUnregisterWait
+260 stdcall -noname SHQueueUserWorkItem(long long long long long long long)
+261 stub -noname SHCreateTimerQueue
+262 stub -noname SHDeleteTimerQueue
+263 stub -noname SHSetTimerQueueTimer
+264 stub -noname SHChangeTimerQueueTimer
+265 stub -noname SHCancelTimerQueueTimer
+266 stdcall -noname SHRestrictionLookup(long wstr ptr ptr)
+267 stdcall -noname SHWeakQueryInterface(long long long long)
+268 stdcall -noname SHWeakReleaseInterface(long long)
+269 stdcall -noname GUIDFromStringA(str ptr)
+270 stdcall -noname GUIDFromStringW(wstr ptr)
+271 stdcall -noname SHGetRestriction(wstr wstr wstr)
+272 stub -noname SHSetThreadPoolLimits
+273 stub -noname SHTerminateThreadPool
+274 stub -noname RegisterGlobalHotkeyW
+275 stub -noname RegisterGlobalHotkeyA
+276 stdcall -noname WhichPlatform()
+277 stub -noname SHDialogBox
+278 stdcall -noname SHCreateWorkerWindowW(long long long long long long)
+279 stdcall -noname SHInvokeDefaultCommand(ptr ptr ptr)
+280 stdcall -noname SHRegGetIntW(ptr wstr long)
+281 stdcall -noname SHPackDispParamsV(ptr ptr ptr ptr)
+282 stdcall -noname SHPackDispParams(ptr ptr ptr ptr)
+283 stub -noname IConnectionPoint_InvokeWithCancel
+284 stdcall -noname IConnectionPoint_SimpleInvoke(ptr ptr ptr)
+285 stdcall -noname IConnectionPoint_OnChanged(ptr long)
+286 stub -noname IUnknown_CPContainerInvokeParam
+287 stdcall -noname IUnknown_CPContainerOnChanged(ptr long)
+288 stub -noname IUnknown_CPContainerInvokeIndirect
+289 stdcall -noname PlaySoundWrapW(wstr long long)
+290 stub -noname SHMirrorIcon
+291 stub -noname SHMessageBoxCheckExA
+292 stub -noname SHMessageBoxCheckExW
+293 stub -noname SHCancelUserWorkItems
+294 stdcall -noname SHGetIniStringW(long long long long long)
+295 stdcall -noname SHSetIniStringW(wstr ptr wstr wstr)
+296 stub -noname CreateURLFileContentsW
+297 stub -noname CreateURLFileContentsA
 298 stdcall @(wstr wstr wstr wstr) kernel32.WritePrivateProfileStringW
-299 stdcall @(long long long long ptr wstr long ptr) SHLWAPI_299
+299 stdcall -noname ExtTextOutWrapW(long long long long ptr wstr long ptr)
 300 stdcall @(long long long long long long long long long long long long long wstr) gdi32.CreateFontW
 301 stdcall @(long wstr long ptr long ptr) user32.DrawTextExW
 302 stdcall @(long long long ptr) user32.GetMenuItemInfoW
@@ -310,142 +310,256 @@
 310 stdcall @(long long ptr wstr ptr long) kernel32.GetTimeFormatW
 311 stdcall @(long long ptr wstr ptr long) kernel32.GetDateFormatW
 312 stdcall @(wstr wstr wstr ptr long wstr) kernel32.GetPrivateProfileStringW
-313 stdcall @(ptr long ptr long long) SHLWAPI_313
+313 stdcall -noname SHGetFileInfoWrapW(ptr long ptr long long)
 314 stdcall @(ptr) user32.RegisterClassExW
 315 stdcall @(long wstr ptr) user32.GetClassInfoExW
-316 stub SHCreateStreamOnFileAOld
-317 stub SHCreateStreamOnFileWOld
-318 stdcall @(long long wstr long) SHLWAPI_318
+316 stub @ # IShellFolder_GetDisplayNameOf
+317 stub @ # IShellFolder_ParseDisplayName
+318 stdcall @(long long wstr long) DragQueryFileWrapW
 319 stdcall @(long long wstr wstr) user32.FindWindowExW
-320 stdcall @(str str) SHLWAPI_320
-321 stdcall @(wstr wstr) SHLWAPI_321
-322 stdcall @(str) SHLWAPI_322
-323 stdcall @(wstr) SHLWAPI_323
-324 stdcall @(str str) SHLWAPI_324
-325 stdcall @(wstr wstr) SHLWAPI_325
-326 stdcall @(str) SHLWAPI_326
-327 stdcall @(wstr) SHLWAPI_327
-328 stdcall @(str ptr long) SHLWAPI_328
-329 stdcall @(wstr ptr long) SHLWAPI_329
-330 stub @
-331 stub @
+320 stdcall -noname RegisterMIMETypeForExtensionA(str str)
+321 stdcall -noname RegisterMIMETypeForExtensionW(wstr wstr)
+322 stdcall -noname UnregisterMIMETypeForExtensionA(str)
+323 stdcall -noname UnregisterMIMETypeForExtensionW(wstr)
+324 stdcall -noname RegisterExtensionForMIMETypeA(str str)
+325 stdcall -noname RegisterExtensionForMIMETypeW(wstr wstr)
+326 stdcall -noname UnregisterExtensionForMIMETypeA(str)
+327 stdcall -noname UnregisterExtensionForMIMETypeW(wstr)
+328 stdcall -noname GetMIMETypeSubKeyA(str ptr long)
+329 stdcall -noname GetMIMETypeSubKeyW(wstr ptr long)
+330 stub -noname MIME_GetExtensionA
+331 stub -noname MIME_GetExtensionW
 332 stdcall @(ptr long) user32.CallMsgFilterW
-333 stdcall @(ptr) SHLWAPI_333
-334 stdcall @(ptr ptr) SHLWAPI_334
-335 stdcall @(ptr) SHLWAPI_335
-336 stdcall @(ptr) SHLWAPI_336
-337 stdcall @(wstr long ptr ptr long) SHLWAPI_337
+333 stdcall -noname SHBrowseForFolderWrapW(ptr)
+334 stdcall -noname SHGetPathFromIDListWrapW(ptr ptr)
+335 stdcall -noname ShellExecuteExWrapW(ptr)
+336 stdcall -noname SHFileOperationWrapW(ptr)
+337 stdcall -noname ExtractIconExWrapW(wstr long ptr ptr long)
 338 stdcall @(wstr long) kernel32.SetFileAttributesW
 339 stdcall @(long long wstr ptr ptr long) kernel32.GetNumberFormatW
 340 stdcall @(long wstr wstr long) user32.MessageBoxW
 341 stdcall @(long ptr) kernel32.FindNextFileW
-342 stdcall @(ptr long long) SHInterlockedCompareExchange
-343 stdcall -noname SHLWAPI_343(ptr str long long ptr)
-344 stdcall -noname SHLWAPI_344(ptr wstr long long ptr)
-345 stub @
-346 stdcall @(wstr ptr long) SHLWAPI_346
+342 stdcall -noname SHInterlockedCompareExchange(ptr long long)
+343 stdcall -noname SHRegGetCLSIDKeyA(ptr str long long ptr)
+344 stdcall -noname SHRegGetCLSIDKeyW(ptr wstr long long ptr)
+345 stub -noname SHAnsiToAnsi
+346 stdcall -noname SHUnicodeToUnicode(wstr ptr long)
 347 stdcall @(long wstr) advapi32.RegDeleteValueW
-348 stub @
-349 stub @
-350 stdcall @(wstr ptr) SHLWAPI_350
-351 stdcall @(wstr ptr long ptr) SHLWAPI_351
-352 stdcall @(ptr wstr ptr ptr) SHLWAPI_352
-353 stub @
-354 stub @
-355 stdcall -noname SHLWAPI_355(ptr long)
+348 stub -noname SHGetFileDescriptionW
+349 stub -noname SHGetFileDescriptionA
+350 stdcall -noname GetFileVersionInfoSizeWrapW(wstr ptr)
+351 stdcall -noname GetFileVersionInfoWrapW(wstr ptr long ptr)
+352 stdcall -noname VerQueryValueWrapW(ptr wstr ptr ptr)
+353 stub -noname SHFormatDateTimeA
+354 stub -noname SHFormatDateTimeW
+355 stdcall -noname IUnknown_EnableModeless(ptr long)
 356 stdcall -noname _CreateAllAccessSecurityAttributes(ptr ptr)
-357 stdcall @(wstr wstr wstr long long) SHLWAPI_357
-358 stdcall @(wstr long long ptr ptr long) SHLWAPI_358
+357 stdcall -noname SHGetNewLinkInfoWrapW(wstr wstr wstr long long)
+358 stdcall -noname SHDefExtractIconWrapW(wstr long long ptr ptr long)
 359 stdcall @(long long wstr) kernel32.OpenEventW
 360 stdcall @(wstr) kernel32.RemoveDirectoryW
 361 stdcall @(wstr ptr long) kernel32.GetShortPathNameW
 362 stdcall @(ptr ptr) advapi32.GetUserNameW
-363 stdcall -noname SHLWAPI_363(ptr ptr ptr long)
-364 stdcall @(str str long) SHLWAPI_364
-365 stub @
+363 stdcall -noname SHInvokeCommand(ptr ptr ptr long)
+364 stdcall -noname DoesStringRoundTripA(str str long)
+365 stub -noname DoesStringRoundTripW
 366 stdcall @(long long ptr ptr ptr ptr ptr ptr) advapi32.RegEnumValueW
 367 stdcall @(wstr wstr ptr long wstr) kernel32.WritePrivateProfileStructW
 368 stdcall @(wstr wstr ptr long wstr) kernel32.GetPrivateProfileStructW
 369 stdcall @(wstr wstr ptr ptr long long ptr wstr ptr ptr) kernel32.CreateProcessW
-370 stdcall @(long wstr long) SHLWAPI_370
-371 stub @
-372 stub @
-373 stub @
-374 stub @
-375 stub @
-376 stdcall @() SHLWAPI_376  # kernel32.GetUserDefaultUILanguage
-377 stdcall @(str long long) SHLWAPI_377
-378 stdcall @(wstr long long) SHLWAPI_378
-379 stub @
-380 stub @
-381 stdcall AssocQueryStringA(long long ptr ptr str ptr)
-382 stdcall AssocQueryStringByKeyA(long long ptr ptr str ptr)
-383 stdcall AssocQueryStringByKeyW(long long ptr ptr wstr ptr)
-384 stdcall AssocQueryStringW(long long ptr ptr wstr ptr)
-385 stdcall ChrCmpIA(long long)
-386 stdcall ChrCmpIW(long long)
-387 stdcall ColorAdjustLuma(long long long)
-388 stub @
-389 stdcall @(ptr) SHLWAPI_389
-390 stdcall @(long wstr) SHLWAPI_390
-391 stdcall @(ptr ptr long ptr long) SHLWAPI_391
-392 stub @
+370 stdcall -noname ExtractIconWrapW(long wstr long)
+371 stub -noname DdeInitializeWrapW
+372 stub -noname DdeCreateStringHandleWrapW
+373 stub -noname DdeQueryStringWrapW
+374 stub -noname SHCheckDiskForMediaA
+375 stub -noname SHCheckDiskForMediaW
+376 stdcall @() MLGetUILanguage  # kernel32.GetUserDefaultUILanguage
+377 stdcall @(str long long) MLLoadLibraryA
+378 stdcall @(wstr long long) MLLoadLibraryW
+379 stub -noname Shell_GetCachedImageIndexWrapW
+380 stub -noname Shell_GetCachedImageIndexWrapA
+381 stub -noname AssocCopyVerbs
+382 stub -noname ZoneComputePaneSize
+383 stub -noname ZoneConfigureW
+384 stub -noname SHRestrictedMessageBox
+385 stub -noname SHLoadRawAccelerators
+386 stub -noname SHQueryRawAccelerator
+387 stub -noname SHQueryRawAcceleratorMsg
+388 stub -noname ShellMessageBoxWrapW
+389 stdcall -noname GetSaveFileNameWrapW(ptr)
+390 stdcall -noname WNetRestoreConnectionWrapW(long wstr)
+391 stdcall -noname WNetGetLastErrorWrapW(ptr ptr long ptr long)
+392 stub -noname EndDialogWrap
 393 stdcall @(long ptr long ptr long) user32.CreateDialogIndirectParamW
 394 stdcall @(long ptr long ptr long) user32.CreateDialogIndirectParamA
-395 stub @
-396 stub @
-397 stub @
-398 stub @
-399 stdcall @(str str long) SHLWAPI_399
-400 stdcall @(wstr wstr long) SHLWAPI_400
-401 stdcall @(ptr) SHLWAPI_401
-402 stdcall @(ptr) SHLWAPI_402
-403 stdcall @(ptr) SHLWAPI_403
-404 stdcall ColorHLSToRGB(long long long)
-405 stub @
-406 stdcall @(ptr ptr ptr ptr ptr ptr) SHLWAPI_406
-407 stub @
-408 stub @
-409 stub @
-410 stub @
-411 stub @
-412 stub @
-413 stdcall @(long) SHLWAPI_413
-414 stub @
-415 stub @
-416 stub @
-417 stub @
-418 stdcall @(long) SHLWAPI_418
-419 stub @
-420 stub @
-421 stub @
+395 stub -noname MLWinHelpA
+396 stub -noname MLHtmlHelpA
+397 stub -noname MLWinHelpW
+398 stub -noname MLHtmlHelpW
+399 stdcall -noname StrCpyNXA(str str long)
+400 stdcall -noname StrCpyNXW(wstr wstr long)
+401 stdcall -noname PageSetupDlgWrapW(ptr)
+402 stdcall -noname PrintDlgWrapW(ptr)
+403 stdcall -noname GetOpenFileNameWrapW(ptr)
+404 stub @ # IShellFolder_EnumObjects
+405 stub -noname MLBuildResURLA
+406 stdcall -noname MLBuildResURLW(ptr ptr ptr ptr ptr ptr)
+407 stub -noname AssocMakeProgid
+408 stub -noname AssocMakeShell
+409 stub -noname AssocMakeApplicationByKeyW
+410 stub -noname AssocMakeApplicationByKeyA
+411 stub -noname AssocMakeFileExtsToApplicationW
+412 stub -noname AssocMakeFileExtsToApplicationA
+413 stdcall -noname SHGetMachineInfo(long)
+414 stub -noname SHHtmlHelpOnDemandW
+415 stub -noname SHHtmlHelpOnDemandA
+416 stub -noname SHWinHelpOnDemandW
+417 stub -noname SHWinHelpOnDemandA
+418 stdcall -noname MLFreeLibrary(long)
+419 stub -noname SHFlushSFCacheWrap
+420 stub @ # CMemStream::Commit
+421 stub -noname SHLoadPersistedDataObject
 422 stdcall -noname _SHGlobalCounterCreateNamedA(str long)
 423 stdcall -noname _SHGlobalCounterCreateNamedW(wstr long)
 424 stdcall -noname _SHGlobalCounterDecrement(long)
-425 stub @
-426 stub @
-427 stub @
+425 stub -noname DeleteMenuWrap
+426 stub -noname DestroyMenuWrap
+427 stub -noname TrackPopupMenuWrap
 428 stdcall @(long long long long long ptr) user32.TrackPopupMenuEx
-429 stub @
-430 stdcall @(long long) SHLWAPI_430
-431 stdcall @(long) SHLWAPI_431
-432 stub @
-433 stub @
+429 stub -noname MLIsMLHInstance
+430 stdcall -noname MLSetMLHInstance(long long)
+431 stdcall -noname MLClearMLHInstance(long)
+432 stub -noname SHSendMessageBroadcastA
+433 stub -noname SHSendMessageBroadcastW
 434 stdcall @(long long long long long long ptr) user32.SendMessageTimeoutW
-435 stub @
-436 stdcall @(wstr ptr) SHLWAPI_436
-437 stdcall @(long) SHLWAPI_437
-438 stub @
-439 stub @
-440 stdcall -noname SHLWAPI_440(str ptr long)
-441 stdcall -noname SHLWAPI_441(wstr ptr long)
+435 stub -noname CLSIDFromProgIDWrap
+436 stdcall -noname CLSIDFromStringWrap(wstr ptr)
+437 stdcall -noname IsOS(long)
+438 stub -noname SHLoadRegUIStringA
+439 stub -noname SHLoadRegUIStringW
+440 stdcall -noname SHGetWebFolderFilePathA(str ptr long)
+441 stdcall -noname SHGetWebFolderFilePathW(wstr ptr long)
 442 stdcall @(wstr ptr long) kernel32.GetEnvironmentVariableW
 443 stdcall @(ptr long) kernel32.GetSystemWindowsDirectoryA
 444 stdcall @(ptr long) kernel32.GetSystemWindowsDirectoryW
-445 stdcall ColorRGBToHLS(long ptr ptr ptr)
-446 stub @
+445 stub -noname PathFileExistsAndAttributesA
+446 stub -noname PathFileExistsAndAttributesW
+447 stub -noname FixSlashesAndColonA
+448 stub -noname FixSlashesAndColonW
+449 stub -noname NextPathA
+450 stub -noname NextPathW
+451 stub -noname CharUpperNoDBCSA
+452 stub -noname CharUpperNoDBCSW
+453 stub -noname CharLowerNoDBCSA
+454 stub -noname CharLowerNoDBCSW
+455 stub -noname PathIsValidCharA
+456 stub -noname PathIsValidCharW
+457 stub -noname GetLongPathNameWrapW
+458 stub -noname GetLongPathNameWrapA
+459 stub -noname SHExpandEnvironmentStringsA
+460 stub -noname SHExpandEnvironmentStringsW
+461 stub -noname SHGetAppCompatFlags
+462 stub -noname UrlFixupW
+463 stub -noname SHExpandEnvironmentStringsForUserA
+464 stub -noname SHExpandEnvironmentStringsForUserW
+465 stub -noname PathUnExpandEnvStringsForUserA
+466 stub -noname PathUnExpandEnvStringsForUserW
+467 stub -noname SHRunIndirectRegClientCommand
+468 stub -noname RunIndirectRegCommand
+469 stub -noname RunRegCommand
+470 stub -noname IUnknown_ProfferServiceOld
+471 stub -noname SHCreatePropertyBagOnRegKey
+472 stub -noname SHCreatePropertyBagOnProfileSelections
+473 stub -noname SHGetIniStringUTF7W
+474 stub -noname SHSetIniStringUTF7W
+475 stub -noname GetShellSecurityDescriptor
+476 stub -noname SHGetObjectCompatFlags
+477 stub -noname SHCreatePropertyBagOnMemory
+478 stub -noname IUnknown_TranslateAcceleratorIO
+479 stub -noname IUnknown_UIActivateIO
+480 stub -noname UrlCrackW
+481 stub -noname IUnknown_HasFocusIO
+482 stub -noname SHMessageBoxHelpA
+483 stub -noname SHMessageBoxHelpW
+484 stub -noname IUnknown_QueryServiceExec
+485 stub -noname MapWin32ErrorToSTG
+486 stub -noname ModeToCreateFileFlags
 
+488 stub -noname SHConvertGraphicsFile
+489 stub -noname GlobalAddAtomWrapW
+490 stub -noname GlobalFindAtomWrapW
+491 stdcall -noname SHGetShellKey(long long long)
+492 stub -noname PrettifyFileDescriptionW
+493 stub -noname SHPropertyBag_ReadType
+494 stub -noname SHPropertyBag_ReadStr
+495 stub -noname SHPropertyBag_WriteStr
+496 stub -noname SHPropertyBag_ReadInt
+497 stub -noname SHPropertyBag_WriteInt
+498 stub -noname SHPropertyBag_ReadBOOLOld
+499 stub -noname SHPropertyBag_WriteBOOL
+
+505 stub -noname SHPropertyBag_ReadGUID
+506 stub -noname SHPropertyBag_WriteGUID
+507 stub -noname SHPropertyBag_ReadDWORD
+508 stub -noname SHPropertyBag_WriteDWORD
+509 stdcall -noname IUnknown_OnFocusChangeIS(ptr ptr long)
+510 stub -noname SHLockSharedEx
+511 stub -noname PathFileExistsDefExtAndAttributesW
+512 stub -noname IStream_ReadPidl
+513 stub -noname IStream_WritePidl
+514 stub -noname IUnknown_ProfferService
+
+516 stdcall -noname SKGetValueW(long wstr wstr long long long)
+517 stub -noname SKSetValueW
+518 stub -noname SKDeleteValueW
+519 stub -noname SKAllocValueW
+520 stub -noname SHPropertyBag_ReadBSTR
+521 stub -noname SHPropertyBag_ReadPOINTL
+522 stub -noname SHPropertyBag_WritePOINTL
+523 stub -noname SHPropertyBag_ReadRECTL
+524 stub -noname SHPropertyBag_WriteRECTL
+525 stub -noname SHPropertyBag_ReadPOINTS
+526 stub -noname SHPropertyBag_WritePOINTS
+527 stub -noname SHPropertyBag_ReadSHORT
+528 stub -noname SHPropertyBag_WriteSHORT
+529 stub -noname SHPropertyBag_ReadInt
+530 stub -noname SHPropertyBag_WriteInt
+531 stub -noname SHPropertyBag_ReadStream
+532 stub -noname SHPropertyBag_WriteStream
+533 stub -noname SHGetPerScreenResName
+534 stub -noname SHPropertyBag_ReadBOOL
+535 stub -noname SHPropertyBag_Delete
+536 stub -noname IUnknown_QueryServicePropertyBag
+537 stub -noname SHBoolSystemParametersInfo
+538 stub -noname IUnknown_QueryServicePropertyBag
+539 stub -noname IUnknown_ShowBrowserBar
+540 stub -noname SHInvokeCommandOnContextMenu
+541 stub -noname SHInvokeCommandsOnContextMen
+542 stub -noname GetUIVersion
+543 stub -noname CreateColorSpaceWrapW
+544 stub -noname QuerySourceCreateFromKey
+545 stub -noname SHForwardContextMenuMsg
+546 stub -noname IUnknown_DoContextMenuPopup
+
+548 stub -noname SHAreIconsEqual
+549 stub -noname SHCoCreateInstanceAC
+550 stub -noname GetTemplateInfoFroHandle
+551 stub @ # IShellFolder_CompareIDs
+
+@ stdcall AssocCreate(long long long long ptr ptr)
+@ stdcall AssocQueryKeyA(long long str ptr ptr)
+@ stdcall AssocQueryKeyW(long long wstr ptr ptr)
+@ stdcall AssocQueryStringA(long long ptr ptr str ptr)
+@ stdcall AssocQueryStringByKeyA(long long ptr ptr str ptr)
+@ stdcall AssocQueryStringByKeyW(long long ptr ptr wstr ptr)
+@ stdcall AssocQueryStringW(long long ptr ptr wstr ptr)
+@ stdcall ChrCmpIA(long long)
+@ stdcall ChrCmpIW(long long)
+@ stdcall ColorAdjustLuma(long long long)
+@ stdcall ColorHLSToRGB(long long long)
+@ stdcall ColorRGBToHLS(long ptr ptr ptr)
 @ stdcall DllGetVersion (ptr) SHLWAPI_DllGetVersion
+@ stdcall GetMenuPosFromID(ptr long)
 @ stdcall HashData (ptr long ptr long)
 @ stub    IntlStrEqWorkerA
 @ stub    IntlStrEqWorkerW
Index: wine/dlls/shlwapi/string.c
===================================================================
RCS file: /home/wine/wine/dlls/shlwapi/string.c,v
retrieving revision 1.36
diff -u -r1.36 string.c
--- wine/dlls/shlwapi/string.c	5 Sep 2003 23:08:30 -0000	1.36
+++ wine/dlls/shlwapi/string.c	10 Sep 2003 11:51:53 -0000
@@ -2076,7 +2076,7 @@
  *  Success: A pointer to the last character written.
  *  Failure: lpszDest, if any arguments are invalid.
  */
-LPSTR WINAPI SHLWAPI_399(LPSTR lpszDest, LPCSTR lpszSrc, int iLen)
+LPSTR WINAPI StrCpyNXA(LPSTR lpszDest, LPCSTR lpszSrc, int iLen)
 {
   TRACE("(%p,%s,%i)\n", lpszDest, debugstr_a(lpszSrc), iLen);
 
@@ -2093,9 +2093,9 @@
 /*************************************************************************
  * @    [SHLWAPI.400]
  *
- * Unicode version of SHLWAPI_399.
+ * Unicode version of StrCpyNXA.
  */
-LPWSTR WINAPI SHLWAPI_400(LPWSTR lpszDest, LPCWSTR lpszSrc, int iLen)
+LPWSTR WINAPI StrCpyNXW(LPWSTR lpszDest, LPCWSTR lpszSrc, int iLen)
 {
   TRACE("(%p,%s,%i)\n", lpszDest, debugstr_w(lpszSrc), iLen);
 
@@ -2325,7 +2325,7 @@
 }
 
 /*************************************************************************
- *      SHLWAPI_203	[SHLWAPI.203]
+ *      @	[SHLWAPI.203]
  *
  * Remove a single non-trailing ampersand ('&') from a string.
  *
@@ -2336,7 +2336,7 @@
  *  The character after the first ampersand in lpszStr, or the first character
  *  in lpszStr if there is no ampersand in the string.
  */
-char WINAPI SHLWAPI_203(LPCSTR lpszStr)
+char WINAPI SHStripMneumonicA(LPCSTR lpszStr)
 {
   LPSTR lpszIter, lpszTmp;
   char ch;
Index: wine/dlls/shlwapi/thread.c
===================================================================
RCS file: /home/wine/wine/dlls/shlwapi/thread.c,v
retrieving revision 1.13
diff -u -r1.13 thread.c
--- wine/dlls/shlwapi/thread.c	5 Sep 2003 23:08:30 -0000	1.13
+++ wine/dlls/shlwapi/thread.c	10 Sep 2003 11:51:53 -0000
@@ -51,7 +51,7 @@
 
 extern DWORD SHLWAPI_ThreadRef_index;  /* Initialised in shlwapi_main.c */
 
-DWORD WINAPI SHLWAPI_23(REFGUID,LPSTR,INT);
+DWORD WINAPI SHStringFromGUIDA(REFGUID,LPSTR,INT);
 
 /**************************************************************************
  *      _CreateAllAccessSecurityAttributes       [SHLWAPI.356]
@@ -475,6 +475,7 @@
   TRACE("(%s)\n", debugstr_guid(guid));
 
   /* Create a named semaphore using the GUID string */
-  SHLWAPI_23(guid, szName, sizeof(szName) - 1);
+  SHStringFromGUIDA(guid, szName, sizeof(szName) - 1);
   return _SHGlobalCounterCreateNamedA(szName, 0);
 }
+
Index: wine/dlls/shlwapi/url.c
===================================================================
RCS file: /home/wine/wine/dlls/shlwapi/url.c,v
retrieving revision 1.24
diff -u -r1.24 url.c
--- wine/dlls/shlwapi/url.c	5 Sep 2003 23:08:30 -0000	1.24
+++ wine/dlls/shlwapi/url.c	10 Sep 2003 11:51:55 -0000
@@ -270,7 +270,7 @@
  *  Success: S_OK. y contains the parsed Url details.
  *  Failure: An HRESULT error code.
  */
-DWORD WINAPI SHLWAPI_1 (LPCSTR x, UNKNOWN_SHLWAPI_1 *y)
+DWORD WINAPI ParseURLA(LPCSTR x, UNKNOWN_SHLWAPI_1 *y)
 {
     DWORD cnt;
     const SHL_2_inet_scheme *inet_pro;
@@ -322,9 +322,9 @@
 /*************************************************************************
  *      @	[SHLWAPI.2]
  *
- * Unicode version of SHLWAPI_1.
+ * Unicode version of ParseURLA.
  */
-DWORD WINAPI SHLWAPI_2 (LPCWSTR x, UNKNOWN_SHLWAPI_2 *y)
+DWORD WINAPI ParseURLW(LPCWSTR x, UNKNOWN_SHLWAPI_2 *y)
 {
     DWORD cnt;
     const SHL_2_inet_scheme *inet_pro;
@@ -681,7 +681,7 @@
     ret = UrlCanonicalizeW(pszRelative, mrelative, &len, myflags);
 
     /* See if the base has a scheme */
-    res1 = SHLWAPI_2(mbase, &base);
+    res1 = ParseURLW(mbase, &base);
     if (res1) {
 	/* if pszBase has no scheme, then return pszRelative */
 	TRACE("no scheme detected in Base\n");
@@ -719,7 +719,7 @@
 	 *              the last '/'
 	 */
 
-	res2 = SHLWAPI_2(mrelative, &relative);
+	res2 = ParseURLW(mrelative, &relative);
 	if (res2) {
 	    /* no scheme in pszRelative */
 	    TRACE("no scheme detected in Relative\n");
@@ -1265,7 +1265,7 @@
     DWORD res1;
 
     base.size = 24;
-    res1 = SHLWAPI_1(pszUrl, &base);
+    res1 = ParseURLA(pszUrl, &base);
     if (res1) return NULL;  /* invalid scheme */
 
     /* if scheme is file: then never return pointer */
@@ -1287,7 +1287,7 @@
     DWORD res1;
 
     base.size = 24;
-    res1 = SHLWAPI_2(pszUrl, &base);
+    res1 = ParseURLW(pszUrl, &base);
     if (res1) return NULL;  /* invalid scheme */
 
     /* if scheme is file: then never return pointer */
@@ -1569,7 +1569,7 @@
 
     in_scheme.size = 24;
     /* See if the base has a scheme */
-    res1 = SHLWAPI_2(pszIn, &in_scheme);
+    res1 = ParseURLW(pszIn, &in_scheme);
     if (res1) {
 	/* no scheme in input, need to see if we need to guess */
 	if (dwFlags & URL_APPLY_GUESSSCHEME) {
@@ -1635,7 +1635,7 @@
 
     case URLIS_OPAQUE:
 	base.size = 24;
-	res1 = SHLWAPI_1(pszUrl, &base);
+	res1 = ParseURLA(pszUrl, &base);
 	if (res1) return FALSE;  /* invalid scheme */
 	if ((*base.ap2 == '/') && (*(base.ap2+1) == '/'))
 	    /* has scheme followed by 2 '/' */
@@ -1668,7 +1668,7 @@
 
     case URLIS_OPAQUE:
 	base.size = 24;
-	res1 = SHLWAPI_2(pszUrl, &base);
+	res1 = ParseURLW(pszUrl, &base);
 	if (res1) return FALSE;  /* invalid scheme */
 	if ((*base.ap2 == L'/') && (*(base.ap2+1) == L'/'))
 	    /* has scheme followed by 2 '/' */
@@ -2039,7 +2039,7 @@
 
     /* get protocol        */
     base.size = sizeof(base);
-    res1 = SHLWAPI_1(lpstrPath, &base);
+    res1 = ParseURLA(lpstrPath, &base);
     return (base.fcncde > 0);
 }
 
@@ -2057,7 +2057,7 @@
 
     /* get protocol        */
     base.size = sizeof(base);
-    res1 = SHLWAPI_2(lpstrPath, &base);
+    res1 = ParseURLW(lpstrPath, &base);
     return (base.fcncde > 0);
 }
 

[Index of Archives]     [Gimp for Windows]     [Red Hat]     [Samba]     [Yosemite Camping]     [Graphics Cards]     [Wine Home]

  Powered by Linux