ReactOS  0.4.14-dev-77-gd9e7c48
misc.cpp File Reference
#include <stdio.h>
#include <tchar.h>
#include <windef.h>
#include <winbase.h>
#include <winreg.h>
#include <wingdi.h>
#include <winnls.h>
#include <wincon.h>
#include <shellapi.h>
#include <shlobj.h>
#include <shlobj_undoc.h>
#include <shlwapi.h>
#include <shlguid_undoc.h>
#include <uxtheme.h>
#include <strsafe.h>
#include <atlbase.h>
#include <atlcom.h>
#include <atlwin.h>
#include <undocshell.h>
#include <undocuser.h>
#include <shellutils.h>
#include <CQuickLaunchBand.h>
#include <wine/debug.h>
Include dependency graph for misc.cpp:

Go to the source code of this file.

Classes

class  CRShellModule
 
class  CRShellClassFactory
 

Macros

#define WIN32_NO_STATUS
 
#define _INC_WINDOWS
 
#define COM_NO_WINDOWS_H
 
#define COBJMACROS
 

Functions

HRESULT WINAPI RSHELL_CStartMenu_CreateInstance (REFIID riid, void **ppv)
 
HRESULT WINAPI RSHELL_CMenuDeskBar_CreateInstance (REFIID riid, LPVOID *ppv)
 
HRESULT WINAPI RSHELL_CMenuSite_CreateInstance (REFIID riid, LPVOID *ppv)
 
HRESULT WINAPI RSHELL_CMenuBand_CreateInstance (REFIID riid, LPVOID *ppv)
 
HRESULT WINAPI RSHELL_CMergedFolder_CreateInstance (REFIID riid, LPVOID *ppv)
 
DWORD WINAPI WinList_Init (void)
 
static LSTATUS _RegSetStringValueW (HKEY hKey, LPCWSTR lpValueName, LPCWSTR lpStringData)
 
static HRESULT RegisterComponent (REFGUID clsid, LPCWSTR szDisplayName)
 
