ReactOS 0.4.15-dev-8433-ge87f1d5
CDesktopFolder.cpp File Reference
#include <precomp.h>
#include "CFSFolder.h"
Include dependency graph for CDesktopFolder.cpp:

Go to the source code of this file.

Classes

class  CDesktopFolderEnum
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (shell)
 
static BOOL IsSelf (UINT cidl, PCUITEMID_CHILD_ARRAY apidl)
 
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 DWORD dwDesktopAttributes
 
static const DWORD dwMyComputerAttributes
 
static DWORD dwMyNetPlacesAttributes
 

Function Documentation

◆ IEParseDisplayNameWithBCW()

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

Definition at line 519 of file shdocvw_main.c.

520{
521 /* Guessing at parameter 3 based on IShellFolder's ParseDisplayName */
522 FIXME("stub: 0x%x %s %p %p\n",codepage,debugstr_w(lpszDisplayName),pbc,ppidl);
523 return E_FAIL;
524}
#define FIXME(fmt,...)
Definition: precomp.h:53
#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 169 of file CDesktopFolder.cpp.

170{
171 DWORD Result, dwResult;
172 dwResult = sizeof(DWORD);
173
174 if (RegGetValueW(HKEY_CURRENT_USER, /* FIXME use NewStartPanel when activated */
176 iid,
178 NULL,
179 &Result,
180 &dwResult) != ERROR_SUCCESS)
181 {
182 return -1;
183 }
184
185 return Result;
186}
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 188 of file CDesktopFolder.cpp.

189{
190 GUID const *clsid = _ILGetGUIDPointer (pidl);
191 if (!clsid)
192 return -1;
193
194 WCHAR pwszGuid[CHARS_IN_GUID];
195 SHELL32_GUIDToStringW(*clsid, pwszGuid);
196 return IsNamespaceExtensionHidden(pwszGuid);
197}
static INT IsNamespaceExtensionHidden(const WCHAR *iid)
#define CHARS_IN_GUID
REFCLSID clsid
Definition: msctf.c:82
IID * _ILGetGUIDPointer(LPCITEMIDLIST pidl)
Definition: pidl.c:2292
static __inline int SHELL32_GUIDToStringW(REFGUID guid, LPWSTR str)
Definition: shfldr.h:101
__wchar_t WCHAR
Definition: xmlstorage.h:180

◆ IsSelf()

static BOOL IsSelf ( UINT  cidl,
PCUITEMID_CHILD_ARRAY  apidl 
)
static

Definition at line 28 of file CDesktopFolder.cpp.

29{
30 return cidl == 0 || (cidl == 1 && apidl && _ILIsEmpty(apidl[0]));
31}
static BOOL _ILIsEmpty(LPCITEMIDLIST pidl)
Definition: pidl.h:255

Referenced by CDesktopFolder::GetUIObjectOf().

◆ 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:430
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 1108 of file CDesktopFolder.cpp.

1109{
1110 HRESULT hres = S_OK;
1111 TRACE("\n");
1112
1113 if(!psf) return E_INVALIDARG;
1114 *psf = NULL;
1115 hres = CDesktopFolder::_CreatorClass::CreateInstance(NULL, IID_PPV_ARG(IShellFolder, psf));
1116
1117 TRACE("-- %p->(%p)\n",psf, *psf);
1118 return hres;
1119}
#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(), BrFolder_GetChildrenEnum(), BrFolder_InitTreeView(), BrFolder_NewFolder(), BrFolder_OnSetExpandedString(), 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(), CExplorerBand::GetItemEnum(), GetName(), GetPidlFromName(), CFolder::GetShellFolder(), GetShellFolderFromPidl(), CFindFolder::GetUIObjectOf(), HCR_GetFolderAttributes(), ILGetDisplayNameExW(), Initialize(), CDesktopBrowser::Initialize(), CFolderItems::Initialize(), CExplorerBand::InitializeExplorerBand(), CISFBand::InitializeSFB(), 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_CompareAbsoluteIDs(), 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 165 of file CDesktopFolder.cpp.

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

◆ dwDesktopAttributes

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

Definition at line 293 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 296 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 299 of file CDesktopFolder.cpp.

Referenced by CDesktopFolder::GetAttributesOf().