WINE_DEFAULT_DEBUG_CHANNEL(shell);
+/*
+ * Implemented
+ */
+EXTERN_C LPWSTR
+WINAPI
+AddCommasW(DWORD lValue, LPWSTR lpNumber)
+{
+ WCHAR szValue[MAX_PATH], szSeparator[8 + 1];
+ NUMBERFMTW numFormat;
+
+ GetLocaleInfoW(LOCALE_USER_DEFAULT,
+ LOCALE_STHOUSAND,
+ szSeparator,
+ _countof(szSeparator));
+
+ numFormat.NumDigits = 0;
+ numFormat.LeadingZero = 0;
+ numFormat.Grouping = 3; // FIXME! Use GetLocaleInfoW with LOCALE_SGROUPING and interpret the result.
+ numFormat.lpDecimalSep = szSeparator;
+ numFormat.lpThousandSep = szSeparator;
+ numFormat.NegativeOrder = 0;
+
+ swprintf(szValue, L"%lu", lValue);
+
+ if (GetNumberFormatW(LOCALE_USER_DEFAULT,
+ 0,
+ szValue,
+ &numFormat,
+ lpNumber,
+ MAX_PATH) != 0)
+ {
+ return lpNumber;
+ }
+
+ wcscpy(lpNumber, szValue);
+ return lpNumber;
+}
+
/**************************************************************************
* Default ClassFactory types
*/
HRESULT IDefClF_fnConstructor(LPFNCREATEINSTANCE lpfnCI, PLONG pcRefDll, const IID *riidInst, IClassFactory **theFactory)
{
- return ShellObjectCreatorInit<IDefClFImpl>(lpfnCI, pcRefDll, riidInst, IID_IClassFactory, theFactory);
+ return ShellObjectCreatorInit<IDefClFImpl>(lpfnCI, pcRefDll, riidInst, IID_PPV_ARG(IClassFactory, theFactory));
}
/******************************************************************************
OBJECT_ENTRY(CLSID_ShellDesktop, CDesktopFolder)
OBJECT_ENTRY(CLSID_ShellItem, CShellItem)
OBJECT_ENTRY(CLSID_ShellLink, CShellLink)
+ OBJECT_ENTRY(CLSID_Shell, CShellDispatch)
OBJECT_ENTRY(CLSID_DragDropHelper, CDropTargetHelper)
OBJECT_ENTRY(CLSID_ControlPanel, CControlPanelFolder)
OBJECT_ENTRY(CLSID_MyDocuments, CMyDocsFolder)
OBJECT_ENTRY(CLSID_FontsFolderShortcut, CFontsFolder)
OBJECT_ENTRY(CLSID_Printers, CPrinterFolder)
OBJECT_ENTRY(CLSID_AdminFolderShortcut, CAdminToolsFolder)
+ OBJECT_ENTRY(CLSID_ShellFldSetExt, CFolderOptions)
OBJECT_ENTRY(CLSID_RecycleBin, CRecycleBin)
OBJECT_ENTRY(CLSID_OpenWithMenu, COpenWithMenu)
OBJECT_ENTRY(CLSID_NewMenu, CNewMenu)
OBJECT_ENTRY(CLSID_MenuBand, CMenuBand)
OBJECT_ENTRY(CLSID_MenuDeskBar, CMenuDeskBar)
OBJECT_ENTRY(CLSID_MergedFolder, CMergedFolder)
- OBJECT_ENTRY(CLSID_RebarBandSite, CBandSite)
OBJECT_ENTRY(CLSID_ExeDropHandler, CExeDropHandler)
OBJECT_ENTRY(CLSID_QueryAssociations, CQueryAssociations)
END_OBJECT_MAP()
if (dwReason == DLL_PROCESS_ATTACH)
{
shell32_hInstance = hInstance;
- gModule.Init(ObjectMap, hInstance, NULL);
+ gModule.Init(ObjectMap, hInstance, &LIBID_Shell32);
DisableThreadLibraryCalls (hInstance);
InitCtrls.dwICC = ICC_WIN95_CLASSES | ICC_DATE_CLASSES | ICC_USEREX_CLASSES;
InitCommonControlsEx(&InitCtrls);
- SIC_Initialize();
+ /* Bad idea, initialization in DllMain! */
InitChangeNotifications();
- InitIconOverlays();
}
else if (dwReason == DLL_PROCESS_DETACH)
{
{
HRESULT hr;
- hr = gModule.DllRegisterServer(FALSE);
+ hr = gModule.DllRegisterServer(TRUE);
if (FAILED(hr))
return hr;
{
HRESULT hr;
- hr = gModule.DllUnregisterServer(FALSE);
+ hr = gModule.DllUnregisterServer(TRUE);
if (FAILED(hr))
return hr;