static HRESULT UnregisterComponent (REFGUID clsid)
 
 STDAPI_ (BOOL) DllMain(HINSTANCE hInstance
 
HRESULT WINAPI DllCanUnloadNow (void)
 
STDAPI DllRegisterServer (void)
 
STDAPI DllUnregisterServer (void)
 
STDAPI DllGetClassObject (REFCLSID rclsid, REFIID riid, LPVOID *ppv)
 

Variables

HINSTANCE shell32_hInstance = NULL
 
CRShellModule gModule
 
CAtlWinModule gWinModule
 
DWORD dwReason
 
DWORD LPVOID fImpLoad
 

Macro Definition Documentation

◆ _INC_WINDOWS

#define _INC_WINDOWS

Definition at line 26 of file misc.cpp.

◆ COBJMACROS

#define COBJMACROS

Definition at line 29 of file misc.cpp.

◆ COM_NO_WINDOWS_H

#define COM_NO_WINDOWS_H

Definition at line 27 of file misc.cpp.

◆ WIN32_NO_STATUS

#define WIN32_NO_STATUS

Definition at line 25 of file misc.cpp.

Function Documentation

◆ _RegSetStringValueW()

static LSTATUS _RegSetStringValueW ( HKEY  hKey,
LPCWSTR  lpValueName,
LPCWSTR  lpStringData 
)
inlinestatic

Definition at line 84 of file misc.cpp.

85 {
86  DWORD dwStringDataLen = lstrlenW(lpStringData);
87 
88  return RegSetValueExW(hKey, lpValueName, 0, REG_SZ, (BYTE *) lpStringData, 2 * (dwStringDataLen + 1));
89 }
#define lstrlenW
Definition: compat.h:407
LONG WINAPI RegSetValueExW(_In_ HKEY hKey, _In_ LPCWSTR lpValueName, _In_ DWORD Reserved, _In_ DWORD dwType, _In_ CONST BYTE *lpData, _In_ DWORD cbData)
Definition: reg.c:4895
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned char BYTE
Definition: mem.h:68
#define REG_SZ
Definition: layer.c:22

Referenced by RegisterComponent().

◆ DllCanUnloadNow()

HRESULT WINAPI DllCanUnloadNow ( void  )

Definition at line 173 of file misc.cpp.

174 {
175  gModule.DllCanUnloadNow();
176  return S_FALSE;
177 }
#define S_FALSE
Definition: winerror.h:2357
CRShellModule gModule
Definition: misc.cpp:79

◆ DllGetClassObject()

STDAPI DllGetClassObject ( REFCLSID  rclsid,
REFIID  riid,
LPVOID ppv 
)

Definition at line 265 of file misc.cpp.

269 {
270  if (!ppv)
271  return E_INVALIDARG;
272 
273  *ppv = NULL;
274 
275  return ShellObjectCreatorInit<CRShellClassFactory>(rclsid, riid, ppv);
276 }
REFIID riid
Definition: precomp.h:44
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define E_INVALIDARG
Definition: ddrawi.h:101
smooth NULL
Definition: ftsmooth.c:416

◆ DllRegisterServer()

STDAPI DllRegisterServer ( void  )

Definition at line 180 of file misc.cpp.

181 {
182 #if 0
183  RegisterComponent(CLSID_StartMenu, L"Shell Start Menu");
184  RegisterComponent(CLSID_MenuDeskBar, L"Shell Menu Desk Bar");
185  RegisterComponent(CLSID_MenuBand, L"Shell Menu Band");
186  RegisterComponent(CLSID_MenuBandSite, L"Shell Menu Band Site");
187  RegisterComponent(CLSID_MergedFolder, L"Merged Shell Folder");
188  RegisterComponent(CLSID_RebarBandSite, L"Shell Rebar Band Site");
189 #endif
190  RegisterComponent(CLSID_QuickLaunchBand, L"Quick Launch");
191  RegisterComCat();
192  return S_OK;
193 }
const GUID CLSID_StartMenu
static const WCHAR L[]
Definition: oid.c:1250
HRESULT RegisterComCat()
const GUID CLSID_MenuBandSite
static HRESULT RegisterComponent(REFGUID clsid, LPCWSTR szDisplayName)
Definition: misc.cpp:91
#define S_OK
Definition: intsafe.h:59
const GUID CLSID_QuickLaunchBand

◆ DllUnregisterServer()

STDAPI DllUnregisterServer ( void  )

Definition at line 196 of file misc.cpp.

197 {
198 #if 0
200  UnregisterComponent(CLSID_MenuDeskBar);
201  UnregisterComponent(CLSID_MenuBand);
203  UnregisterComponent(CLSID_MergedFolder);
204  UnregisterComponent(CLSID_RebarBandSite);
205 #endif
208  return S_OK;
209 }
static HRESULT UnregisterComponent(REFGUID clsid)
Definition: misc.cpp:130
const GUID CLSID_StartMenu
HRESULT UnregisterComCat()
const GUID CLSID_MenuBandSite
#define S_OK
Definition: intsafe.h:59
const GUID CLSID_QuickLaunchBand

◆ RegisterComponent()

static HRESULT RegisterComponent ( REFGUID  clsid,
LPCWSTR  szDisplayName 
)
static

Definition at line 91 of file misc.cpp.

92 {
93  WCHAR szFilename[MAX_PATH];
94  WCHAR szClsid[MAX_PATH];
95  WCHAR szRoot[MAX_PATH];
96 
97  if (!StringFromGUID2(clsid, szClsid, _countof(szClsid)))
98  return E_FAIL;
99 
100  if (!GetModuleFileNameW(shell32_hInstance, szFilename, _countof(szFilename)))
101  return E_FAIL;
102 
103  HRESULT hr = StringCchPrintfW(szRoot, 0x104u, L"CLSID\\%s", szClsid);
104  if (FAILED(hr))
105  return hr;
106 
107  DWORD dwDisposition;
108  HKEY hkRoot;
109  if (RegCreateKeyExW(HKEY_CLASSES_ROOT, szRoot, 0, NULL, 0, KEY_WRITE, 0, &hkRoot, &dwDisposition) != 0)
110  return E_FAIL;
111 
112  HKEY hkServer;
113 
114  _RegSetStringValueW(hkRoot, NULL, szDisplayName);
115 
116  if (RegCreateKeyExW(hkRoot, L"InprocServer32", 0, NULL, 0, KEY_SET_VALUE, 0, &hkServer, &dwDisposition) != 0)
117  {
118  RegCloseKey(hkRoot);
119  return E_FAIL;
120  }
121 
122  _RegSetStringValueW(hkServer, NULL, szFilename);
123  _RegSetStringValueW(hkServer, L"ThreadingModel", L"Both");
124 
125  RegCloseKey(hkServer);
126  RegCloseKey(hkRoot);
127  return S_OK;
128 }
DWORD WINAPI GetModuleFileNameW(HINSTANCE hModule, LPWSTR lpFilename, DWORD nSize)
Definition: loader.c:609
HRESULT hr
Definition: shlfolder.c:183
#define KEY_SET_VALUE
Definition: nt_native.h:1017
#define _countof(array)
Definition: fontsub.cpp:30
#define E_FAIL
Definition: ddrawi.h:102
LONG WINAPI RegCreateKeyExW(_In_ HKEY hKey, _In_ LPCWSTR lpSubKey, _In_ DWORD Reserved, _In_opt_ LPWSTR lpClass, _In_ DWORD dwOptions, _In_ REGSAM samDesired, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _Out_ PHKEY phkResult, _Out_opt_ LPDWORD lpdwDisposition)
Definition: reg.c:1091
static LSTATUS _RegSetStringValueW(HKEY hKey, LPCWSTR lpValueName, LPCWSTR lpStringData)
Definition: misc.cpp:84
LONG WINAPI RegCloseKey(HKEY hKey)
Definition: reg.c:423
HINSTANCE shell32_hInstance
Definition: misc.cpp:82
smooth NULL
Definition: ftsmooth.c:416
#define KEY_WRITE
Definition: nt_native.h:1031
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG HRESULT
Definition: typedefs.h:77
#define MAX_PATH
Definition: compat.h:26
INT WINAPI StringFromGUID2(REFGUID id, LPOLESTR str, INT cmax)
Definition: compobj.c:2343
unsigned long DWORD
Definition: ntddk_ex.h:95
REFCLSID clsid
Definition: msctf.c:84
static const WCHAR L[]
Definition: oid.c:1250
#define S_OK
Definition: intsafe.h:59
STRSAFEAPI StringCchPrintfW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszFormat,...)
Definition: strsafe.h:530
#define HKEY_CLASSES_ROOT
Definition: winreg.h:10

