ReactOS 0.4.15-dev-7931-gfd331f1
CDesktopFolder.cpp File Reference
#include <precomp.h>
Include dependency graph for CDesktopFolder.cpp:

Go to the source code of this file.

Classes

class  CDesktopFolderEnum
 

Macros

#define DESKTOPSHELLVIEWCOLUMNS   6
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (shell)
 
HRESULT WINAPI IEParseDisplayNameWithBCW (DWORD codepage, LPCWSTR lpszDisplayName, LPBC pbc, LPITEMIDLIST *ppidl)
 
static INT IsNamespaceExtensionHidden (const WCHAR *iid)
 
static INT IsNamespaceExtensionHidden (LPCITEMIDLIST pidl)
 
int SHELL_ConfirmMsgBox (HWND hWnd, LPWSTR lpszText, LPWSTR lpszCaption, HICON hIcon, BOOL bYesToAll)
 
HRESULT WINAPI SHGetDesktopFolder (IShellFolder **psf)
 

Variables

static const WCHAR ClassicStartMenuW []
 
static const shvheader DesktopSFHeader []
 
static const DWORD dwDesktopAttributes
 
static const DWORD dwMyComputerAttributes
 
static DWORD dwMyNetPlacesAttributes
 

Macro Definition Documentation

◆ DESKTOPSHELLVIEWCOLUMNS

#define DESKTOPSHELLVIEWCOLUMNS   6

Definition at line 296 of file CDesktopFolder.cpp.

Function Documentation

◆ IEParseDisplayNameWithBCW()

HRESULT WINAPI IEParseDisplayNameWithBCW ( DWORD  codepage,
LPCWSTR  lpszDisplayName,
LPBC  pbc,
LPITEMIDLIST ppidl 
)

Definition at line 506 of file shdocvw_main.c.

507{
508 /* Guessing at parameter 3 based on IShellFolder's ParseDisplayName */
509 FIXME("stub: 0x%x %s %p %p\n",codepage,debugstr_w(lpszDisplayName),pbc,ppidl);
510 return E_FAIL;
511}
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_FAIL
Definition: ddrawi.h:102
#define debugstr_w
Definition: kernel32.h:32
int codepage
Definition: win_iconv.c:156

◆ IsNamespaceExtensionHidden() [1/2]

static INT IsNamespaceExtensionHidden ( const WCHAR iid)
static

Definition at line 163 of file CDesktopFolder.cpp.

164{
165 DWORD Result, dwResult;
166 dwResult = sizeof(DWORD);
167
168 if (RegGetValueW(HKEY_CURRENT_USER, /* FIXME use NewStartPanel when activated */
170 iid,
172 NULL,
173 &Result,
174 &dwResult) != ERROR_SUCCESS)
175 {
176 return -1;
177 }
178
179 return Result;
180}
static const WCHAR ClassicStartMenuW[]
#define ERROR_SUCCESS
Definition: deptool.c:10
#define NULL
Definition: types.h:112
LSTATUS WINAPI RegGetValueW(HKEY hKey, LPCWSTR pszSubKey, LPCWSTR pszValue, DWORD dwFlags, LPDWORD pdwType, PVOID pvData, LPDWORD pcbData)
Definition: reg.c:1931
#define RRF_RT_DWORD
Definition: driver.c:581
unsigned long DWORD
Definition: ntddk_ex.h:95
#define DWORD
Definition: nt_native.h:44
#define HKEY_CURRENT_USER
Definition: winreg.h:11
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
Definition: wsk.h:409

Referenced by CDesktopFolderEnum::Initialize(), and IsNamespaceExtensionHidden().

◆ IsNamespaceExtensionHidden() [2/2]

static INT IsNamespaceExtensionHidden ( LPCITEMIDLIST  pidl)
static

Definition at line 182 of file CDesktopFolder.cpp.

183{
184 GUID const *clsid = _ILGetGUIDPointer (pidl);
185 if (!clsid)
186 return -1;
187
188 WCHAR pwszGuid[CHARS_IN_GUID];
189 SHELL32_GUIDToStringW(*clsid, pwszGuid);
190 return IsNamespaceExtensionHidden(pwszGuid);
191}
static INT IsNamespaceExtensionHidden(const WCHAR *iid)
#define CHARS_IN_GUID
REFCLSID clsid
Definition: msctf.c:82
IID * _ILGetGUIDPointer(LPCITEMIDLIST pidl)
Definition: pidl.c:2369
static __inline int SHELL32_GUIDToStringW(REFGUID guid, LPWSTR str)
Definition: shfldr.h:85
__wchar_t WCHAR
Definition: xmlstorage.h:180

