Author: winesync
Date: Thu Nov 29 14:15:59 2007
New Revision: 30887
URL:
http://svn.reactos.org/svn/reactos?rev=30887&view=rev
Log:
Autosyncing with Wine HEAD
Modified:
trunk/reactos/dll/win32/shlwapi/assoc.c
trunk/reactos/dll/win32/shlwapi/clist.c
trunk/reactos/dll/win32/shlwapi/istream.c
trunk/reactos/dll/win32/shlwapi/ordinal.c
trunk/reactos/dll/win32/shlwapi/path.c
trunk/reactos/dll/win32/shlwapi/reg.c
trunk/reactos/dll/win32/shlwapi/regstream.c
trunk/reactos/dll/win32/shlwapi/shlwapi.rbuild
trunk/reactos/dll/win32/shlwapi/shlwapi.rc
trunk/reactos/dll/win32/shlwapi/shlwapi.spec
trunk/reactos/dll/win32/shlwapi/shlwapi_Ko.rc
trunk/reactos/dll/win32/shlwapi/shlwapi_Pt.rc
trunk/reactos/dll/win32/shlwapi/shlwapi_Sv.rc
trunk/reactos/dll/win32/shlwapi/shlwapi_ros.diff
trunk/reactos/dll/win32/shlwapi/string.c
trunk/reactos/dll/win32/shlwapi/thread.c
trunk/reactos/dll/win32/shlwapi/url.c
Modified: trunk/reactos/dll/win32/shlwapi/assoc.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shlwapi/assoc.c?…
==============================================================================
--- trunk/reactos/dll/win32/shlwapi/assoc.c (original)
+++ trunk/reactos/dll/win32/shlwapi/assoc.c Thu Nov 29 14:15:59 2007
@@ -414,7 +414,7 @@
/**************************************************************************
* AssocIsDangerous (SHLWAPI.@)
- *
+ *
* Determine if a file association is dangerous (potentially malware).
*
* PARAMS
@@ -468,7 +468,7 @@
{
IQueryAssociationsImpl *This = (IQueryAssociationsImpl *)iface;
ULONG refCount = InterlockedIncrement(&This->ref);
-
+
TRACE("(%p)->(ref before=%u)\n",This, refCount - 1);
return refCount;
@@ -491,7 +491,7 @@
TRACE("Destroying IQueryAssociations (%p)\n", This);
HeapFree(GetProcessHeap(), 0, This);
}
-
+
return refCount;
}
Modified: trunk/reactos/dll/win32/shlwapi/clist.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shlwapi/clist.c?…
==============================================================================
--- trunk/reactos/dll/win32/shlwapi/clist.c (original)
+++ trunk/reactos/dll/win32/shlwapi/clist.c Thu Nov 29 14:15:59 2007
@@ -34,8 +34,6 @@
/* dwSignature for contained DATABLOCK_HEADER items */
#define CLIST_ID_CONTAINER (~0U)
-HRESULT WINAPI SHAddDataBlock(LPDBLIST*,const DATABLOCK_HEADER*);
-
/*************************************************************************
* NextItem
*
@@ -46,6 +44,101 @@
char* address = (char*)lpList;
address += lpList->cbSize;
return (LPDATABLOCK_HEADER)address;
+}
+
+/*************************************************************************
+ * @ [SHLWAPI.20]
+ *
+ * Insert a new item into a DataBlock list.
+ *
+ * PARAMS
+ * lppList [0] Pointer to the List
+ * lpNewItem [I] The new item to add to the list
+ *
+ * RETURNS
+ * Success: S_OK. The item is added to the list.
+ * Failure: An HRESULT error code.
+ *
+ * NOTES
+ * If the size of the element to be inserted is less than the size of a
+ * DATABLOCK_HEADER node, or the Id for the item is CLIST_ID_CONTAINER,
+ * the call returns S_OK but does not actually add the element.
+ * See SHWriteDataBlockList.
+ */
+HRESULT WINAPI SHAddDataBlock(LPDBLIST* lppList, const DATABLOCK_HEADER *lpNewItem)
+{
+ LPDATABLOCK_HEADER lpInsertAt = NULL;
+ ULONG ulSize;
+
+ TRACE("(%p,%p)\n", lppList, lpNewItem);
+
+ if(!lppList || !lpNewItem )
+ return E_INVALIDARG;
+
+ if (lpNewItem->cbSize < sizeof(DATABLOCK_HEADER) ||
+ lpNewItem->dwSignature == CLIST_ID_CONTAINER)
+ return S_OK;
+
+ ulSize = lpNewItem->cbSize;
+
+ if(ulSize & 0x3)
+ {
+ /* Tune size to a ULONG boundary, add space for container element */
+ ulSize = ((ulSize + 0x3) & 0xFFFFFFFC) + sizeof(DATABLOCK_HEADER);
+ TRACE("Creating container item, new size = %d\n", ulSize);
+ }
+
+ if(!*lppList)
+ {
+ /* An empty list. Allocate space for terminal ulSize also */
+ *lppList = (LPDATABLOCK_HEADER)LocalAlloc(LMEM_ZEROINIT,
+ ulSize + sizeof(ULONG));
+ lpInsertAt = *lppList;
+ }
+ else
+ {
+ /* Append to the end of the list */
+ ULONG ulTotalSize = 0;
+ LPDATABLOCK_HEADER lpIter = *lppList;
+
+ /* Iterate to the end of the list, calculating the total size */
+ while (lpIter->cbSize)
+ {
+ ulTotalSize += lpIter->cbSize;
+ lpIter = NextItem(lpIter);
+ }
+
+ /* Increase the size of the list */
+ lpIter = (LPDATABLOCK_HEADER)LocalReAlloc((HLOCAL)*lppList,
+ ulTotalSize + ulSize+sizeof(ULONG),
+ LMEM_ZEROINIT | LMEM_MOVEABLE);
+ if(lpIter)
+ {
+ *lppList = lpIter;
+ lpInsertAt = (LPDATABLOCK_HEADER)((char*)lpIter + ulTotalSize); /* At end */
+ }
+ }
+
+ if(lpInsertAt)
+ {
+ /* Copy in the new item */
+ LPDATABLOCK_HEADER lpDest = lpInsertAt;
+
+ if(ulSize != lpNewItem->cbSize)
+ {
+ lpInsertAt->cbSize = ulSize;
+ lpInsertAt->dwSignature = CLIST_ID_CONTAINER;
+ lpDest++;
+ }
+ memcpy(lpDest, lpNewItem, lpNewItem->cbSize);
+
+ /* Terminate the list */
+ lpInsertAt = NextItem(lpInsertAt);
+ lpInsertAt->cbSize = 0;
+
+ return lpNewItem->cbSize;
+ }
+ return S_OK;
}
/*************************************************************************
@@ -247,101 +340,6 @@
}
/*************************************************************************
- * @ [SHLWAPI.20]
- *
- * Insert a new item into a DataBlock list.
- *
- * PARAMS
- * lppList [0] Pointer to the List
- * lpNewItem [I] The new item to add to the list
- *
- * RETURNS
- * Success: S_OK. The item is added to the list.
- * Failure: An HRESULT error code.
- *
- * NOTES
- * If the size of the element to be inserted is less than the size of a
- * DATABLOCK_HEADER node, or the Id for the item is CLIST_ID_CONTAINER,
- * the call returns S_OK but does not actually add the element.
- * See SHWriteDataBlockList.
- */
-HRESULT WINAPI SHAddDataBlock(LPDBLIST* lppList, const DATABLOCK_HEADER *lpNewItem)
-{
- LPDATABLOCK_HEADER lpInsertAt = NULL;
- ULONG ulSize;
-
- TRACE("(%p,%p)\n", lppList, lpNewItem);
-
- if(!lppList || !lpNewItem )
- return E_INVALIDARG;
-
- if (lpNewItem->cbSize < sizeof(DATABLOCK_HEADER) ||
- lpNewItem->dwSignature == CLIST_ID_CONTAINER)
- return S_OK;
-
- ulSize = lpNewItem->cbSize;
-
- if(ulSize & 0x3)
- {
- /* Tune size to a ULONG boundary, add space for container element */
- ulSize = ((ulSize + 0x3) & 0xFFFFFFFC) + sizeof(DATABLOCK_HEADER);
- TRACE("Creating container item, new size = %d\n", ulSize);
- }
-
- if(!*lppList)
- {
- /* An empty list. Allocate space for terminal ulSize also */
- *lppList = (LPDATABLOCK_HEADER)LocalAlloc(LMEM_ZEROINIT,
- ulSize + sizeof(ULONG));
- lpInsertAt = *lppList;
- }
- else
- {
- /* Append to the end of the list */
- ULONG ulTotalSize = 0;
- LPDATABLOCK_HEADER lpIter = *lppList;
-
- /* Iterate to the end of the list, calculating the total size */
- while (lpIter->cbSize)
- {
- ulTotalSize += lpIter->cbSize;
- lpIter = NextItem(lpIter);
- }
-
- /* Increase the size of the list */
- lpIter = (LPDATABLOCK_HEADER)LocalReAlloc((HLOCAL)*lppList,
- ulTotalSize + ulSize+sizeof(ULONG),
- LMEM_ZEROINIT | LMEM_MOVEABLE);
- if(lpIter)
- {
- *lppList = lpIter;
- lpInsertAt = (LPDATABLOCK_HEADER)((char*)lpIter + ulTotalSize); /* At end */
- }
- }
-
- if(lpInsertAt)
- {
- /* Copy in the new item */
- LPDATABLOCK_HEADER lpDest = lpInsertAt;
-
- if(ulSize != lpNewItem->cbSize)
- {
- lpInsertAt->cbSize = ulSize;
- lpInsertAt->dwSignature = CLIST_ID_CONTAINER;
- lpDest++;
- }
- memcpy(lpDest, lpNewItem, lpNewItem->cbSize);
-
- /* Terminate the list */
- lpInsertAt = NextItem(lpInsertAt);
- lpInsertAt->cbSize = 0;
-
- return lpNewItem->cbSize;
- }
- return S_OK;
-}
-
-/*************************************************************************
* @ [SHLWAPI.21]
*
* Remove an item from a DataBlock list.
@@ -427,7 +425,7 @@
* NOTES
* See SHWriteDataBlockList.
*/
-LPDATABLOCK_HEADER WINAPI SHFindDataBlock(LPDBLIST lpList, DWORD dwSignature)
+DATABLOCK_HEADER* WINAPI SHFindDataBlock(LPDBLIST lpList, DWORD dwSignature)
{
TRACE("(%p,%d)\n", lpList, dwSignature);
Modified: trunk/reactos/dll/win32/shlwapi/istream.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shlwapi/istream.…
==============================================================================
--- trunk/reactos/dll/win32/shlwapi/istream.c (original)
+++ trunk/reactos/dll/win32/shlwapi/istream.c Thu Nov 29 14:15:59 2007
@@ -82,7 +82,7 @@
{
ISHFileStream *This = (ISHFileStream *)iface;
ULONG refCount = InterlockedIncrement(&This->ref);
-
+
TRACE("(%p)->(ref before=%u)\n",This, refCount - 1);
return refCount;
@@ -94,10 +94,10 @@
static ULONG WINAPI IStream_fnRelease(IStream *iface)
{
ISHFileStream *This = (ISHFileStream *)iface;
- ULONG refCount = InterlockedDecrement(&This->ref);
+ ULONG refCount = InterlockedDecrement(&This->ref);
TRACE("(%p)->(ref before=%u)\n",This, refCount + 1);
-
+
if (!refCount)
{
IStream_fnCommit(iface, 0); /* If ever buffered, this will be needed */
@@ -105,7 +105,7 @@
CloseHandle(This->hFile);
HeapFree(GetProcessHeap(), 0, This);
}
-
+
return refCount;
}
@@ -548,7 +548,7 @@
* Failure: An HRESULT error code, or E_FAIL if the read succeeded but the
* number of bytes read does not match.
*/
-HRESULT WINAPI SHLWAPI_184(IStream *lpStream, LPVOID lpvDest, ULONG ulSize)
+HRESULT WINAPI SHIStream_Read(IStream *lpStream, LPVOID lpvDest, ULONG ulSize)
{
ULONG ulRead;
HRESULT hRet;
@@ -593,7 +593,7 @@
DWORD dwDummy;
/* Try to read from the stream */
- if(SUCCEEDED(SHLWAPI_184(lpStream, &dwDummy, sizeof(dwDummy))))
+ if(SUCCEEDED(SHIStream_Read(lpStream, &dwDummy, sizeof(dwDummy))))
{
LARGE_INTEGER zero;
zero.QuadPart = 0;
@@ -620,7 +620,7 @@
* Failure: An HRESULT error code, or E_FAIL if the write succeeded but the
* number of bytes written does not match.
*/
-HRESULT WINAPI SHLWAPI_212(IStream *lpStream, LPCVOID lpvSrc, ULONG ulSize)
+HRESULT WINAPI SHIStream_Write(IStream *lpStream, LPCVOID lpvSrc, ULONG ulSize)
{
ULONG ulWritten;
HRESULT hRet;
Modified: trunk/reactos/dll/win32/shlwapi/ordinal.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shlwapi/ordinal.…
==============================================================================
--- trunk/reactos/dll/win32/shlwapi/ordinal.c (original)
+++ trunk/reactos/dll/win32/shlwapi/ordinal.c Thu Nov 29 14:15:59 2007
@@ -33,6 +33,7 @@
#include "windef.h"
#include "winbase.h"
+#include "winnls.h"
#include "winreg.h"
#include "wingdi.h"
#include "winuser.h"
@@ -529,9 +530,15 @@
langbufW = HeapAlloc(GetProcessHeap(), 0, sizeof(WCHAR) * buflenW);
retval = GetAcceptLanguagesW(langbufW, &buflenW);
- /* FIXME: this is wrong, the string may not be null-terminated */
- convlen = WideCharToMultiByte(CP_ACP, 0, langbufW, -1, langbuf,
- *buflen, NULL, NULL);
+ if (retval == S_OK)
+ {
+ convlen = WideCharToMultiByte(CP_ACP, 0, langbufW, -1, langbuf, *buflen, NULL,
NULL);
+ }
+ else /* copy partial string anyway */
+ {
+ convlen = WideCharToMultiByte(CP_ACP, 0, langbufW, *buflen, langbuf, *buflen,
NULL, NULL);
+ if (convlen < *buflen) langbuf[convlen] = 0;
+ }
*buflen = buflenW ? convlen : 0;
HeapFree(GetProcessHeap(), 0, langbufW);
@@ -725,53 +732,9 @@
* @ [SHLWAPI.35]
*
*/
-BOOL WINAPI GetStringType3ExW(LPWSTR lpszStr, DWORD dwLen, LPVOID p3)
-{
- FIXME("(%s,0x%08x,%p): stub\n", debugstr_w(lpszStr), dwLen, p3);
- return TRUE;
-}
-
-/*************************************************************************
- * @ [SHLWAPI.36]
- *
- * Insert a bitmap menu item at the bottom of a menu.
- *
- * PARAMS
- * hMenu [I] Menu to insert into
- * flags [I] Flags for insertion
- * id [I] Menu ID of the item
- * str [I] Menu text for the item
- *
- * RETURNS
- * Success: TRUE, the item is inserted into the menu
- * Failure: FALSE, if any parameter is invalid
- */
-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);
-}
-
-/*************************************************************************
- * @ [SHLWAPI.138]
- *
- * Set the text of a given dialog item.
- *
- * PARAMS
- * hWnd [I] Handle of dialog
- * iItem [I] Index of item
- * lpszText [O] Text to set
- *
- * RETURNS
- * Success: TRUE. The text of the dialog is set to lpszText.
- * Failure: FALSE, Otherwise.
- */
-BOOL WINAPI SetDlgItemTextWrapW(HWND hWnd, INT iItem, LPCWSTR lpszText)
-{
- HWND hWndItem = GetDlgItem(hWnd, iItem);
- if (hWndItem)
- return SetWindowTextW(hWndItem, lpszText);
- return FALSE;
+BOOL WINAPI GetStringType3ExW(LPWSTR src, INT count, LPWORD type)
+{
+ return GetStringTypeW(CT_CTYPE3, src, count, type);
}
/*************************************************************************
@@ -790,7 +753,7 @@
*/
DWORD WINAPI StrCmpNCA(LPCSTR lpszSrc, LPCSTR lpszCmp, INT len)
{
- return strncmp(lpszSrc, lpszCmp, len);
+ return StrCmpNA(lpszSrc, lpszCmp, len);
}
/*************************************************************************
@@ -800,7 +763,7 @@
*/
DWORD WINAPI StrCmpNCW(LPCWSTR lpszSrc, LPCWSTR lpszCmp, INT len)
{
- return strncmpW(lpszSrc, lpszCmp, len);
+ return StrCmpNW(lpszSrc, lpszCmp, len);
}
/*************************************************************************
@@ -819,7 +782,7 @@
*/
DWORD WINAPI StrCmpNICA(LPCSTR lpszSrc, LPCSTR lpszCmp, DWORD len)
{
- return strncasecmp(lpszSrc, lpszCmp, len);
+ return StrCmpNIA(lpszSrc, lpszCmp, len);
}
/*************************************************************************
@@ -829,7 +792,7 @@
*/
DWORD WINAPI StrCmpNICW(LPCWSTR lpszSrc, LPCWSTR lpszCmp, DWORD len)
{
- return strncmpiW(lpszSrc, lpszCmp, len);
+ return StrCmpNIW(lpszSrc, lpszCmp, len);
}
/*************************************************************************
@@ -847,7 +810,7 @@
*/
DWORD WINAPI StrCmpCA(LPCSTR lpszSrc, LPCSTR lpszCmp)
{
- return strcmp(lpszSrc, lpszCmp);
+ return lstrcmpA(lpszSrc, lpszCmp);
}
/*************************************************************************
@@ -857,7 +820,7 @@
*/
DWORD WINAPI StrCmpCW(LPCWSTR lpszSrc, LPCWSTR lpszCmp)
{
- return strcmpW(lpszSrc, lpszCmp);
+ return lstrcmpW(lpszSrc, lpszCmp);
}
/*************************************************************************
@@ -875,7 +838,7 @@
*/
DWORD WINAPI StrCmpICA(LPCSTR lpszSrc, LPCSTR lpszCmp)
{
- return strcasecmp(lpszSrc, lpszCmp);
+ return lstrcmpiA(lpszSrc, lpszCmp);
}
/*************************************************************************
@@ -885,7 +848,7 @@
*/
DWORD WINAPI StrCmpICW(LPCWSTR lpszSrc, LPCWSTR lpszCmp)
{
- return strcmpiW(lpszSrc, lpszCmp);
+ return lstrcmpiW(lpszSrc, lpszCmp);
}
/*************************************************************************
@@ -1775,29 +1738,29 @@
/*************************************************************************
* @ [SHLWAPI.189]
*
- * Call IOleControlSite_GetExtendedControl() on an object.
+ * Call IOleControlSite_OnFocus() on an object.
*
* PARAMS
* lpUnknown [I] Object supporting the IOleControlSite interface.
- * lppDisp [O] Destination for resulting IDispatch.
+ * fGotFocus [I] Whether focus was gained (TRUE) or lost (FALSE).
*
* RETURNS
* Success: S_OK.
* Failure: An HRESULT error code, or E_FAIL if lpUnknown is NULL.
*/
-DWORD WINAPI IUnknown_OnFocusOCS(IUnknown *lpUnknown, IDispatch** lppDisp)
+HRESULT WINAPI IUnknown_OnFocusOCS(IUnknown *lpUnknown, BOOL fGotFocus)
{
IOleControlSite* lpCSite = NULL;
HRESULT hRet = E_FAIL;
- TRACE("(%p,%p)\n", lpUnknown, lppDisp);
+ TRACE("(%p,%s)\n", lpUnknown, fGotFocus ? "TRUE" :
"FALSE");
if (lpUnknown)
{
hRet = IUnknown_QueryInterface(lpUnknown, &IID_IOleControlSite,
(void**)&lpCSite);
if (SUCCEEDED(hRet) && lpCSite)
{
- hRet = IOleControlSite_GetExtendedControl(lpCSite, lppDisp);
+ hRet = IOleControlSite_OnFocus(lpCSite, fGotFocus);
IOleControlSite_Release(lpCSite);
}
}
@@ -2140,7 +2103,7 @@
/*************************************************************************
* @ [SHLWAPI.208]
*
- * Initialize an FDSA arrary.
+ * Initialize an FDSA arrary.
*/
BOOL WINAPI FDSA_Initialize(DWORD block_size, DWORD inc, FDSA_info *info, void *mem,
DWORD init_blocks)
@@ -2152,7 +2115,7 @@
if(mem)
memset(mem, 0, block_size * init_blocks);
-
+
info->num_items = 0;
info->inc = inc;
info->mem = mem;
@@ -2837,22 +2800,69 @@
*
* _SHPackDispParamsV
*/
-HRESULT WINAPI SHPackDispParamsV(LPVOID w, LPVOID x, LPVOID y, LPVOID z)
-{
- FIXME("%p %p %p %p\n",w,x,y,z);
- return E_FAIL;
+HRESULT WINAPI SHPackDispParamsV(DISPPARAMS *params, VARIANTARG *args, UINT cnt, va_list
valist)
+{
+ VARIANTARG *iter;
+
+ TRACE("(%p %p %u ...)\n", params, args, cnt);
+
+ params->rgvarg = args;
+ params->rgdispidNamedArgs = NULL;
+ params->cArgs = cnt;
+ params->cNamedArgs = 0;
+
+ iter = args+cnt;
+
+ while(iter-- > args) {
+ V_VT(iter) = va_arg(valist, enum VARENUM);
+
+ TRACE("vt=%d\n", V_VT(iter));
+
+ if(V_VT(iter) & VT_BYREF) {
+ V_BYREF(iter) = va_arg(valist, LPVOID);
+ } else {
+ switch(V_VT(iter)) {
+ case VT_I4:
+ V_I4(iter) = va_arg(valist, LONG);
+ break;
+ case VT_BSTR:
+ V_BSTR(iter) = va_arg(valist, BSTR);
+ break;
+ case VT_DISPATCH:
+ V_DISPATCH(iter) = va_arg(valist, IDispatch*);
+ break;
+ case VT_BOOL:
+ V_BOOL(iter) = va_arg(valist, int);
+ break;
+ case VT_UNKNOWN:
+ V_UNKNOWN(iter) = va_arg(valist, IUnknown*);
+ break;
+ default:
+ V_VT(iter) = VT_I4;
+ V_I4(iter) = va_arg(valist, LONG);
+ }
+ }
+ }
+
+ return S_OK;
}
/*************************************************************************
* @ [SHLWAPI.282]
*
- * This function seems to be a forward to SHPackDispParamsV (whatever THAT
- * function does...).
- */
-HRESULT WINAPI SHPackDispParams(LPVOID w, LPVOID x, LPVOID y, LPVOID z)
-{
- FIXME("%p %p %p %p\n", w, x, y, z);
- return E_FAIL;
+ * SHPackDispParams
+ */
+HRESULT WINAPIV SHPackDispParams(DISPPARAMS *params, VARIANTARG *args, UINT cnt, ...)
+{
+ va_list valist;
+ HRESULT hres;
+
+ va_start(valist, cnt);
+
+ hres = SHPackDispParamsV(params, args, cnt, valist);
+
+ va_end(valist);
+ return hres;
}
/*************************************************************************
@@ -2976,64 +2986,27 @@
HRESULT result;
IConnectionPoint *iCP;
IConnectionPointContainer *iCPC;
+ DISPPARAMS dispParams = {buffer, NULL, cParams, 0};
+ va_list valist;
if (!container)
return E_NOINTERFACE;
result = IUnknown_QueryInterface(container,
&IID_IConnectionPointContainer,(LPVOID*) &iCPC);
- if (SUCCEEDED(result))
- {
- result = IConnectionPointContainer_FindConnectionPoint(iCPC, riid, &iCP);
- IConnectionPointContainer_Release(iCPC);
- }
-
- if (SUCCEEDED(result))
- {
- ULONG cnt;
- VARIANTARG *curvar = buffer+cParams-1;
- DISPPARAMS dispParams = {buffer, NULL, cParams, 0};
- va_list valist;
-
- va_start(valist, cParams);
- for(cnt=cParams;cnt>0;cnt--,curvar--) /* backwards for some reason */
- {
- enum VARENUM vt = va_arg(valist, enum VARENUM);
- memset(curvar, 0, sizeof(*curvar));
- if (vt & VT_BYREF)
- {
- V_VT(curvar) = vt;
- V_BYREF(curvar) = va_arg(valist, LPVOID);
- } else
- switch(vt)
- {
- case VT_BSTR:
- V_VT(curvar) = vt;
- V_BSTR(curvar) = va_arg(valist, BSTR);
- break;
- case VT_DISPATCH:
- V_VT(curvar) = vt;
- V_DISPATCH(curvar) = va_arg(valist, IDispatch*);
- break;
- case VT_BOOL:
- V_VT(curvar) = vt;
- V_BOOL(curvar) = va_arg(valist, int);
- break;
- case VT_UNKNOWN:
- V_VT(curvar) = vt;
- V_UNKNOWN(curvar) = va_arg(valist, IUnknown*);
- break;
- case VT_I4:
- default:
- V_VT(curvar) = VT_I4;
- V_I4(curvar) = va_arg(valist, LONG);
- break;
- }
- }
- va_end(valist);
-
- result = SHLWAPI_InvokeByIID(iCP, riid, dispId, &dispParams);
- IConnectionPoint_Release(iCP);
- }
+ if (FAILED(result))
+ return result;
+
+ result = IConnectionPointContainer_FindConnectionPoint(iCPC, riid, &iCP);
+ IConnectionPointContainer_Release(iCPC);
+ if(FAILED(result))
+ return result;
+
+ va_start(valist, cParams);
+ SHPackDispParamsV(&dispParams, buffer, cParams, valist);
+ va_end(valist);
+
+ result = SHLWAPI_InvokeByIID(iCP, riid, dispId, &dispParams);
+ IConnectionPoint_Release(iCP);
return result;
}
@@ -3536,7 +3509,7 @@
/*************************************************************************
* @ [SHLWAPI.404]
*/
-HRESULT WINAPI IUnknown_EnumObjects(LPSHELLFOLDER lpFolder, HWND hwnd, SHCONTF flags,
IEnumIDList **ppenum)
+HRESULT WINAPI SHIShellFolder_EnumObjects(LPSHELLFOLDER lpFolder, HWND hwnd, SHCONTF
flags, IEnumIDList **ppenum)
{
IPersist *persist;
HRESULT hr;
@@ -3673,16 +3646,6 @@
BOOL WINAPI SHFlushSFCacheWrap(void) {
FIXME(": stub\n");
return TRUE;
-}
-
-/*************************************************************************
- * @ [SHLWAPI.425]
- */
-BOOL WINAPI DeleteMenuWrap(HMENU hmenu, UINT pos, UINT flags)
-{
- /* FIXME: This should do more than simply call DeleteMenu */
- FIXME("%p %08x %08x): semi-stub\n", hmenu, pos, flags);
- return DeleteMenu(hmenu, pos, flags);
}
/*************************************************************************
@@ -4195,7 +4158,7 @@
/***********************************************************************
* SHQueueUserWorkItem (SHLWAPI.@)
*/
-BOOL WINAPI SHQueueUserWorkItem(LPTHREAD_START_ROUTINE pfnCallback,
+BOOL WINAPI SHQueueUserWorkItem(LPTHREAD_START_ROUTINE pfnCallback,
LPVOID pContext, LONG lPriority, DWORD_PTR dwTag,
DWORD_PTR *pdwId, LPCSTR pszModule, DWORD dwFlags)
{
@@ -4297,26 +4260,45 @@
/***********************************************************************
* ShellMessageBoxWrapW [SHLWAPI.388]
*
- * loads a string resource for a module, displays the string in a
- * message box and writes it into the logfile
- *
- * PARAMS
- * mod [I] the module containing the string resource
- * unknown1 [I] FIXME
- * uId [I] the id of the string resource
- * title [I] the title of the message box
- * unknown2 [I] FIXME
- * filename [I] name of the logfile
- *
- * RETURNS
- * FIXME
- */
-BOOL WINAPI ShellMessageBoxWrapW(HMODULE mod, DWORD unknown1, UINT uId,
- LPCWSTR title, DWORD unknown2, LPCWSTR filename)
-{
- FIXME("%p %x %d %s %x %s\n",
- mod, unknown1, uId, debugstr_w(title), unknown2, debugstr_w(filename));
- return TRUE;
+ * See shell32.ShellMessageBoxW
+ *
+ * NOTE:
+ * shlwapi.ShellMessageBoxWrapW is a duplicate of shell32.ShellMessageBoxW
+ * because we can't forward to it in the .spec file since it's exported by
+ * ordinal. If you change the implementation here please update the code in
+ * shell32 as well.
+ */
+INT WINAPIV ShellMessageBoxWrapW(HINSTANCE hInstance, HWND hWnd, LPCWSTR lpText,
+ LPCWSTR lpCaption, UINT uType, ...)
+{
+ WCHAR szText[100], szTitle[100];
+ LPCWSTR pszText = szText, pszTitle = szTitle;
+ LPWSTR pszTemp;
+ va_list args;
+ int ret;
+
+ va_start(args, uType);
+
+ TRACE("(%p,%p,%p,%p,%08x)\n", hInstance, hWnd, lpText, lpCaption, uType);
+
+ if (IS_INTRESOURCE(lpCaption))
+ LoadStringW(hInstance, LOWORD(lpCaption), szTitle,
sizeof(szTitle)/sizeof(szTitle[0]));
+ else
+ pszTitle = lpCaption;
+
+ if (IS_INTRESOURCE(lpText))
+ LoadStringW(hInstance, LOWORD(lpText), szText,
sizeof(szText)/sizeof(szText[0]));
+ else
+ pszText = lpText;
+
+ FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_STRING,
+ pszText, 0, 0, (LPWSTR)&pszTemp, 0, &args);
+
+ va_end(args);
+
+ ret = MessageBoxW(hWnd, pszTemp, pszTitle, uType);
+ LocalFree((HLOCAL)pszTemp);
+ return ret;
}
HRESULT WINAPI IUnknown_QueryServiceExec(IUnknown *unk, REFIID service, REFIID clsid,
@@ -4342,7 +4324,10 @@
return 0x95;
}
-void WINAPI SHChangeNotify(LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID dwItem2)
+/***********************************************************************
+ * SHChangeNotifyWrap [SHLWAPI.394]
+ */
+void WINAPI SHChangeNotifyWrap(LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID
dwItem2)
{
SHChangeNotify(wEventId, uFlags, dwItem1, dwItem2);
}
@@ -4408,7 +4393,7 @@
BOOL ret = TRUE;
if (!memcmp((void*)sid, (void*)&null_sid, sizeof(SHELL_USER_SID)))
- { /* current user's SID */
+ { /* current user's SID */
if (!cur_user)
{
HANDLE Token;
@@ -4460,14 +4445,14 @@
case ACCESS_ALLOWED_ACE_TYPE:
if (!AddAccessAllowedAce(pAcl, ACL_REVISION, sup->dwAccessMask,
sid))
goto error;
- if (sup->fInherit && !AddAccessAllowedAceEx(pAcl,
ACL_REVISION,
+ if (sup->fInherit && !AddAccessAllowedAceEx(pAcl,
ACL_REVISION,
(BYTE)sup->dwInheritMask, sup->dwInheritAccessMask,
sid))
goto error;
break;
case ACCESS_DENIED_ACE_TYPE:
if (!AddAccessDeniedAce(pAcl, ACL_REVISION, sup->dwAccessMask,
sid))
goto error;
- if (sup->fInherit && !AddAccessDeniedAceEx(pAcl,
ACL_REVISION,
+ if (sup->fInherit && !AddAccessDeniedAceEx(pAcl,
ACL_REVISION,
(BYTE)sup->dwInheritMask, sup->dwInheritAccessMask,
sid))
goto error;
break;
Modified: trunk/reactos/dll/win32/shlwapi/path.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shlwapi/path.c?r…
==============================================================================
--- trunk/reactos/dll/win32/shlwapi/path.c (original)
+++ trunk/reactos/dll/win32/shlwapi/path.c Thu Nov 29 14:15:59 2007
@@ -3308,7 +3308,7 @@
while(*pszPath == '\\')
pszPath++;
-
+
if(isalphaW(*pszPath) && pszPath[1] == '|' && pszPath[2] ==
'\\') /* c|\ -> c:\ */
pszPath[1] = ':';
Modified: trunk/reactos/dll/win32/shlwapi/reg.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shlwapi/reg.c?re…
==============================================================================
--- trunk/reactos/dll/win32/shlwapi/reg.c (original)
+++ trunk/reactos/dll/win32/shlwapi/reg.c Thu Nov 29 14:15:59 2007
@@ -210,7 +210,7 @@
* SHRegCreateUSKeyA [SHLWAPI.@]
*
* Create or open a user-specific registry key.
- *
+ *
* PARAMS
* pszPath [I] Key name to create or open.
* samDesired [I] Wanted security access.
@@ -251,7 +251,7 @@
* PARAMS
* hUSKey [I] Handle to an open registry key.
* pszValue [I] Empty key name.
- * delRegFlags [I] Flag that specifies the base from which to delete
+ * delRegFlags [I] Flag that specifies the base from which to delete
* the key.
*
* RETURNS
@@ -1550,7 +1550,7 @@
}
if (dwRet == ERROR_NO_MORE_ITEMS)
dwRet = ERROR_SUCCESS;
-
+
if (lpszName != szNameBuf)
HeapFree(GetProcessHeap(), 0, lpszName); /* Free buffer if allocated */
}
Modified: trunk/reactos/dll/win32/shlwapi/regstream.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shlwapi/regstrea…
==============================================================================
--- trunk/reactos/dll/win32/shlwapi/regstream.c (original)
+++ trunk/reactos/dll/win32/shlwapi/regstream.c Thu Nov 29 14:15:59 2007
@@ -78,7 +78,7 @@
{
ISHRegStream *This = (ISHRegStream *)iface;
ULONG refCount = InterlockedIncrement(&This->ref);
-
+
TRACE("(%p)->(ref before=%u)\n",This, refCount - 1);
return refCount;
Modified: trunk/reactos/dll/win32/shlwapi/shlwapi.rbuild
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shlwapi/shlwapi.…
==============================================================================
--- trunk/reactos/dll/win32/shlwapi/shlwapi.rbuild (original)
+++ trunk/reactos/dll/win32/shlwapi/shlwapi.rbuild Thu Nov 29 14:15:59 2007
@@ -1,13 +1,12 @@
+<?xml version="1.0"?>
+<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
<module name="shlwapi" type="win32dll"
baseaddress="${BASEADDRESS_SHLWAPI}" installbase="system32"
installname="shlwapi.dll" allowwarnings="true">
<importlibrary definition="shlwapi.spec.def" />
<include base="shlwapi">.</include>
<include base="ReactOS">include/reactos/wine</include>
- <define name="__REACTOS__" />
<define name="__WINESRC__" />
- <define name="__USE_W32API" />
- <define name="_WIN32_IE">0x600</define>
- <define name="_WIN32_WINNT">0x501</define>
- <define name="WINVER">0x501</define>
+ <define name="WINVER">0x600</define>
+ <define name="_WIN32_WINNT">0x600</define>
<library>wine</library>
<library>user32</library>
<library>gdi32</library>
Modified: trunk/reactos/dll/win32/shlwapi/shlwapi.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shlwapi/shlwapi.…
==============================================================================
--- trunk/reactos/dll/win32/shlwapi/shlwapi.rc (original)
+++ trunk/reactos/dll/win32/shlwapi/shlwapi.rc Thu Nov 29 14:15:59 2007
@@ -40,6 +40,6 @@
#include "shlwapi_Pl.rc"
#include "shlwapi_Pt.rc"
#include "shlwapi_Ru.rc"
+#include "shlwapi_Sv.rc"
#include "shlwapi_Tr.rc"
-#include "shlwapi_Sv.rc"
#include "shlwapi_Uk.rc"
Modified: trunk/reactos/dll/win32/shlwapi/shlwapi.spec
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shlwapi/shlwapi.…
==============================================================================
--- trunk/reactos/dll/win32/shlwapi/shlwapi.spec (original)
+++ trunk/reactos/dll/win32/shlwapi/shlwapi.spec Thu Nov 29 14:15:59 2007
@@ -13,7 +13,7 @@
13 stdcall -noname RegisterDefaultAcceptHeaders(ptr ptr)
14 stdcall -noname GetAcceptLanguagesA(ptr ptr)
15 stdcall -noname GetAcceptLanguagesW(ptr ptr)
-16 stdcall SHCreateThread(ptr ptr long ptr)
+16 stdcall -noname SHCreateThread(ptr ptr long ptr)
17 stdcall -noname SHWriteDataBlockList(ptr ptr)
18 stdcall -noname SHReadDataBlockList(ptr ptr)
19 stdcall -noname SHFreeDataBlockList(ptr)
@@ -33,121 +33,121 @@
33 stdcall -noname IsCharDigitW(long)
34 stdcall -noname IsCharXDigitW(long)
35 stdcall -noname GetStringType3ExW(ptr long ptr)
-36 stdcall -noname AppendMenuWrapW(long long long wstr)
-37 stdcall @(ptr long long long long) user32.CallWindowProcW
-38 stdcall @(wstr) user32.CharLowerW
-39 stdcall @(wstr long) user32.CharLowerBuffW
-40 stdcall @(wstr) user32.CharNextW
-41 stdcall @(wstr wstr) user32.CharPrevW
-42 stdcall @(wstr) user32.CharToOemW
-43 stdcall @(wstr) user32.CharUpperW
-44 stdcall @(wstr long) user32.CharUpperBuffW
-45 stdcall @(long long wstr long wstr long) kernel32.CompareStringW
-46 stdcall @(long ptr long) user32.CopyAcceleratorTableW
-47 stdcall @(ptr long) user32.CreateAcceleratorTableW
-48 stdcall @(wstr wstr wstr ptr) gdi32.CreateDCW
-49 stdcall @(long ptr long ptr long) user32.CreateDialogParamA
-50 stdcall @(wstr ptr) kernel32.CreateDirectoryW
-51 stdcall @(ptr long long wstr) kernel32.CreateEventW
-52 stdcall @(wstr long long ptr long long long) kernel32.CreateFileW
-53 stdcall @(ptr) gdi32.CreateFontIndirectW
-54 stdcall @(wstr wstr wstr ptr) gdi32.CreateICW
-55 stdcall @(long wstr wstr long long long long long long long long ptr)
user32.CreateWindowExW
-56 stdcall @(long long long long) user32.DefWindowProcW
-57 stdcall @(wstr) kernel32.DeleteFileW
-58 stdcall @(long ptr long ptr long) user32.DialogBoxIndirectParamW
-59 stdcall @(long wstr long ptr long) user32.DialogBoxParamW
-60 stdcall @(ptr) user32.DispatchMessageW
-61 stdcall @(long wstr long ptr long) user32.DrawTextW
-62 stdcall @(long wstr ptr long) gdi32.EnumFontFamiliesW
-63 stdcall @(long ptr ptr long long) gdi32.EnumFontFamiliesExW
-64 stdcall @(long wstr ptr long) kernel32.EnumResourceNamesW
-65 stdcall @(wstr ptr) kernel32.FindFirstFileW
-66 stdcall @(long wstr wstr) kernel32.FindResourceW
-67 stdcall @(wstr wstr) user32.FindWindowW
-68 stdcall @(long ptr long long ptr long ptr) kernel32.FormatMessageW
-69 stdcall @(long wstr ptr) user32.GetClassInfoW
-70 stdcall @(long long) user32.GetClassLongW
-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) user32.GetDlgItemTextW
-75 stdcall @(wstr) kernel32.GetFileAttributesW
-76 stdcall @(wstr long ptr ptr) kernel32.GetFullPathNameW
-77 stdcall @(long long ptr long) kernel32.GetLocaleInfoW
-78 stdcall @(long long ptr long long) user32.GetMenuStringW
-79 stdcall @(ptr long long long) user32.GetMessageW
-80 stdcall @(long ptr long) kernel32.GetModuleFileNameW
-81 stdcall @(ptr long) kernel32.GetSystemDirectoryW
-82 stdcall @(wstr wstr wstr long ptr ptr) kernel32.SearchPathW
-83 stdcall @(wstr) kernel32.GetModuleHandleW
-84 stdcall @(long long ptr) gdi32.GetObjectW
-85 stdcall @(wstr wstr long wstr) kernel32.GetPrivateProfileIntW
-86 stdcall @(wstr wstr wstr ptr long) kernel32.GetProfileStringW
-87 stdcall @(long wstr) user32.GetPropW
-88 stdcall @(long long wstr long ptr) kernel32.GetStringTypeExW
-89 stdcall @(wstr wstr long ptr) kernel32.GetTempFileNameW
-90 stdcall @(long ptr) kernel32.GetTempPathW
-91 stdcall @(long wstr long ptr) gdi32.GetTextExtentPoint32W
-92 stdcall @(long long ptr) gdi32.GetTextFaceW
-93 stdcall @(long ptr) gdi32.GetTextMetricsW
-94 stdcall @(long long) user32.GetWindowLongW
-95 stdcall @(long ptr long) user32.GetWindowTextW
-96 stdcall @(long) user32.GetWindowTextLengthW
-97 stdcall @(ptr long) kernel32.GetWindowsDirectoryW
-98 stdcall @(long long long long ptr) user32.InsertMenuW
-99 stdcall @(long ptr) user32.IsDialogMessageW
-100 stdcall @(long wstr) user32.LoadAcceleratorsW
-101 stdcall @(long wstr) user32.LoadBitmapW
-102 stdcall @(long wstr) user32.LoadCursorW
-103 stdcall @(long wstr) user32.LoadIconW
-104 stdcall @(long wstr long long long long) user32.LoadImageW
-105 stdcall @(wstr long long) kernel32.LoadLibraryExW
-106 stdcall @(long wstr) user32.LoadMenuW
-107 stdcall @(long long ptr long) user32.LoadStringW
-108 stdcall @(ptr) user32.MessageBoxIndirectW
-109 stdcall @(long long long long ptr) user32.ModifyMenuW
-110 stdcall @(long long long long) gdi32.GetCharWidth32W
-111 stdcall @(long wstr long long ptr long) gdi32.GetCharacterPlacementW
-112 stdcall @(wstr wstr long) kernel32.CopyFileW
-113 stdcall @(wstr wstr) kernel32.MoveFileW
-114 stdcall @(ptr ptr) user32.OemToCharW
-115 stdcall @(wstr) kernel32.OutputDebugStringW
-116 stdcall @(ptr long long long long) user32.PeekMessageW
-117 stdcall @(long long long long) user32.PostMessageW
-118 stdcall @(long long long long) user32.PostThreadMessageW
-119 stdcall @(long wstr ptr) advapi32.RegCreateKeyW
-120 stdcall @(long wstr long ptr long long ptr ptr ptr) advapi32.RegCreateKeyExW
-121 stdcall @(long wstr) advapi32.RegDeleteKeyW
-122 stdcall @(long long ptr long) advapi32.RegEnumKeyW
-123 stdcall @(long long ptr ptr ptr ptr ptr ptr) advapi32.RegEnumKeyExW
-124 stdcall @(long wstr ptr) advapi32.RegOpenKeyW
-125 stdcall @(long wstr long long ptr) advapi32.RegOpenKeyExW
-126 stdcall @(long ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr)
advapi32.RegQueryInfoKeyW
-127 stdcall @(long wstr ptr ptr) advapi32.RegQueryValueW
-128 stdcall @(long wstr ptr ptr ptr ptr) advapi32.RegQueryValueExW
-129 stdcall @(long wstr long ptr long) advapi32.RegSetValueW
-130 stdcall @(long wstr long long ptr long) advapi32.RegSetValueExW
-131 stdcall @(ptr) user32.RegisterClassW
-132 stdcall @(wstr) user32.RegisterClipboardFormatW
-133 stdcall @(wstr) user32.RegisterWindowMessageW
-134 stdcall @(long wstr) user32.RemovePropW
-135 stdcall @(long long long long long) user32.SendDlgItemMessageW
-136 stdcall @(long long long long) user32.SendMessageW
-137 stdcall @(wstr) kernel32.SetCurrentDirectoryW
-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
-142 stdcall @(long long long long) user32.SetWindowsHookExW
-143 stdcall @(long wstr) user32.SetWindowTextW
-144 stdcall @(long ptr) gdi32.StartDocW
-145 stdcall @(long long ptr long) user32.SystemParametersInfoW
-146 stdcall @(long long ptr) user32.TranslateAcceleratorW
-147 stdcall @(wstr long) user32.UnregisterClassW
-148 stdcall @(long) user32.VkKeyScanW
-149 stdcall @(long wstr long long) user32.WinHelpW
-150 stdcall @(ptr wstr ptr) user32.wvsprintfW
+36 stdcall -noname AppendMenuWrapW(long long long wstr) user32.AppendMenuW
+37 stdcall -noname CallWindowProcWrapW(ptr long long long long) user32.CallWindowProcW
+38 stdcall -noname CharLowerWrapW(wstr) user32.CharLowerW
+39 stdcall -noname CharLowerBuffWrapW(wstr long) user32.CharLowerBuffW
+40 stdcall -noname CharNextWrapW(wstr) user32.CharNextW
+41 stdcall -noname CharPrevWrapW(wstr wstr) user32.CharPrevW
+42 stdcall -noname CharToOemWrapW(wstr) user32.CharToOemW
+43 stdcall -noname CharUpperWrapW(wstr) user32.CharUpperW
+44 stdcall -noname CharUpperBuffWrapW(wstr long) user32.CharUpperBuffW
+45 stdcall -noname CompareStringWrapW(long long wstr long wstr long)
kernel32.CompareStringW
+46 stdcall -noname CopyAcceleratorTableWrapW(long ptr long)
user32.CopyAcceleratorTableW
+47 stdcall -noname CreateAcceleratorTableWrapW(ptr long) user32.CreateAcceleratorTableW
+48 stdcall -noname CreateDCWrapW(wstr wstr wstr ptr) gdi32.CreateDCW
+49 stdcall -noname CreateDialogParamWrapW(long ptr long ptr long)
user32.CreateDialogParamW
+50 stdcall -noname CreateDirectoryWrapW(wstr ptr) kernel32.CreateDirectoryW
+51 stdcall -noname CreateEventWrapW(ptr long long wstr) kernel32.CreateEventW
+52 stdcall -noname CreateFileWrapW(wstr long long ptr long long long)
kernel32.CreateFileW
+53 stdcall -noname CreateFontIndirectWrapW(ptr) gdi32.CreateFontIndirectW
+54 stdcall -noname CreateICWrapW(wstr wstr wstr ptr) gdi32.CreateICW
+55 stdcall -noname CreateWindowExWrapW(long wstr wstr long long long long long long long
long ptr) user32.CreateWindowExW
+56 stdcall -noname DefWindowProcWrapW(long long long long) user32.DefWindowProcW
+57 stdcall -noname DeleteFileWrapW(wstr) kernel32.DeleteFileW
+58 stdcall -noname DialogBoxIndirectParamWrapW(long ptr long ptr long)
user32.DialogBoxIndirectParamW
+59 stdcall -noname DialogBoxParamWrapW(long wstr long ptr long) user32.DialogBoxParamW
+60 stdcall -noname DispatchMessageWrapW(ptr) user32.DispatchMessageW
+61 stdcall -noname DrawTextWrapW(long wstr long ptr long) user32.DrawTextW
+62 stdcall -noname EnumFontFamiliesWrapW(long wstr ptr long) gdi32.EnumFontFamiliesW
+63 stdcall -noname EnumFontFamiliesExWrapW(long ptr ptr long long)
gdi32.EnumFontFamiliesExW
+64 stdcall -noname EnumResourceNamesWrapW(long wstr ptr long)
kernel32.EnumResourceNamesW
+65 stdcall -noname FindFirstFileWrapW(wstr ptr) kernel32.FindFirstFileW
+66 stdcall -noname FindResourceWrapW(long wstr wstr) kernel32.FindResourceW
+67 stdcall -noname FindWindowWrapW(wstr wstr) user32.FindWindowW
+68 stdcall -noname FormatMessageWrapW(long ptr long long ptr long ptr)
kernel32.FormatMessageW
+69 stdcall -noname GetClassInfoWrapW(long wstr ptr) user32.GetClassInfoW
+70 stdcall -noname GetClassLongWrapW(long long) user32.GetClassLongW
+71 stdcall -noname GetClassNameWrapW(long ptr long) user32.GetClassNameW
+72 stdcall -noname GetClipboardFormatNameWrapW(long ptr long)
user32.GetClipboardFormatNameW
+73 stdcall -noname GetCurrentDirectoryWrapW(long ptr) kernel32.GetCurrentDirectoryW
+74 stdcall -noname GetDlgItemTextWrapW(long long wstr long) user32.GetDlgItemTextW
+75 stdcall -noname GetFileAttributesWrapW(wstr) kernel32.GetFileAttributesW
+76 stdcall -noname GetFullPathNameWrapW(wstr long ptr ptr) kernel32.GetFullPathNameW
+77 stdcall -noname GetLocaleInfoWrapW(long long ptr long) kernel32.GetLocaleInfoW
+78 stdcall -noname GetMenuStringWrapW(long long ptr long long) user32.GetMenuStringW
+79 stdcall -noname GetMessageWrapW(ptr long long long) user32.GetMessageW
+80 stdcall -noname GetModuleFileNameWrapW(long ptr long) kernel32.GetModuleFileNameW
+81 stdcall -noname GetSystemDirectoryWrapW(ptr long) kernel32.GetSystemDirectoryW
+82 stdcall -noname SearchPathWrapW(wstr wstr wstr long ptr ptr) kernel32.SearchPathW
+83 stdcall -noname GetModuleHandleWrapW(wstr) kernel32.GetModuleHandleW
+84 stdcall -noname GetObjectWrapW(long long ptr) gdi32.GetObjectW
+85 stdcall -noname GetPrivateProfileIntWrapW(wstr wstr long wstr)
kernel32.GetPrivateProfileIntW
+86 stdcall -noname GetProfileStringWrapW(wstr wstr wstr ptr long)
kernel32.GetProfileStringW
+87 stdcall -noname GetPropWrapW(long wstr) user32.GetPropW
+88 stdcall -noname GetStringTypeExWrapW(long long wstr long ptr)
kernel32.GetStringTypeExW
+89 stdcall -noname GetTempFileNameWrapW(wstr wstr long ptr) kernel32.GetTempFileNameW
+90 stdcall -noname GetTempPathWrapW(long ptr) kernel32.GetTempPathW
+91 stdcall -noname GetTextExtentPoint32WrapW(long wstr long ptr)
gdi32.GetTextExtentPoint32W
+92 stdcall -noname GetTextFaceWrapW(long long ptr) gdi32.GetTextFaceW
+93 stdcall -noname GetTextMetricsWrapW(long ptr) gdi32.GetTextMetricsW
+94 stdcall -noname GetWindowLongWrapW(long long) user32.GetWindowLongW
+95 stdcall -noname GetWindowTextWrapW(long ptr long) user32.GetWindowTextW
+96 stdcall -noname GetWindowTextLengthWrapW(long) user32.GetWindowTextLengthW
+97 stdcall -noname GetWindowsDirectoryWrapW(ptr long) kernel32.GetWindowsDirectoryW
+98 stdcall -noname InsertMenuWrapW(long long long long ptr) user32.InsertMenuW
+99 stdcall -noname IsDialogMessageWrapW(long ptr) user32.IsDialogMessageW
+100 stdcall -noname LoadAcceleratorsWrapW(long wstr) user32.LoadAcceleratorsW
+101 stdcall -noname LoadBitmapWrapW(long wstr) user32.LoadBitmapW
+102 stdcall -noname LoadCursorWrapW(long wstr) user32.LoadCursorW
+103 stdcall -noname LoadIconWrapW(long wstr) user32.LoadIconW
+104 stdcall -noname LoadImageWrapW(long wstr long long long long) user32.LoadImageW
+105 stdcall -noname LoadLibraryExWrapW(wstr long long) kernel32.LoadLibraryExW
+106 stdcall -noname LoadMenuWrapW(long wstr) user32.LoadMenuW
+107 stdcall -noname LoadStringWrapW(long long ptr long) user32.LoadStringW
+108 stdcall -noname MessageBoxIndirectWrapW(ptr) user32.MessageBoxIndirectW
+109 stdcall -noname ModifyMenuWrapW(long long long long ptr) user32.ModifyMenuW
+110 stdcall -noname GetCharWidth32WrapW(long long long long) gdi32.GetCharWidth32W
+111 stdcall -noname GetCharacterPlacementWrapW(long wstr long long ptr long)
gdi32.GetCharacterPlacementW
+112 stdcall -noname CopyFileWrapW(wstr wstr long) kernel32.CopyFileW
+113 stdcall -noname MoveFileWrapW(wstr wstr) kernel32.MoveFileW
+114 stdcall -noname OemToCharWrapW(ptr ptr) user32.OemToCharW
+115 stdcall -noname OutputDebugStringWrapW(wstr) kernel32.OutputDebugStringW
+116 stdcall -noname PeekMessageWrapW(ptr long long long long) user32.PeekMessageW
+117 stdcall -noname PostMessageWrapW(long long long long) user32.PostMessageW
+118 stdcall -noname PostThreadMessageWrapW(long long long long)
user32.PostThreadMessageW
+119 stdcall -noname RegCreateKeyWrapW(long wstr ptr) advapi32.RegCreateKeyW
+120 stdcall -noname RegCreateKeyExWrapW(long wstr long ptr long long ptr ptr ptr)
advapi32.RegCreateKeyExW
+121 stdcall -noname RegDeleteKeyWrapW(long wstr) advapi32.RegDeleteKeyW
+122 stdcall -noname RegEnumKeyWrapW(long long ptr long) advapi32.RegEnumKeyW
+123 stdcall -noname RegEnumKeyExWrapW(long long ptr ptr ptr ptr ptr ptr)
advapi32.RegEnumKeyExW
+124 stdcall -noname RegOpenKeyWrapW(long wstr ptr) advapi32.RegOpenKeyW
+125 stdcall -noname RegOpenKeyExWrapW(long wstr long long ptr) advapi32.RegOpenKeyExW
+126 stdcall -noname RegQueryInfoKeyWrapW(long ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr
ptr) advapi32.RegQueryInfoKeyW
+127 stdcall -noname RegQueryValueWrapW(long wstr ptr ptr) advapi32.RegQueryValueW
+128 stdcall -noname RegQueryValueExWrapW(long wstr ptr ptr ptr ptr)
advapi32.RegQueryValueExW
+129 stdcall -noname RegSetValueWrapW(long wstr long ptr long) advapi32.RegSetValueW
+130 stdcall -noname RegSetValueExWrapW(long wstr long long ptr long)
advapi32.RegSetValueExW
+131 stdcall -noname RegisterClassWrapW(ptr) user32.RegisterClassW
+132 stdcall -noname RegisterClipboardFormatWrapW(wstr) user32.RegisterClipboardFormatW
+133 stdcall -noname RegisterWindowMessageWrapW(wstr) user32.RegisterWindowMessageW
+134 stdcall -noname RemovePropWrapW(long wstr) user32.RemovePropW
+135 stdcall -noname SendDlgItemMessageWrapW(long long long long long)
user32.SendDlgItemMessageW
+136 stdcall -noname SendMessageWrapW(long long long long) user32.SendMessageW
+137 stdcall -noname SetCurrentDirectoryWrapW(wstr) kernel32.SetCurrentDirectoryW
+138 stdcall -noname SetDlgItemTextWrapW(long long wstr) user32.SetDlgItemTextW
+139 stdcall -noname SetMenuItemInfoWrapW(long long long ptr) user32.SetMenuItemInfoW
+140 stdcall -noname SetPropWrapW(long wstr long) user32.SetPropW
+141 stdcall -noname SetWindowLongWrapW(long long long) user32.SetWindowLongW
+142 stdcall -noname SetWindowsHookExWrapW(long long long long) user32.SetWindowsHookExW
+143 stdcall -noname SetWindowTextWrapW(long wstr) user32.SetWindowTextW
+144 stdcall -noname StartDocWrapW(long ptr) gdi32.StartDocW
+145 stdcall -noname SystemParametersInfoWrapW(long long ptr long)
user32.SystemParametersInfoW
+146 stdcall -noname TranslateAcceleratorWrapW(long long ptr)
user32.TranslateAcceleratorW
+147 stdcall -noname UnregisterClassWrapW(wstr long) user32.UnregisterClassW
+148 stdcall -noname VkKeyScanWrapW(long) user32.VkKeyScanW
+149 stdcall -noname WinHelpWrapW(long wstr long long) user32.WinHelpW
+150 stdcall -noname wvsprintfWrapW(ptr wstr ptr) user32.wvsprintfW
151 stdcall -noname StrCmpNCA(str ptr long)
152 stdcall -noname StrCmpNCW(wstr wstr long)
153 stdcall -noname StrCmpNICA(long long long)
@@ -156,7 +156,7 @@
156 stdcall -noname StrCmpCW(wstr wstr)
157 stdcall -noname StrCmpICA(str str)
158 stdcall -noname StrCmpICW(wstr wstr)
-159 stdcall @(long long wstr long wstr long) kernel32.CompareStringW
+159 stdcall -noname CompareStringAltW(long long wstr long wstr long)
kernel32.CompareStringW
160 stdcall -noname SHAboutInfoA(ptr long)
161 stdcall -noname SHAboutInfoW(ptr long)
162 stdcall -noname SHTruncateString(str long)
@@ -181,7 +181,7 @@
181 stdcall -noname SHEnableMenuItem(long long long)
182 stdcall -noname SHCheckMenuItem(long long long)
183 stdcall -noname SHRegisterClassA(ptr)
-184 stdcall @(ptr ptr long) SHLWAPI_184
+184 stdcall -noname IStream_Read(ptr ptr long) SHIStream_Read
185 stdcall -noname SHMessageBoxCheckA(ptr str str long long str)
186 stdcall -noname SHSimulateDrop(ptr ptr long ptr ptr)
187 stdcall -noname SHLoadFromPropertyBag(ptr ptr)
@@ -209,7 +209,7 @@
209 stdcall -noname FDSA_Destroy(ptr)
210 stdcall -noname FDSA_InsertItem(ptr long ptr)
211 stdcall -noname FDSA_DeleteItem(ptr long)
-212 stdcall @(ptr ptr long) SHLWAPI_212
+212 stdcall -noname IStream_Write(ptr ptr long) SHIStream_Write
213 stdcall -noname IStream_Reset(ptr)
214 stdcall -noname IStream_Size(ptr ptr)
215 stdcall -noname SHAnsiToUnicode(str ptr long)
@@ -219,9 +219,9 @@
219 stdcall -noname QISearch(long long long long)
220 stub -noname SHSetDefaultDialogFont
221 stdcall -noname SHRemoveDefaultDialogFont(ptr)
-222 stdcall -noname _SHGlobalCounterCreate(long)
-223 stdcall -noname _SHGlobalCounterGetValue(long)
-224 stdcall -noname _SHGlobalCounterIncrement(long)
+222 stdcall -noname SHGlobalCounterCreate(long)
+223 stdcall -noname SHGlobalCounterGetValue(long)
+224 stdcall -noname SHGlobalCounterIncrement(long)
225 stdcall -noname SHStripMneumonicW(wstr)
226 stub -noname ZoneCheckPathA
227 stub -noname ZoneCheckPathW
@@ -278,8 +278,8 @@
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)
+281 stdcall -noname SHPackDispParamsV(ptr ptr long ptr)
+282 varargs -noname SHPackDispParams(ptr ptr long)
283 stub -noname IConnectionPoint_InvokeWithCancel
284 stdcall -noname IConnectionPoint_SimpleInvoke(ptr long ptr)
285 stdcall -noname IConnectionPoint_OnChanged(ptr long)
@@ -295,28 +295,28 @@
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) gdi32.ExtTextOutW
-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
-303 stdcall @(long long long ptr) user32.InsertMenuItemW
-304 stdcall @(wstr) gdi32.CreateMetaFileW
-305 stdcall @(ptr long wstr) kernel32.CreateMutexW
-306 stdcall @(wstr ptr long) kernel32.ExpandEnvironmentStringsW
-307 stdcall @(ptr long long wstr) kernel32.CreateSemaphoreW
-308 stdcall @(ptr long) kernel32.IsBadStringPtrW
-309 stdcall @(wstr) kernel32.LoadLibraryW
-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
+298 stdcall -noname WritePrivateProfileStringWrapW(wstr wstr wstr wstr)
kernel32.WritePrivateProfileStringW
+299 stdcall -noname ExtTextOutWrapW(long long long long ptr wstr long ptr)
gdi32.ExtTextOutW
+300 stdcall -noname CreateFontWrapW(long long long long long long long long long long
long long long wstr) gdi32.CreateFontW
+301 stdcall -noname DrawTextExWrapW(long wstr long ptr long ptr) user32.DrawTextExW
+302 stdcall -noname GetMenuItemInfoWrapW(long long long ptr) user32.GetMenuItemInfoW
+303 stdcall -noname InsertMenuItemWrapW(long long long ptr) user32.InsertMenuItemW
+304 stdcall -noname CreateMetaFileWrapW(wstr) gdi32.CreateMetaFileW
+305 stdcall -noname CreateMutexWrapW(ptr long wstr) kernel32.CreateMutexW
+306 stdcall -noname ExpandEnvironmentStringsWrapW(wstr ptr long)
kernel32.ExpandEnvironmentStringsW
+307 stdcall -noname CreateSemaphoreWrapW(ptr long long wstr) kernel32.CreateSemaphoreW
+308 stdcall -noname IsBadStringPtrWrapW(ptr long) kernel32.IsBadStringPtrW
+309 stdcall -noname LoadLibraryWrapW(wstr) kernel32.LoadLibraryW
+310 stdcall -noname GetTimeFormatWrapW(long long ptr wstr ptr long)
kernel32.GetTimeFormatW
+311 stdcall -noname GetDateFormatWrapW(long long ptr wstr ptr long)
kernel32.GetDateFormatW
+312 stdcall -noname GetPrivateProfileStringWrapW(wstr wstr wstr ptr long wstr)
kernel32.GetPrivateProfileStringW
313 stdcall -noname SHGetFileInfoWrapW(ptr long ptr long long)
-314 stdcall @(ptr) user32.RegisterClassExW
-315 stdcall @(long wstr ptr) user32.GetClassInfoExW
+314 stdcall -noname RegisterClassExWrapW(ptr) user32.RegisterClassExW
+315 stdcall -noname GetClassInfoExWrapW(long wstr ptr) user32.GetClassInfoExW
316 stub -noname IShellFolder_GetDisplayNameOf
317 stub -noname IShellFolder_ParseDisplayName
318 stdcall -noname DragQueryFileWrapW(long long wstr long)
-319 stdcall @(long long wstr wstr) user32.FindWindowExW
+319 stdcall -noname FindWindowExWrapW(long long wstr wstr) user32.FindWindowExW
320 stdcall -noname RegisterMIMETypeForExtensionA(str str)
321 stdcall -noname RegisterMIMETypeForExtensionW(wstr wstr)
322 stdcall -noname UnregisterMIMETypeForExtensionA(str)
@@ -329,22 +329,22 @@
329 stdcall -noname GetMIMETypeSubKeyW(wstr ptr long)
330 stdcall -noname MIME_GetExtensionA(str ptr long)
331 stdcall -noname MIME_GetExtensionW(wstr ptr long)
-332 stdcall @(ptr long) user32.CallMsgFilterW
+332 stdcall -noname CallMsgFilterWrapW(ptr long) user32.CallMsgFilterW
333 stdcall -noname SHBrowseForFolderWrapW(ptr)
334 stdcall -noname SHGetPathFromIDListWrapW(ptr ptr)
335 stdcall -noname ShellExecuteExWrapW(ptr)
336 stdcall -noname SHFileOperationWrapW(ptr)
-337 stdcall @(wstr long ptr ptr long) user32.PrivateExtractIconExW
-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
+337 stdcall -noname ExtractIconExWrapW(wstr long ptr ptr long)
user32.PrivateExtractIconExW
+338 stdcall -noname SetFileAttributesWrapW(wstr long) kernel32.SetFileAttributesW
+339 stdcall -noname GetNumberFormatWrapW(long long wstr ptr ptr long)
kernel32.GetNumberFormatW
+340 stdcall -noname MessageBoxWrapW(long wstr wstr long) user32.MessageBoxW
+341 stdcall -noname FindNextFileWrapW(long ptr) kernel32.FindNextFileW
342 stdcall -noname SHInterlockedCompareExchange(ptr ptr ptr)
343 stdcall -noname SHRegGetCLSIDKeyA(ptr str long long ptr)
344 stdcall -noname SHRegGetCLSIDKeyW(ptr wstr long long ptr)
345 stdcall -noname SHAnsiToAnsi(str ptr long)
346 stdcall -noname SHUnicodeToUnicode(wstr ptr long)
-347 stdcall @(long wstr) advapi32.RegDeleteValueW
+347 stdcall -noname RegDeleteValueWrapW(long wstr) advapi32.RegDeleteValueW
348 stub -noname SHGetFileDescriptionW
349 stub -noname SHGetFileDescriptionA
350 stdcall -noname GetFileVersionInfoSizeWrapW(wstr ptr)
@@ -353,20 +353,20 @@
353 stub -noname SHFormatDateTimeA
354 stub -noname SHFormatDateTimeW
355 stdcall -noname IUnknown_EnableModeless(ptr long)
-356 stdcall -noname _CreateAllAccessSecurityAttributes(ptr ptr long)
+356 stdcall -noname CreateAllAccessSecurityAttributes(ptr ptr long)
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
+359 stdcall -noname OpenEventWrapW(long long wstr) kernel32.OpenEventW
+360 stdcall -noname RemoveDirectoryWrapW(wstr) kernel32.RemoveDirectoryW
+361 stdcall -noname GetShortPathNameWrapW(wstr ptr long) kernel32.GetShortPathNameW
+362 stdcall -noname GetUserNameWrapW(ptr ptr) advapi32.GetUserNameW
363 stdcall -noname SHInvokeCommand(ptr ptr ptr long)
364 stdcall -noname DoesStringRoundTripA(str ptr long)
365 stdcall -noname DoesStringRoundTripW(wstr ptr long)
-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
+366 stdcall -noname RegEnumValueWrapW(long long ptr ptr ptr ptr ptr ptr)
advapi32.RegEnumValueW
+367 stdcall -noname WritePrivateProfileStructWrapW(wstr wstr ptr long wstr)
kernel32.WritePrivateProfileStructW
+368 stdcall -noname GetPrivateProfileStructWrapW(wstr wstr ptr long wstr)
kernel32.GetPrivateProfileStructW
+369 stdcall -noname CreateProcessWrapW(wstr wstr ptr ptr long long ptr wstr ptr ptr)
kernel32.CreateProcessW
370 stdcall -noname ExtractIconWrapW(long wstr long)
371 stdcall -noname DdeInitializeWrapW(ptr ptr long long) user32.DdeInitializeW
372 stdcall -noname DdeCreateStringHandleWrapW(long ptr long)
user32.DdeCreateStringHandleW
@@ -374,8 +374,8 @@
374 stub -noname SHCheckDiskForMediaA
375 stub -noname SHCheckDiskForMediaW
376 stdcall -noname MLGetUILanguage() kernel32.GetUserDefaultUILanguage
-377 stdcall MLLoadLibraryA(str long long)
-378 stdcall MLLoadLibraryW(wstr long long)
+377 stdcall -noname MLLoadLibraryA(str long long)
+378 stdcall -noname MLLoadLibraryW(wstr long long)
379 stub -noname Shell_GetCachedImageIndexWrapW
380 stub -noname Shell_GetCachedImageIndexWrapA
381 stub -noname AssocCopyVerbs
@@ -385,13 +385,13 @@
385 stub -noname SHLoadRawAccelerators
386 stub -noname SHQueryRawAccelerator
387 stub -noname SHQueryRawAcceleratorMsg
-388 stdcall -noname ShellMessageBoxWrapW(ptr long long wstr long wstr)
+388 varargs -noname ShellMessageBoxWrapW(long long wstr wstr long)
389 stdcall -noname GetSaveFileNameWrapW(ptr)
390 stdcall -noname WNetRestoreConnectionWrapW(long wstr)
391 stdcall -noname WNetGetLastErrorWrapW(ptr ptr long ptr long)
392 stdcall -noname EndDialogWrap(ptr ptr) user32.EndDialog
-393 stdcall @(long ptr long ptr long) user32.CreateDialogIndirectParamW
-394 stdcall -noname SHChangeNotify(long long ptr ptr)
+393 stdcall -noname CreateDialogIndirectParamWrapW(long ptr long ptr long)
user32.CreateDialogIndirectParamW
+394 stdcall -noname SHChangeNotifyWrap(long long ptr ptr)
395 stub -noname MLWinHelpA
396 stub -noname MLHtmlHelpA
397 stub -noname MLWinHelpW
@@ -401,7 +401,7 @@
401 stdcall -noname PageSetupDlgWrapW(ptr)
402 stdcall -noname PrintDlgWrapW(ptr)
403 stdcall -noname GetOpenFileNameWrapW(ptr)
-404 stdcall -noname IUnknown_EnumObjects(ptr ptr long ptr)
+404 stdcall -noname IShellFolder_EnumObjects(ptr ptr long ptr)
SHIShellFolder_EnumObjects
405 stdcall -noname MLBuildResURLA(str ptr long str ptr long)
406 stdcall -noname MLBuildResURLW(wstr ptr long wstr ptr long)
407 stub -noname AssocMakeProgid
@@ -419,19 +419,19 @@
419 stdcall -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 stdcall -noname DeleteMenuWrap(ptr long long)
-426 stub -noname DestroyMenuWrap
-427 stub -noname TrackPopupMenuWrap
-428 stdcall @(long long long long long ptr) user32.TrackPopupMenuEx
+422 stdcall -noname SHGlobalCounterCreateNamedA(str long)
+423 stdcall -noname SHGlobalCounterCreateNamedW(wstr long)
+424 stdcall -noname SHGlobalCounterDecrement(long)
+425 stdcall -noname DeleteMenuWrap(ptr long long) user32.DeleteMenu
+426 stdcall -noname DestroyMenuWrap(long) user32.DestroyMenu
+427 stdcall -noname TrackPopupMenuWrap(long long long long long long ptr)
user32.TrackPopupMenu
+428 stdcall -noname TrackPopupMenuExWrap(long long long long long ptr)
user32.TrackPopupMenuEx
429 stdcall -noname MLIsMLHInstance(long)
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
+434 stdcall -noname SendMessageTimeoutWrapW(long long long long long long ptr)
user32.SendMessageTimeoutW
435 stdcall -noname CLSIDFromProgIDWrap(wstr ptr) ole32.CLSIDFromProgID
436 stdcall -noname CLSIDFromStringWrap(wstr ptr)
437 stdcall -noname IsOS(long)
@@ -439,9 +439,9 @@
439 stdcall -noname SHLoadRegUIStringW(ptr wstr ptr long)
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
+442 stdcall -noname GetEnvironmentVariableWrapW(wstr ptr long)
kernel32.GetEnvironmentVariableW
+443 stdcall -noname SHGetSystemWindowsDirectoryA(ptr long)
kernel32.GetSystemWindowsDirectoryA
+444 stdcall -noname SHGetSystemWindowsDirectoryW(ptr long)
kernel32.GetSystemWindowsDirectoryW
445 stdcall -noname PathFileExistsAndAttributesA(str ptr)
446 stdcall -noname PathFileExistsAndAttributesW(wstr ptr)
447 stub -noname FixSlashesAndColonA
@@ -454,8 +454,8 @@
454 stub -noname CharLowerNoDBCSW
455 stdcall -noname PathIsValidCharA(long long)
456 stdcall -noname PathIsValidCharW(long long)
-457 stdcall @(wstr ptr long) kernel32.GetLongPathNameW
-458 stdcall @(str ptr long) kernel32.GetLongPathNameA
+457 stdcall -noname GetLongPathNameWrapW(wstr ptr long) kernel32.GetLongPathNameW
+458 stdcall -noname GetLongPathNameWrapA(str ptr long) kernel32.GetLongPathNameA
459 stdcall -noname SHExpandEnvironmentStringsA(str ptr long)
kernel32.ExpandEnvironmentStringsA
460 stdcall -noname SHExpandEnvironmentStringsW(wstr ptr long)
kernel32.ExpandEnvironmentStringsW
461 stdcall -noname SHGetAppCompatFlags(long)
@@ -469,7 +469,7 @@
469 stub -noname RunRegCommand
470 stub -noname IUnknown_ProfferServiceOld
471 stub -noname SHCreatePropertyBagOnRegKey
-472 stub -noname SHCreatePropertyBagOnProfileSelections
+472 stub -noname SHCreatePropertyBagOnProfileSelection
473 stub -noname SHGetIniStringUTF7W
474 stub -noname SHSetIniStringUTF7W
475 stdcall -noname GetShellSecurityDescriptor(ptr long)
@@ -484,10 +484,10 @@
484 stdcall -noname IUnknown_QueryServiceExec(ptr ptr ptr long long long ptr)
485 stub -noname MapWin32ErrorToSTG
486 stub -noname ModeToCreateFileFlags
-
+487 stdcall -noname SHLoadIndirectString(wstr ptr long ptr)
488 stub -noname SHConvertGraphicsFile
-489 stub -noname GlobalAddAtomWrapW
-490 stub -noname GlobalFindAtomWrapW
+489 stdcall -noname GlobalAddAtomWrapW(wstr) kernel32.GlobalAddAtomW
+490 stdcall -noname GlobalFindAtomWrapW(wstr) kernel32.GlobalFindAtomW
491 stdcall -noname SHGetShellKey(long long long)
492 stub -noname PrettifyFileDescriptionW
493 stub -noname SHPropertyBag_ReadType
@@ -508,7 +508,7 @@
512 stub -noname IStream_ReadPidl
513 stub -noname IStream_WritePidl
514 stdcall -noname IUnknown_ProfferService(ptr ptr ptr ptr)
-
+515 stub -noname SHGetViewStatePropertyBag
516 stdcall -noname SKGetValueW(long wstr wstr long long long)
517 stub -noname SKSetValueW
518 stub -noname SKDeleteValueW
@@ -536,7 +536,7 @@
540 stub -noname SHInvokeCommandOnContextMenu
541 stub -noname SHInvokeCommandsOnContextMen
542 stdcall -noname GetUIVersion()
-543 stub -noname CreateColorSpaceWrapW
+543 stdcall -noname CreateColorSpaceWrapW(ptr) gdi32.CreateColorSpaceW
544 stub -noname QuerySourceCreateFromKey
545 stub -noname SHForwardContextMenuMsg
546 stub -noname IUnknown_DoContextMenuPopup
@@ -699,7 +699,6 @@
@ stdcall SHGetValueA ( long str str ptr ptr ptr )
@ stdcall SHGetValueW ( long wstr wstr ptr ptr ptr )
@ stdcall SHIsLowMemoryMachine(long)
-@ stdcall SHLoadIndirectString(wstr ptr long ptr)
@ stdcall SHOpenRegStream2A(long str str long)
@ stdcall SHOpenRegStream2W(long wstr str long)
@ stdcall SHOpenRegStreamA(long str str long)
Modified: trunk/reactos/dll/win32/shlwapi/shlwapi_Ko.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shlwapi/shlwapi_…
==============================================================================
--- trunk/reactos/dll/win32/shlwapi/shlwapi_Ko.rc (original)
+++ trunk/reactos/dll/win32/shlwapi/shlwapi_Ko.rc Thu Nov 29 14:15:59 2007
@@ -1,7 +1,7 @@
/*
* Korean resources for shlwapi
*
- * Copyright 2005 YunSong Hwang
+ * Copyright 2005,2007 YunSong Hwang
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -28,10 +28,10 @@
LTEXT "", IDS_ERR_USER_MSG2, 15, 5, 28, 20
LTEXT "", IDS_ERR_USER_MSG, 15, 5, 210, 8
CHECKBOX "ÀÌ ¸Þ¼¼Áö¸¦ ´Ù½Ã´Â º¸¿©ÁÖÁö ¸¶½Ã¿À(&I)", IDC_ERR_DONT_SHOW, 5,
20, 210, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
- PUSHBUTTON L"È®ÀÎ(&O)" IDOK, 105, 40, 50, 14, WS_GROUP | WS_TABSTOP
- PUSHBUTTON L"Ãë¼Ò(&C)" IDCANCEL, 160, 40, 50, 14, WS_GROUP | WS_TABSTOP
- PUSHBUTTON L"¿¹(&Y)" IDYES, 105, 40, 50, 14, WS_GROUP | WS_TABSTOP
- PUSHBUTTON L"¾Æ´Ï¿À(&N)" IDNO, 160, 40, 50, 14, WS_GROUP | WS_TABSTOP
+ PUSHBUTTON "È®ÀÎ(&O)" IDOK, 105, 40, 50, 14, WS_GROUP | WS_TABSTOP
+ PUSHBUTTON "Ãë¼Ò(&C)" IDCANCEL, 160, 40, 50, 14, WS_GROUP | WS_TABSTOP
+ PUSHBUTTON "¿¹(&Y)" IDYES, 105, 40, 50, 14, WS_GROUP | WS_TABSTOP
+ PUSHBUTTON "¾Æ´Ï¿À(&N)" IDNO, 160, 40, 50, 14, WS_GROUP | WS_TABSTOP
}
Modified: trunk/reactos/dll/win32/shlwapi/shlwapi_Pt.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shlwapi/shlwapi_…
==============================================================================
--- trunk/reactos/dll/win32/shlwapi/shlwapi_Pt.rc (original)
+++ trunk/reactos/dll/win32/shlwapi/shlwapi_Pt.rc Thu Nov 29 14:15:59 2007
@@ -44,7 +44,7 @@
{
LTEXT "", IDS_ERR_USER_MSG2, 15, 5, 28, 20
LTEXT "", IDS_ERR_USER_MSG, 15, 5, 210, 8
- CHECKBOX "Não &mostre esta mensagem novamente", IDC_ERR_DONT_SHOW, 5, 20,
210, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
+ CHECKBOX "Não &mostrar esta mensagem novamente", IDC_ERR_DONT_SHOW, 5, 20,
210, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
PUSHBUTTON L"&OK" IDOK, 105, 40, 50, 14, WS_GROUP | WS_TABSTOP
PUSHBUTTON L"&Cancelar" IDCANCEL, 160, 40, 50, 14, WS_GROUP | WS_TABSTOP
PUSHBUTTON L"&Sim" IDYES, 105, 40, 50, 14, WS_GROUP | WS_TABSTOP
@@ -61,3 +61,13 @@
IDS_TIME_INTERVAL_MINUTES " min"
IDS_TIME_INTERVAL_SECONDS " sec"
}
+
+LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE
+
+STRINGTABLE DISCARDABLE
+{
+ IDS_BYTES_FORMAT "%ld bytes"
+ IDS_TIME_INTERVAL_HOURS " hr"
+ IDS_TIME_INTERVAL_MINUTES " min"
+ IDS_TIME_INTERVAL_SECONDS " seg"
+}
Modified: trunk/reactos/dll/win32/shlwapi/shlwapi_Sv.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shlwapi/shlwapi_…
==============================================================================
--- trunk/reactos/dll/win32/shlwapi/shlwapi_Sv.rc (original)
+++ trunk/reactos/dll/win32/shlwapi/shlwapi_Sv.rc Thu Nov 29 14:15:59 2007
@@ -1,7 +1,7 @@
/*
* Swedish resources for shlwapi
*
- * Copyright 2005 Andreas Bjerkeholt
+ * Copyright 2007 Daniel Nylander
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -15,10 +15,10 @@
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
-LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL
+LANGUAGE LANG_SWEDISH, SUBLANG_DEFAULT
IDD_ERR_DIALOG DIALOG MOVEABLE DISCARDABLE 0, 0, 220, 60
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
@@ -27,7 +27,7 @@
{
LTEXT "", IDS_ERR_USER_MSG2, 15, 5, 28, 20
LTEXT "", IDS_ERR_USER_MSG, 15, 5, 210, 8
- CHECKBOX "&Visa inte detta meddelande igen", IDC_ERR_DONT_SHOW, 5, 20,
210, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
+ CHECKBOX "Visa inte &det här meddelandet igen", IDC_ERR_DONT_SHOW, 5, 20,
210, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
PUSHBUTTON L"&OK" IDOK, 105, 40, 50, 14, WS_GROUP | WS_TABSTOP
PUSHBUTTON L"&Avbryt" IDCANCEL, 160, 40, 50, 14, WS_GROUP | WS_TABSTOP
PUSHBUTTON L"&Ja" IDYES, 105, 40, 50, 14, WS_GROUP | WS_TABSTOP
@@ -36,8 +36,8 @@
STRINGTABLE DISCARDABLE
{
- IDS_BYTES_FORMAT "%ld bytes"
- IDS_TIME_INTERVAL_HOURS " hr"
+ IDS_BYTES_FORMAT "%ld byte"
+ IDS_TIME_INTERVAL_HOURS " h"
IDS_TIME_INTERVAL_MINUTES " min"
- IDS_TIME_INTERVAL_SECONDS " sec"
+ IDS_TIME_INTERVAL_SECONDS " s"
}
Modified: trunk/reactos/dll/win32/shlwapi/shlwapi_ros.diff
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shlwapi/shlwapi_…
==============================================================================
--- trunk/reactos/dll/win32/shlwapi/shlwapi_ros.diff (original)
+++ trunk/reactos/dll/win32/shlwapi/shlwapi_ros.diff Thu Nov 29 14:15:59 2007
@@ -2,13 +2,13 @@
===================================================================
--- shlwapi.rc (revision 25691)
+++ shlwapi.rc (revision 25692)
-@@ -39,4 +39,7 @@
+@@ -39,5 +39,7 @@
#include "shlwapi_No.rc"
#include "shlwapi_Pl.rc"
#include "shlwapi_Pt.rc"
+#include "shlwapi_Ru.rc"
+ #include "shlwapi_Sv.rc"
#include "shlwapi_Tr.rc"
-+#include "shlwapi_Sv.rc"
+#include "shlwapi_Uk.rc"
Index: shlwapi_Ru.rc
===================================================================
@@ -63,61 +63,6 @@
___________________________________________________________________
Name: svn:eol-style
+ native
-
-Index: shlwapi_Sv.rc
-===================================================================
---- shlwapi_Sv.rc (revision 25692)
-+++ shlwapi_Sv.rc (working copy)
-@@ -0,0 +1,43 @@
-+/*
-+ * Swedish resources for shlwapi
-+ *
-+ * Copyright 2005 Andreas Bjerkeholt
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Lesser General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2.1 of the License, or (at your option) any later version.
-+ *
-+ * This library is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ * Lesser General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Lesser General Public
-+ * License along with this library; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+ */
-+
-+LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL
-+
-+IDD_ERR_DIALOG DIALOG MOVEABLE DISCARDABLE 0, 0, 220, 60
-+STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
-+CAPTION "Fel!"
-+FONT 8, "MS Shell Dlg"
-+{
-+ LTEXT "", IDS_ERR_USER_MSG2, 15, 5, 28, 20
-+ LTEXT "", IDS_ERR_USER_MSG, 15, 5, 210, 8
-+ CHECKBOX "&Visa inte detta meddelande igen", IDC_ERR_DONT_SHOW, 5, 20,
210, 10, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
-+ PUSHBUTTON L"&OK" IDOK, 105, 40, 50, 14, WS_GROUP | WS_TABSTOP
-+ PUSHBUTTON L"&Avbryt" IDCANCEL, 160, 40, 50, 14, WS_GROUP | WS_TABSTOP
-+ PUSHBUTTON L"&Ja" IDYES, 105, 40, 50, 14, WS_GROUP | WS_TABSTOP
-+ PUSHBUTTON L"&Nej" IDNO, 160, 40, 50, 14, WS_GROUP | WS_TABSTOP
-+}
-+
-+STRINGTABLE DISCARDABLE
-+{
-+ IDS_BYTES_FORMAT "%ld bytes"
-+ IDS_TIME_INTERVAL_HOURS " hr"
-+ IDS_TIME_INTERVAL_MINUTES " min"
-+ IDS_TIME_INTERVAL_SECONDS " sec"
-+}
-
-Property shlwapi_Sv.rc
-___________________________________________________________________
-Name: svn:eol-style
- + native
-
Index: shlwapi_Uk.rc
===================================================================
--- shlwapi_Uk.rc (revision 25692)
Modified: trunk/reactos/dll/win32/shlwapi/string.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shlwapi/string.c…
==============================================================================
--- trunk/reactos/dll/win32/shlwapi/string.c (original)
+++ trunk/reactos/dll/win32/shlwapi/string.c Thu Nov 29 14:15:59 2007
@@ -66,8 +66,8 @@
fmt->lpThousandSep = thousand_buffer;
fmt->lpDecimalSep = decimal_buffer;
- /*
- * Converting grouping string to number as described on
+ /*
+ * Converting grouping string to number as described on
*
http://blogs.msdn.com/oldnewthing/archive/2006/04/18/578251.aspx
*/
fmt->Grouping = 0;
@@ -113,7 +113,7 @@
} while (qdwValue > 0);
if (neg)
*(--c) = '-';
-
+
return GetNumberFormatW(LOCALE_USER_DEFAULT, 0, c, &fmt, pszBuf, cchBuf);
}
@@ -132,7 +132,7 @@
WCHAR buf[64];
NUMBERFMTW fmt;
WCHAR decimal[8], thousand[8];
-
+
snprintfW(buf, 64, flfmt, value);
FillNumberFmt(&fmt, decimal, sizeof decimal / sizeof (WCHAR),
@@ -1558,7 +1558,7 @@
LPSTR WINAPI StrFormatKBSizeA(LONGLONG llBytes, LPSTR lpszDest, UINT cchMax)
{
WCHAR wszBuf[256];
-
+
if (!StrFormatKBSizeW(llBytes, wszBuf, 256))
return NULL;
if (!WideCharToMultiByte(CP_ACP, 0, wszBuf, -1, lpszDest, cchMax, NULL, NULL))
@@ -2699,7 +2699,7 @@
*index_str = 0;
index_str++;
index = atoiW(index_str);
-
+
hmod = LoadLibraryW(dllname);
if(!hmod) goto end;
Modified: trunk/reactos/dll/win32/shlwapi/thread.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shlwapi/thread.c…
==============================================================================
--- trunk/reactos/dll/win32/shlwapi/thread.c (original)
+++ trunk/reactos/dll/win32/shlwapi/thread.c Thu Nov 29 14:15:59 2007
@@ -43,7 +43,7 @@
INT WINAPI SHStringFromGUIDA(REFGUID,LPSTR,INT);
/**************************************************************************
- * _CreateAllAccessSecurityAttributes [SHLWAPI.356]
+ * CreateAllAccessSecurityAttributes [SHLWAPI.356]
*
* Initialise security attributes from a security descriptor.
*
@@ -60,7 +60,7 @@
* Wine is impersonating does not use security descriptors (i.e. anything
* before Windows NT).
*/
-LPSECURITY_ATTRIBUTES WINAPI _CreateAllAccessSecurityAttributes(
+LPSECURITY_ATTRIBUTES WINAPI CreateAllAccessSecurityAttributes(
LPSECURITY_ATTRIBUTES lpAttr,
PSECURITY_DESCRIPTOR lpSec,
DWORD p3)
@@ -184,7 +184,7 @@
* Success: S_OK. The threads object reference is released.
* Failure: An HRESULT error code.
*/
-HRESULT WINAPI SHReleaseThreadRef()
+HRESULT WINAPI SHReleaseThreadRef(void)
{
FIXME("() - stub!\n");
return S_OK;
@@ -327,7 +327,7 @@
}
/*************************************************************************
- * _SHGlobalCounterGetValue [SHLWAPI.223]
+ * SHGlobalCounterGetValue [SHLWAPI.223]
*
* Get the current count of a semaphore.
*
@@ -337,7 +337,7 @@
* RETURNS
* The current count of the semaphore.
*/
-LONG WINAPI _SHGlobalCounterGetValue(HANDLE hSem)
+LONG WINAPI SHGlobalCounterGetValue(HANDLE hSem)
{
LONG dwOldCount = 0;
@@ -348,7 +348,7 @@
}
/*************************************************************************
- * _SHGlobalCounterIncrement [SHLWAPI.224]
+ * SHGlobalCounterIncrement [SHLWAPI.224]
*
* Claim a semaphore.
*
@@ -358,7 +358,7 @@
* RETURNS
* The new count of the semaphore.
*/
-LONG WINAPI _SHGlobalCounterIncrement(HANDLE hSem)
+LONG WINAPI SHGlobalCounterIncrement(HANDLE hSem)
{
LONG dwOldCount = 0;
@@ -368,7 +368,7 @@
}
/*************************************************************************
- * _SHGlobalCounterDecrement [SHLWAPI.424]
+ * SHGlobalCounterDecrement [SHLWAPI.424]
*
* Release a semaphore.
*
@@ -378,23 +378,23 @@
* RETURNS
* The new count of the semaphore.
*/
-DWORD WINAPI _SHGlobalCounterDecrement(HANDLE hSem)
+DWORD WINAPI SHGlobalCounterDecrement(HANDLE hSem)
{
DWORD dwOldCount = 0;
TRACE("(%p)\n", hSem);
- dwOldCount = _SHGlobalCounterGetValue(hSem);
+ dwOldCount = SHGlobalCounterGetValue(hSem);
WaitForSingleObject(hSem, 0);
return dwOldCount - 1;
}
/*************************************************************************
- * _SHGlobalCounterCreateNamedW [SHLWAPI.423]
- *
- * Unicode version of _SHGlobalCounterCreateNamedA.
- */
-HANDLE WINAPI _SHGlobalCounterCreateNamedW(LPCWSTR lpszName, DWORD iInitial)
+ * SHGlobalCounterCreateNamedW [SHLWAPI.423]
+ *
+ * Unicode version of SHGlobalCounterCreateNamedA.
+ */
+HANDLE WINAPI SHGlobalCounterCreateNamedW(LPCWSTR lpszName, DWORD iInitial)
{
static const WCHAR szPrefix[] = { 's', 'h', 'e', 'l',
'l', '.', '\0' };
const int iPrefixLen = 6;
@@ -412,7 +412,7 @@
StrCpyNW(szBuff + iPrefixLen, lpszName, iBuffLen - iPrefixLen);
/* Initialise security attributes */
- pSecAttr = _CreateAllAccessSecurityAttributes(&sAttr, &sd, 0);
+ pSecAttr = CreateAllAccessSecurityAttributes(&sAttr, &sd, 0);
if (!(hRet = CreateSemaphoreW(pSecAttr , iInitial, MAXLONG, szBuff)))
hRet = OpenSemaphoreW(SYNCHRONIZE|SEMAPHORE_MODIFY_STATE, 0, szBuff);
@@ -420,7 +420,7 @@
}
/*************************************************************************
- * _SHGlobalCounterCreateNamedA [SHLWAPI.422]
+ * SHGlobalCounterCreateNamedA [SHLWAPI.422]
*
* Create a semaphore.
*
@@ -431,7 +431,7 @@
* RETURNS
* A new semaphore handle.
*/
-HANDLE WINAPI _SHGlobalCounterCreateNamedA(LPCSTR lpszName, DWORD iInitial)
+HANDLE WINAPI SHGlobalCounterCreateNamedA(LPCSTR lpszName, DWORD iInitial)
{
WCHAR szBuff[MAX_PATH];
@@ -439,11 +439,11 @@
if (lpszName)
MultiByteToWideChar(0, 0, lpszName, -1, szBuff, MAX_PATH);
- return _SHGlobalCounterCreateNamedW(lpszName ? szBuff : NULL, iInitial);
-}
-
-/*************************************************************************
- * _SHGlobalCounterCreate [SHLWAPI.222]
+ return SHGlobalCounterCreateNamedW(lpszName ? szBuff : NULL, iInitial);
+}
+
+/*************************************************************************
+ * SHGlobalCounterCreate [SHLWAPI.222]
*
* Create a semaphore using the name of a GUID.
*
@@ -456,7 +456,7 @@
* NOTES
* The initial count of the semaphore is set to 0.
*/
-HANDLE WINAPI _SHGlobalCounterCreate (REFGUID guid)
+HANDLE WINAPI SHGlobalCounterCreate (REFGUID guid)
{
char szName[40];
@@ -464,5 +464,5 @@
/* Create a named semaphore using the GUID string */
SHStringFromGUIDA(guid, szName, sizeof(szName) - 1);
- return _SHGlobalCounterCreateNamedA(szName, 0);
-}
+ return SHGlobalCounterCreateNamedA(szName, 0);
+}
Modified: trunk/reactos/dll/win32/shlwapi/url.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shlwapi/url.c?re…
==============================================================================
--- trunk/reactos/dll/win32/shlwapi/url.c (original)
+++ trunk/reactos/dll/win32/shlwapi/url.c Thu Nov 29 14:15:59 2007
@@ -268,11 +268,11 @@
LPDWORD pcchCanonicalized, DWORD dwFlags)
{
LPWSTR base, canonical;
- DWORD ret, len, len2;
-
- TRACE("(%s %p %p 0x%08x) using W version\n",
- debugstr_a(pszUrl), pszCanonicalized,
- pcchCanonicalized, dwFlags);
+ HRESULT ret;
+ DWORD len, len2;
+
+ TRACE("(%s, %p, %p, 0x%08x) *pcchCanonicalized: %d\n", debugstr_a(pszUrl),
pszCanonicalized,
+ pcchCanonicalized, dwFlags, pcchCanonicalized ? *pcchCanonicalized : -1);
if(!pszUrl || !pszCanonicalized || !pcchCanonicalized)
return E_INVALIDARG;
@@ -286,19 +286,19 @@
ret = UrlCanonicalizeW(base, canonical, &len, dwFlags);
if (ret != S_OK) {
- HeapFree(GetProcessHeap(), 0, base);
- return ret;
- }
-
- len2 = WideCharToMultiByte(0, 0, canonical, len, 0, 0, 0, 0);
+ *pcchCanonicalized = len * 2;
+ HeapFree(GetProcessHeap(), 0, base);
+ return ret;
+ }
+
+ len2 = WideCharToMultiByte(0, 0, canonical, -1, 0, 0, 0, 0);
if (len2 > *pcchCanonicalized) {
- *pcchCanonicalized = len;
- HeapFree(GetProcessHeap(), 0, base);
- return E_POINTER;
- }
- WideCharToMultiByte(0, 0, canonical, len+1, pszCanonicalized,
- *pcchCanonicalized, 0, 0);
- *pcchCanonicalized = len2;
+ *pcchCanonicalized = len2;
+ HeapFree(GetProcessHeap(), 0, base);
+ return E_POINTER;
+ }
+ WideCharToMultiByte(0, 0, canonical, -1, pszCanonicalized, *pcchCanonicalized, 0,
0);
+ *pcchCanonicalized = len;
HeapFree(GetProcessHeap(), 0, base);
return S_OK;
}
@@ -320,8 +320,8 @@
static const WCHAR wszFile[] =
{'f','i','l','e',':'};
- TRACE("(%s %p %p 0x%08x)\n", debugstr_w(pszUrl), pszCanonicalized,
- pcchCanonicalized, dwFlags);
+ TRACE("(%s, %p, %p, 0x%08x) *pcchCanonicalized: %d\n", debugstr_w(pszUrl),
pszCanonicalized,
+ pcchCanonicalized, dwFlags, pcchCanonicalized ? *pcchCanonicalized : -1);
if(!pszUrl || !pszCanonicalized || !pcchCanonicalized)
return E_INVALIDARG;
@@ -332,7 +332,8 @@
}
nByteLen = (lstrlenW(pszUrl) + 1) * sizeof(WCHAR); /* length in bytes */
- lpszUrlCpy = HeapAlloc(GetProcessHeap(), 0, INTERNET_MAX_URL_LENGTH);
+ lpszUrlCpy = HeapAlloc(GetProcessHeap(), 0,
+ INTERNET_MAX_URL_LENGTH * sizeof(WCHAR));
if((dwFlags & URL_FILE_USE_PATHURL) && nByteLen >= sizeof(wszFile)
&& !memcmp(wszFile, pszUrl, sizeof(wszFile)))
@@ -425,7 +426,7 @@
state = 3;
break;
}
-
+
/* Now at root location, cannot back up any more. */
/* "root" will point at the '/' */
@@ -735,8 +736,9 @@
process_case = 4;
break;
}
- /* case where scheme is followed by document path */
- process_case = 5;
+ /* replace either just location if base's location starts with a
+ * slash or otherwise everything */
+ process_case = (*base.pszSuffix == '/') ? 5 : 1;
break;
}
if ((*relative.pszSuffix == '/') && (*(relative.pszSuffix+1) ==
'/')) {
@@ -1044,7 +1046,7 @@
for(src = pszUrl; *src; ) {
WCHAR cur = *src;
len = 0;
-
+
if((int_flags & WINE_URL_COLLAPSE_SLASHES) && src == pszUrl +
parsed_url.cchProtocol + 1) {
int localhost_len = sizeof(localhost)/sizeof(WCHAR) - 1;
while(cur == '/' || cur == '\\') {
@@ -1443,7 +1445,7 @@
* pszUrl [I] Url to hash
* lpDest [O] Destinationh for hash
* nDestLen [I] Length of lpDest
- *
+ *
* RETURNS
* Success: S_OK. lpDest is filled with the computed hash value.
* Failure: E_INVALIDARG, if any argument is invalid.
@@ -2178,7 +2180,7 @@
/*************************************************************************
* UrlCreateFromPathA [SHLWAPI.@]
- *
+ *
* See UrlCreateFromPathW
*/
HRESULT WINAPI UrlCreateFromPathA(LPCSTR pszPath, LPSTR pszUrl, LPDWORD pcchUrl, DWORD
dwReserved)