Referenced by DllRegisterServer().

◆ RSHELL_CMenuBand_CreateInstance()

HRESULT WINAPI RSHELL_CMenuBand_CreateInstance ( REFIID  riid,
LPVOID ppv 
)

Definition at line 1313 of file CMenuBand.cpp.

1314 {
1315  return ShellObjectCreator<CMenuBand>(riid, ppv);
1316 }
REFIID riid
Definition: precomp.h:44
REFIID LPVOID * ppv
Definition: atlbase.h:39

Referenced by CRShellClassFactory::CreateInstance().

◆ RSHELL_CMenuDeskBar_CreateInstance()

HRESULT WINAPI RSHELL_CMenuDeskBar_CreateInstance ( REFIID  riid,
LPVOID ppv 
)

Definition at line 851 of file CMenuDeskBar.cpp.

852 {
853  return ShellObjectCreator<CMenuDeskBar>(riid, ppv);
854 }
REFIID riid
Definition: precomp.h:44
REFIID LPVOID * ppv
Definition: atlbase.h:39

Referenced by CRShellClassFactory::CreateInstance().

◆ RSHELL_CMenuSite_CreateInstance()

HRESULT WINAPI RSHELL_CMenuSite_CreateInstance ( REFIID  riid,
LPVOID ppv 
)

Definition at line 359 of file CMenuSite.cpp.

360 {
361  return ShellObjectCreator<CMenuSite>(riid, ppv);
362 }
REFIID riid
Definition: precomp.h:44
REFIID LPVOID * ppv
Definition: atlbase.h:39

Referenced by CRShellClassFactory::CreateInstance().

◆ RSHELL_CMergedFolder_CreateInstance()

HRESULT WINAPI RSHELL_CMergedFolder_CreateInstance ( REFIID  riid,
LPVOID ppv 
)

Definition at line 813 of file CMergedFolder.cpp.

814 {
815  return ShellObjectCreator<CMergedFolder>(riid, ppv);
816 }
REFIID riid
Definition: precomp.h:44
REFIID LPVOID * ppv
Definition: atlbase.h:39

Referenced by CRShellClassFactory::CreateInstance().

◆ RSHELL_CStartMenu_CreateInstance()

HRESULT WINAPI RSHELL_CStartMenu_CreateInstance ( REFIID  riid,
void **  ppv 
)

Definition at line 418 of file CStartMenu.cpp.