◆ SHELL_ConfirmMsgBox()

int SHELL_ConfirmMsgBox ( HWND  hWnd,
LPWSTR  lpszText,
LPWSTR  lpszCaption,
HICON  hIcon,
BOOL  bYesToAll 
)

Definition at line 203 of file shlfileop.cpp.

204{
205 struct confirm_msg_info info;
206
207 info.lpszText = lpszText;
208 info.lpszCaption = lpszCaption;
209 info.hIcon = hIcon;
210 info.bYesToAll = bYesToAll;
212}
#define shell32_hInstance
HWND hWnd
Definition: settings.c:17
HICON hIcon
Definition: msconfig.c:44
static INT_PTR CALLBACK ConfirmMsgBoxProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: shlfileop.cpp:185
#define IDD_YESTOALL_MSGBOX
Definition: shresdef.h:425
LPWSTR lpszCaption
Definition: shlfileop.cpp:90
LONG_PTR LPARAM
Definition: windef.h:208
#define MAKEINTRESOURCEW(i)
Definition: winuser.h:582
INT_PTR WINAPI DialogBoxParamW(_In_opt_ HINSTANCE, _In_ LPCWSTR, _In_opt_ HWND, _In_opt_ DLGPROC, _In_ LPARAM)

Referenced by SHELL_ConfirmDialogW().

◆ SHGetDesktopFolder()

HRESULT WINAPI SHGetDesktopFolder ( IShellFolder **  psf)

Definition at line 1106 of file CDesktopFolder.cpp.

1107{
1108 HRESULT hres = S_OK;
1109 TRACE("\n");
1110
1111 if(!psf) return E_INVALIDARG;
1112 *psf = NULL;
1113 hres = CDesktopFolder::_CreatorClass::CreateInstance(NULL, IID_PPV_ARG(IShellFolder, psf));
1114
1115 TRACE("-- %p->(%p)\n",psf, *psf);
1116 return hres;
1117}
#define E_INVALIDARG
Definition: ddrawi.h:101
#define S_OK
Definition: intsafe.h:52
HRESULT hres
Definition: protocol.c:465
#define TRACE(s)
Definition: solgame.cpp:4
#define IID_PPV_ARG(Itype, ppType)

