Author: dchapyshev Date: Fri Jun 13 02:58:34 2008 New Revision: 33953
URL: http://svn.reactos.org/svn/reactos?rev=33953&view=rev Log: - Implement AddCommasW - Implement SHLocalAlloc - Implement SHLocalFree - Implement SHLocalReAlloc explorer-new starts in reactos now!
Modified: trunk/reactos/dll/win32/shell32/shell32.spec trunk/reactos/dll/win32/shell32/shell32_main.c
Modified: trunk/reactos/dll/win32/shell32/shell32.spec URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/shell32.s... ============================================================================== --- trunk/reactos/dll/win32/shell32/shell32.spec [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/shell32.spec [iso-8859-1] Fri Jun 13 02:58:34 2008 @@ -189,10 +189,10 @@ 197 stub -noname SHGlobalDefect 198 stdcall -noname SHAbortInvokeCommand() 199 stub SHGetFileIcon - 200 stub SHLocalAlloc - 201 stub SHLocalFree - 202 stub SHLocalReAlloc - 203 stub AddCommasW + 200 stdcall SHLocalAlloc(long long) + 201 stdcall SHLocalFree(ptr) + 202 stdcall SHLocalReAlloc(ptr long long) + 203 stdcall AddCommasW(long str) 204 stub ShortSizeFormatW 205 stdcall Printer_LoadIconsW(wstr ptr ptr) 206 stub Link_AddExtraDataSection
Modified: trunk/reactos/dll/win32/shell32/shell32_main.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/shell32_m... ============================================================================== --- trunk/reactos/dll/win32/shell32/shell32_main.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/shell32_main.c [iso-8859-1] Fri Jun 13 02:58:34 2008 @@ -842,6 +842,73 @@ }
/*************************************************************************/ + +/************************************************************************* + * AddCommasW [SHELL32.203] + */ +LPWSTR WINAPI AddCommasW(DWORD lValue, LPWSTR szRet) +{ + WCHAR szValue[MAX_PATH], szSeparator[8 + 1]; + NUMBERFMTW numFormat; + LCID lcid = GetUserDefaultLCID(); + + GetLocaleInfoW(lcid, + LOCALE_STHOUSAND, + szSeparator, + 8 + 1); + + numFormat.NumDigits = 0; + numFormat.LeadingZero = 0; + numFormat.Grouping = 0; + numFormat.lpDecimalSep = szSeparator; + numFormat.lpThousandSep = szSeparator; + numFormat.NegativeOrder = 0; + + swprintf(szValue, L"%llu", lValue); + //_ultow(lValue, szValue, 16); + + if (GetNumberFormatW(lcid, + 0, + szValue, + &numFormat, + szRet, + wcslen(szRet)) != 0) + { + return szRet; + } + + wcscpy(szRet, szValue); + return szRet; +} + + +/************************************************************************* + * SHLocalAlloc [SHELL32.200] + */ +HLOCAL WINAPI SHLocalAlloc(UINT uFlags, SIZE_T uBytes) +{ + return LocalAlloc(uFlags, uBytes); +} + +/************************************************************************* + * SHLocalFree [SHELL32.201] + */ +HLOCAL WINAPI SHLocalFree(HLOCAL hMem) +{ + return LocalFree(hMem); +} + +/************************************************************************* + * SHLocalAlloc [SHELL32.202] + */ +HLOCAL WINAPI SHLocalReAlloc(HLOCAL hMem, SIZE_T uBytes, UINT uFlags) +{ + return LocalReAlloc(hMem, uBytes, uFlags); +} + + +/*************************************************************************/ +
typedef struct {