419 {
420  CComPtr<IShellMenu> pShellMenu;
421  CComPtr<IBandSite> pBandSite;
422  CComPtr<IDeskBar> pDeskBar;
423 
424  HRESULT hr;
425  IShellFolder * psf;
426 
427  LPITEMIDLIST pidlProgramsAbsolute;
428  LPITEMIDLIST pidlPrograms;
429  CComPtr<IShellFolder> psfPrograms;
430 
432  if (FAILED_UNEXPECTEDLY(hr))
433  return hr;
434 
436  if (FAILED_UNEXPECTEDLY(hr))
437  return hr;
438 
440  if (FAILED_UNEXPECTEDLY(hr))
441  return hr;
442 
443  CComObject<CShellMenuCallback> *pCallback;
444  hr = CComObject<CShellMenuCallback>::CreateInstance(&pCallback);
445  if (FAILED_UNEXPECTEDLY(hr))
446  return hr;
447 
448  pCallback->AddRef(); // CreateInstance returns object with 0 ref count */
449  pCallback->Initialize(pShellMenu, pBandSite, pDeskBar);
450 
451  pShellMenu->Initialize(pCallback, (UINT) -1, 0, SMINIT_TOPLEVEL | SMINIT_VERTICAL);
452  if (FAILED_UNEXPECTEDLY(hr))
453  return hr;
454 
455  hr = GetStartMenuFolder(&psf);
456  if (FAILED_UNEXPECTEDLY(hr))
457  return hr;
458 
459  /* psf is a merged folder, so now we want to get the pidl of the programs item from the merged folder */
460  {
461  hr = SHGetSpecialFolderLocation(NULL, CSIDL_PROGRAMS, &pidlProgramsAbsolute);
462  if (FAILED_UNEXPECTEDLY(hr))
463  {
464  WARN("USER Programs folder not found.");
465  hr = SHGetSpecialFolderLocation(NULL, CSIDL_COMMON_PROGRAMS, &pidlProgramsAbsolute);
466  if (FAILED_UNEXPECTEDLY(hr))
467  return hr;
468  }
469 
470  LPCITEMIDLIST pcidlPrograms;
471  CComPtr<IShellFolder> psfParent;
472  STRRET str;
473  TCHAR szDisplayName[MAX_PATH];
474 
475  hr = SHBindToParent(pidlProgramsAbsolute, IID_PPV_ARG(IShellFolder, &psfParent), &pcidlPrograms);
476  if (FAILED_UNEXPECTEDLY(hr))
477  return hr;
478 
479  hr = psfParent->GetDisplayNameOf(pcidlPrograms, SHGDN_FORPARSING | SHGDN_INFOLDER, &str);
480  if (FAILED_UNEXPECTEDLY(hr))
481  return hr;
482 
483  StrRetToBuf(&str, pcidlPrograms, szDisplayName, _countof(szDisplayName));
484  ILFree(pidlProgramsAbsolute);
485 
486  /* We got the display name from the fs folder and we parse it with the merged folder here */
487  hr = psf->ParseDisplayName(NULL, NULL, szDisplayName, NULL, &pidlPrograms, NULL);
488  if (FAILED_UNEXPECTEDLY(hr))
489  return hr;
490  }
491 
492  hr = GetProgramsFolder(&psfPrograms);
493  if (FAILED_UNEXPECTEDLY(hr))
494  return hr;
495 
496  hr = pCallback->_SetProgramsFolder(psfPrograms, pidlPrograms);
497  if (FAILED_UNEXPECTEDLY(hr))
498  return hr;
499 
500  hr = pShellMenu->SetShellFolder(psf, NULL, NULL, 0);
501  if (FAILED_UNEXPECTEDLY(hr))
502  return hr;
503 
504  hr = pDeskBar->SetClient(pBandSite);
505  if (FAILED_UNEXPECTEDLY(hr))
506  return hr;
507 
508  hr = pBandSite->AddBand(pShellMenu);
509  if (FAILED_UNEXPECTEDLY(hr))
510  return hr;
511 
512  return pDeskBar->QueryInterface(riid, ppv);
513 }
void WINAPI ILFree(LPITEMIDLIST pidl)
Definition: pidl.c:925
HRESULT hr
Definition: shlfolder.c:183
HRESULT ParseDisplayName([in] HWND hwndOwner, [in] LPBC pbcReserved, [in, string] LPOLESTR lpszDisplayName, [out] ULONG *pchEaten, [out] PIDLIST_RELATIVE *ppidl, [in, out, unique] ULONG *pdwAttributes)
REFIID riid
Definition: precomp.h:44
static HRESULT GetStartMenuFolder(IShellFolder **ppsfStartMenu)
Definition: CStartMenu.cpp:406
#define _countof(array)
Definition: fontsub.cpp:30
#define WARN(fmt,...)
Definition: debug.h:111
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
Definition: shtypes.idl:42
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define CMenuDeskBar_CreateInstance
Definition: shellmenu.h:75
#define IID_PPV_ARG(Itype, ppType)
#define CSIDL_COMMON_PROGRAMS
Definition: shlobj.h:2025
static HRESULT GetProgramsFolder(IShellFolder **ppsfStartMenu)
Definition: CStartMenu.cpp:411
#define StrRetToBuf
Definition: shlwapi.h:1769
const WCHAR * str
smooth NULL
Definition: ftsmooth.c:416
#define CMenuSite_CreateInstance
Definition: shellmenu.h:87
char TCHAR
Definition: xmlstorage.h:189
HRESULT WINAPI SHGetSpecialFolderLocation(HWND hwndOwner, INT nFolder, LPITEMIDLIST *ppidl)
Definition: shellpath.c:2687
LONG HRESULT
Definition: typedefs.h:77
#define FAILED_UNEXPECTEDLY(hr)
Definition: shellutils.h:71
#define MAX_PATH
Definition: compat.h:26
HRESULT WINAPI SHBindToParent(LPCITEMIDLIST pidl, REFIID riid, LPVOID *ppv, LPCITEMIDLIST *ppidlLast)
Definition: pidl.c:1323
#define CMenuBand_CreateInstance
Definition: shellmenu.h:81
unsigned int UINT
Definition: ndis.h:50
#define CSIDL_PROGRAMS
Definition: shlobj.h:2005
ITEMIDLIST UNALIGNED * LPITEMIDLIST
Definition: shtypes.idl:41