Referenced by _BindToObject(), CViewStatePropertyBag::_CreateBag(), CFSDropTarget::_DoDrop(), _GetDocumentsPidl(), CBandSiteMenu::_GetMenuIdFromISFBand(), _ILParsePathW(), CMruNode::_InitLate(), CDesktopFolder::_ParseDisplayNameByParent(), _ParsePathToPidl(), CShellMenuCallback::AddStartMenuItems(), BindToDesktop(), CShellItem::BindToHandler(), BrsFolder_NewFolder(), BrsFolder_OnSetExpanded(), CGuidItemExtractIcon_CreateInstance(), COMDLG32_GetDisplayNameOf(), COMDLG32_UpdateCurrentDir(), CShellItem::Compare(), CSendToMenu::CSendToMenu(), CMyDocsDropHandler::Drop(), CDeskLinkDropHandler::Drop(), CAddressEditBox::Execute(), FileDialog_constructor(), FILEDLG95_LOOKIN_Init(), FILEDLG95_ValidatePathAction(), CAddressEditBox::FillOneLevel(), CQuickLaunchBand::FinalConstruct(), FM_InitMenuPopup(), CShellItem::get_parent_shellfolder(), CFolderItem::get_Path(), CShellItem::get_shellfolder(), CShellItem::GetAttributes(), GetFullName(), GetName(), GetPidlFromName(), CFolder::GetShellFolder(), GetShellFolderFromPidl(), CFindFolder::GetUIObjectOf(), HCR_GetFolderAttributes(), ILGetDisplayNameExW(), Initialize(), CDesktopBrowser::Initialize(), CFolderItems::Initialize(), CExplorerBand::InitializeExplorerBand(), CISFBand::InitializeSFB(), InitializeTreeView(), CSearchBar::Invoke(), CCPLItemMenu::InvokeCommand(), CShellBrowser::Navigate(), on_default_action(), CShellBrowser::OnOrganizeFavorites(), CAddressEditBox::ParseNow(), ParseSharedPacket(), CStartMenuBtnCtxMenu::QueryContextMenu(), CNtObjectFolder::ResolveSymLink(), CACListISF::SetLocation(), SHBindToFolder(), SHBindToFolderIDListParent(), SHBindToObjectEx(), SHBindToParent(), SHELL_GetPathFromIDListForExecuteW(), ShellFolder::ShellFolder(), CDesktopFolder::ShellUrlParseDisplayName(), SHEmptyRecycleBinW(), SHILCreateFromPathW(), SHOpenFolderAndSelectItems(), SHParseDisplayName(), START_TEST(), test_basics(), test_BindToObject(), test_CallForAttributes(), test_click_make_new_folder_button(), test_CreateViewWindow(), test_CShellMenu(), test_CShellMenu_params(), test_DataObject(), test_desktop_displaynameof(), test_desktop_folder(), test_desktop_IPersist(), test_EnumObjects_and_CompareIDs(), test_ExpectFolders_imp(), test_FolderShortcut(), test_GetAttributesOf(), test_GetDisplayName(), test_GetItemObject(), test_GetSetCurrentViewMode(), test_GetUIObject(), test_IFolderView(), test_InputObject(), test_IOleCommandTarget(), test_IOleWindow(), test_IShellFolderView(), test_ITEMIDLIST_format(), test_LocalizedNames(), test_navigation(), test_parse_for_control_panel(), test_parse_for_entire_network(), test_ParseDisplayName(), test_ParseDisplayNamePBC(), test_selection(), test_SHCreateDefaultContextMenu(), test_SHCreateShellFolderView(), test_SHCreateShellFolderViewEx(), test_SHCreateShellItem(), test_SHCreateShellItemArray(), test_ShellFolderViewDual(), test_ShellItemArrayEnumItems(), test_ShellItemArrayGetAttributes(), test_ShellItemCompare(), test_ShellItemGetAttributes(), test_SHGetIDListFromObject(), test_SHGetItemFromDataObject(), test_SHGetItemFromObject(), test_SHGetNameFromIDList(), test_SHGetPathFromIDList(), test_SHIShellFolder_EnumObjects(), test_SHLimitInputEdit(), test_ShortcutFolder(), and test_SHParseDisplayName().

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( shell  )

Variable Documentation

◆ ClassicStartMenuW

const WCHAR ClassicStartMenuW[]
static
Initial value:
= L"SOFTWARE\\Microsoft\\Windows\\"
L"CurrentVersion\\Explorer\\HideDesktopIcons\\ClassicStartMenu"
#define L(x)
Definition: ntvdm.h:50

Definition at line 159 of file CDesktopFolder.cpp.

Referenced by CDesktopFolderEnum::AddItemsFromClassicStartMenuKey(), and IsNamespaceExtensionHidden().

◆ DesktopSFHeader

const shvheader DesktopSFHeader[]
static
Initial value:

Definition at line 287 of file CDesktopFolder.cpp.

Referenced by CDesktopFolder::GetDefaultColumnState(), and CDesktopFolder::GetDetailsOf().

◆ dwDesktopAttributes

const DWORD dwDesktopAttributes
static
Initial value:
=
SFGAO_HASSUBFOLDER | SFGAO_FILESYSTEM | SFGAO_FOLDER | SFGAO_FILESYSANCESTOR |
SFGAO_STORAGEANCESTOR | SFGAO_HASPROPSHEET | SFGAO_STORAGE

Definition at line 298 of file CDesktopFolder.cpp.

Referenced by CDesktopFolder::GetAttributesOf().

◆ dwMyComputerAttributes

const DWORD dwMyComputerAttributes
static
Initial value:
=
SFGAO_CANRENAME | SFGAO_CANDELETE | SFGAO_HASPROPSHEET | SFGAO_DROPTARGET |
SFGAO_FILESYSANCESTOR | SFGAO_FOLDER | SFGAO_HASSUBFOLDER | SFGAO_CANLINK

Definition at line 301 of file CDesktopFolder.cpp.

Referenced by CDesktopFolder::GetAttributesOf().

◆ dwMyNetPlacesAttributes

DWORD dwMyNetPlacesAttributes
static
Initial value:
=
SFGAO_CANRENAME | SFGAO_CANDELETE | SFGAO_HASPROPSHEET | SFGAO_DROPTARGET |
SFGAO_FILESYSANCESTOR | SFGAO_FOLDER | SFGAO_HASSUBFOLDER | SFGAO_CANLINK

Definition at line 304 of file CDesktopFolder.cpp.

Referenced by CDesktopFolder::GetAttributesOf().