Referenced by CRShellClassFactory::CreateInstance(), and CStartMenuDummy::_CreatorClass::CreateInstance().

◆ STDAPI_()

STDAPI_ ( BOOL  )

◆ UnregisterComponent()

static HRESULT UnregisterComponent ( REFGUID  clsid)
static

Definition at line 130 of file misc.cpp.

131 {
132  WCHAR szClsid[MAX_PATH];
133  WCHAR szRoot[MAX_PATH];
134  HKEY hkRoot;
135 
136  if (!StringFromGUID2(clsid, szClsid, _countof(szClsid)))
137  return E_FAIL;
138 
139  HRESULT hr = StringCchPrintfW(szRoot, 0x104u, L"CLSID\\%s", szClsid);
140  if (FAILED(hr))
141  return hr;
142 
143  if (RegOpenKeyExW(HKEY_CLASSES_ROOT, szRoot, 0, KEY_WRITE, &hkRoot) != 0)
144  return E_FAIL;
145 
146  RegDeleteKeyW(hkRoot, L"InprocServer32");
147  RegCloseKey(hkRoot);
148 
150 
151  return S_OK;
152 }
HRESULT hr
Definition: shlfolder.c:183
#define _countof(array)
Definition: fontsub.cpp:30
LONG WINAPI RegDeleteKeyW(_In_ HKEY hKey, _In_ LPCWSTR lpSubKey)
Definition: reg.c:1237
#define E_FAIL
Definition: ddrawi.h:102
LONG WINAPI RegCloseKey(HKEY hKey)
Definition: reg.c:423
#define KEY_WRITE
Definition: nt_native.h:1031
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG HRESULT
Definition: typedefs.h:77
#define MAX_PATH
Definition: compat.h:26
INT WINAPI StringFromGUID2(REFGUID id, LPOLESTR str, INT cmax)
Definition: compobj.c:2343
REFCLSID clsid
Definition: msctf.c:84
static const WCHAR L[]
Definition: oid.c:1250
#define S_OK
Definition: intsafe.h:59
STRSAFEAPI StringCchPrintfW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszFormat,...)
Definition: strsafe.h:530
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
Definition: reg.c:3366
#define HKEY_CLASSES_ROOT
Definition: winreg.h:10

Referenced by DllUnregisterServer().

◆ WinList_Init()

DWORD WINAPI WinList_Init ( void  )

Definition at line 68 of file misc.cpp.

69 {
70  /* do something here (perhaps we may want to add our own implementation fo win8) */
71  return 0;
72 }

Variable Documentation

◆ dwReason

◆ fImpLoad

DWORD LPVOID fImpLoad
Initial value:
{
{
}
{
gModule.Term();
}
return TRUE
#define TRUE
Definition: types.h:120
BOOL WINAPI DisableThreadLibraryCalls(IN HMODULE hLibModule)
Definition: loader.c:85
#define DLL_PROCESS_ATTACH
Definition: compat.h:120
DWORD dwReason
Definition: misc.cpp:154
HINSTANCE hInstance
Definition: charmap.c:20
HINSTANCE shell32_hInstance
Definition: misc.cpp:82
smooth NULL
Definition: ftsmooth.c:416
#define DLL_PROCESS_DETACH
Definition: compat.h:119
CRShellModule gModule
Definition: misc.cpp:79

Definition at line 155 of file misc.cpp.

Referenced by DllMain().

◆ gModule

CRShellModule gModule

Definition at line 79 of file misc.cpp.

Referenced by DllCanUnloadNow().

◆ gWinModule

CAtlWinModule gWinModule

Definition at line 80 of file misc.cpp.

◆ shell32_hInstance

HINSTANCE shell32_hInstance = NULL

Definition at line 82 of file misc.cpp.

Referenced by CFSDropTarget::_GetEffectFromMenu(), CFSDropTarget::_GetUniqueFileName(), _ILGetFileType(), _InsertMenuItemW(), _SetOperationTitle(), _SHGetDefaultValue(), AboutDlgProc(), ActionDlg_OnBrowse(), COpenWithMenu::AddChooseProgramItem(), CDefaultContextMenu::AddStaticContextMenusToMenu(), COpenWithDialog::Browse(), BrsFolder_NewFolder(), ConfirmDialog(), Control_CreateListView(), Control_DoInterface(), Control_WndProc(), Control_WndProc_Create(), CFileDefExt::CountFolderAndFiles(), CNewMenu::CreateNewFolder(), CShellLink::CreateShortcutIcon(), do_error_dialog(), CDefaultContextMenu::DoCreateNewFolder(), DrivesContextMenuCallback(), EditTypeDlg_OnCommand(), CDrvDefExt::ExtraPageProc(), FileTypesDlg_DoList(), FileTypesDlg_InitListView(), CDefView::FillEditMenu(), CDefView::FillViewMenu(), FolderOptionsFileTypesDlg(), FormatDriveDlg(), FormatExCB(), GeneralDlg_UpdateIcons(), CControlPanelFolder::GetDetailsOf(), CRecycleBin::GetDetailsOf(), CDrivesFolder::GetDisplayNameOf(), GetDriveNameWithLetter(), GetFileTypeIconsEx(), HCR_GetClassNameA(), HCR_GetClassNameW(), COpenWithDialog::Init(), CFileDefExt::InitFileAttr(), CDrvDefExt::InitGeneralPage(), CFileDefExt::InitGeneralPage(), CDesktopBrowser::Initialize(), CNewMenu::Initialize(), InitializeFormatDriveDlg(), InitializeRecycleBinDlg(), CFileDefExt::InitOpensWithField(), InsertDefaultClusterSizeForFs(), CNewMenu::InsertShellNewItems(), COpenWithDialog::IsNoOpen(), LogoffWindowsDialog(), CNewMenu::NewItemByNonCommand(), CShellLink::OnCommand(), CDefView::OnCreate(), PickIconDlg(), PickIconProc(), Printer_LoadIconsW(), PropSheetProc(), CDefViewBckgrndMenu::QueryContextMenu(), COpenWithMenu::QueryContextMenu(), CRecycleBin::QueryContextMenu(), CNewMenu::QueryContextMenu(), CRecycleBinItemContextMenu::QueryContextMenu(), CShellLink::QueryContextMenu(), RegisterComponent(), RunDlgProc(), RunFileDlg(), SetFileTypeEntryDefaultIcon(), SH_CreatePropertySheetPage(), SH_FormatByteSize(), SH_ShowRecycleBinProperties(), SHBrowseForFolderW(), SHCreateDirectoryExW(), SHELL_ConfirmDialogW(), SHELL_ConfirmIDs(), SHELL_ConfirmMsgBox(), ShellAboutW(), ShellExecCmdLine(), SHEmptyRecycleBinW(), SHFormatDrive(), SHOpenWithDialog(), ShowFolderOptionsDialog(), SIC_Initialize(), CFileDefExt::UpdateFolderIcon(), and CDefView::UpdateStatusbar().