ReactOS 0.4.16-dev-981-g80eb313
|
#include <wine/config.h>
#include <windef.h>
#include <winbase.h>
#include <shlobj.h>
#include <undocshell.h>
#include <shlwapi.h>
#include <sddl.h>
#include <strsafe.h>
#include <wine/debug.h>
#include <wine/unicode.h>
#include <assert.h>
#include <shlwapi_undoc.h>
#include <shellutils.h>
#include <userenv.h>
#include "pidl.h"
#include "shell32_main.h"
#include "shresdef.h"
Go to the source code of this file.
Classes | |
struct | CSIDL_DATA |
Macros | |
#define | WIN32_NO_STATUS |
#define | _INC_WINDOWS |
#define | COBJMACROS |
#define | _WIN32_WINNT _WIN32_WINNT_WS03 |
#define | VALID_SHORT_PATH_CHAR_CLASSES |
#define | MSDOS_8DOT3_LEN 12 /* MS-DOS 8.3 filename == length 12 */ |
#define | CSIDL_CONTACTS 0x0043 |
#define | CSIDL_DOWNLOADS 0x0047 |
#define | CSIDL_LINKS 0x004d |
#define | CSIDL_APPDATA_LOCALLOW 0x004e |
#define | CSIDL_SAVED_GAMES 0x0062 |
#define | CSIDL_SEARCHES 0x0063 |
Typedefs | |
typedef enum _NT_PRODUCT_TYPE | NT_PRODUCT_TYPE |
typedef enum _NT_PRODUCT_TYPE * | PNT_PRODUCT_TYPE |
typedef enum _CSIDL_Type | CSIDL_Type |
Enumerations | |
enum | _NT_PRODUCT_TYPE { NtProductWinNt = 1 , NtProductLanManNt , NtProductServer , NtProductWinNt = 1 , NtProductLanManNt , NtProductServer } |
enum | _CSIDL_Type { CSIDL_Type_User , CSIDL_Type_AllUsers , CSIDL_Type_CurrVer , CSIDL_Type_Disallowed , CSIDL_Type_NonExistent , CSIDL_Type_WindowsPath , CSIDL_Type_SystemPath , CSIDL_Type_SystemX86Path } |
Variables | |
static const BOOL | is_win64 = sizeof(void *) > sizeof(int) |
static const WCHAR | Application_DataW [] = L"Application Data" |
static const WCHAR | Local_Settings_Application_DataW [] = L"Local Settings\\Application Data" |
static const WCHAR | Local_Settings_HistoryW [] = L"Local Settings\\History" |
static const WCHAR | Local_Settings_Temporary_Internet_FilesW [] = L"Local Settings\\Temporary Internet Files" |
static const WCHAR | MusicW [] = L"Music" |
static const WCHAR | PicturesW [] = L"Pictures" |
static const WCHAR | Program_FilesW [] = L"Program Files" |
static const WCHAR | Program_Files_Common_FilesW [] = L"Program Files\\Common Files" |
static const WCHAR | Start_Menu_ProgramsW [] = L"Start Menu\\Programs" |
static const WCHAR | Start_Menu_Admin_ToolsW [] = L"Start Menu\\Programs\\Administrative Tools" |
static const WCHAR | Start_Menu_StartupW [] = L"Start Menu\\Programs\\StartUp" |
static const WCHAR | szSHFolders [] = L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders" |
static const WCHAR | szSHUserFolders [] = L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders" |
static const WCHAR | szKnownFolderDescriptions [] = L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\FolderDescriptions" |
static const WCHAR | szKnownFolderRedirections [] = L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders" |
static const CSIDL_DATA | CSIDL_Data [] |
#define _INC_WINDOWS |
Definition at line 29 of file shellpath.c.
#define _WIN32_WINNT _WIN32_WINNT_WS03 |
Definition at line 55 of file shellpath.c.
#define COBJMACROS |
Definition at line 30 of file shellpath.c.
#define CSIDL_APPDATA_LOCALLOW 0x004e |
Definition at line 1211 of file shellpath.c.
#define CSIDL_CONTACTS 0x0043 |
Definition at line 1208 of file shellpath.c.
#define CSIDL_DOWNLOADS 0x0047 |
Definition at line 1209 of file shellpath.c.
#define CSIDL_LINKS 0x004d |
Definition at line 1210 of file shellpath.c.
#define CSIDL_SAVED_GAMES 0x0062 |
Definition at line 1212 of file shellpath.c.
#define CSIDL_SEARCHES 0x0063 |
Definition at line 1213 of file shellpath.c.
#define VALID_SHORT_PATH_CHAR_CLASSES |
#define WIN32_NO_STATUS |
Definition at line 28 of file shellpath.c.
typedef enum _CSIDL_Type CSIDL_Type |
typedef enum _NT_PRODUCT_TYPE NT_PRODUCT_TYPE |
typedef enum _NT_PRODUCT_TYPE * PNT_PRODUCT_TYPE |
Enumerator | |
---|---|
CSIDL_Type_User | |
CSIDL_Type_AllUsers | |
CSIDL_Type_CurrVer | |
CSIDL_Type_Disallowed | |
CSIDL_Type_NonExistent | |
CSIDL_Type_WindowsPath | |
CSIDL_Type_SystemPath | |
CSIDL_Type_SystemX86Path |
Definition at line 1192 of file shellpath.c.
Enumerator | |
---|---|
NtProductWinNt | |
NtProductLanManNt | |
NtProductServer | |
NtProductWinNt | |
NtProductLanManNt | |
NtProductServer |
Definition at line 62 of file shellpath.c.
Definition at line 2353 of file shellpath.c.
Referenced by _SHGetUserProfilePath().
Definition at line 2588 of file shellpath.c.
Referenced by _SHGetUserShellFolderPath(), and SHGetFolderPathAndSubDirW().
Definition at line 2483 of file shellpath.c.
Referenced by _SHRegisterFolders(), and SHGetFolderPathAndSubDirW().
Definition at line 2284 of file shellpath.c.
Referenced by SHGetFolderPathAndSubDirW().
Definition at line 2168 of file shellpath.c.
Referenced by _SHGetAllUsersProfilePath(), _SHGetCurrentVersionPath(), and _SHGetUserProfilePath().
|
static |
Definition at line 2538 of file shellpath.c.
Referenced by _SHExpandEnvironmentStrings().
Definition at line 2132 of file shellpath.c.
Referenced by _SHExpandEnvironmentStrings().
|
static |
Definition at line 2394 of file shellpath.c.
Referenced by _SHRegisterFolders(), and SHGetFolderPathAndSubDirW().
|
static |
Definition at line 2049 of file shellpath.c.
Referenced by _SHGetAllUsersProfilePath(), and _SHGetUserProfilePath().
Definition at line 2523 of file shellpath.c.
Referenced by _SHExpandEnvironmentStrings().
Definition at line 3187 of file shellpath.c.
Referenced by SHELL_RegisterShellFolders().
|
static |
Definition at line 3017 of file shellpath.c.
Referenced by _SHRegisterCommonShellFolders(), and _SHRegisterUserShellFolders().
Definition at line 3119 of file shellpath.c.
Referenced by SHELL_RegisterShellFolders().
|
static |
Definition at line 71 of file shellpath.c.
Referenced by _SHGetDefaultValue().
Definition at line 577 of file shellpath.c.
Referenced by IsLFNDriveAW().
Definition at line 639 of file shellpath.c.
Definition at line 591 of file shellpath.c.
Referenced by IsLFNDriveA(), IsLFNDriveAW(), and PathQualifyExW().
Definition at line 407 of file shellpath.c.
Definition at line 885 of file shellpath.c.
Referenced by FinishDlgProc().
Definition at line 567 of file shellpath.c.
Definition at line 423 of file shellpath.c.
Referenced by PathIsExeA().
Definition at line 434 of file shellpath.c.
Referenced by PathIsExeW(), and SHPathGetExtensionW().
Definition at line 467 of file shellpath.c.
Referenced by PathGetShortPathAW().
Definition at line 497 of file shellpath.c.
Definition at line 482 of file shellpath.c.
Referenced by PathGetShortPathAW().
Definition at line 521 of file shellpath.c.
Referenced by PathIsExeAW().
Definition at line 557 of file shellpath.c.
Definition at line 539 of file shellpath.c.
Referenced by FileTypesDlg_InsertToLV(), FindExecutableW(), CFileDefExt::InitGeneralPage(), COpenWithMenu::Initialize(), PathIsExeAW(), and SHELL_execute().
Definition at line 511 of file shellpath.c.
|
static |
Definition at line 652 of file shellpath.c.
Referenced by PathMakeUniqueNameAW().
BOOL WINAPI PathMakeUniqueNameAW | ( | LPVOID | lpszBuffer, |
DWORD | dwBuffSize, | ||
LPCVOID | lpszShortName, | ||
LPCVOID | lpszLongName, | ||
LPCVOID | lpszPathName | ||
) |
Definition at line 833 of file shellpath.c.
|
static |
Definition at line 816 of file shellpath.c.
Referenced by PathMakeUniqueNameAW().
|
static |
Definition at line 1120 of file shellpath.c.
Referenced by PathProcessCommandAW().
LONG WINAPI PathProcessCommandAW | ( | LPCVOID | lpszPath, |
LPVOID | lpszBuff, | ||
DWORD | dwBuffSize, | ||
DWORD | dwFlags | ||
) |
Definition at line 1154 of file shellpath.c.
|
static |
Definition at line 1137 of file shellpath.c.
Referenced by PathProcessCommandAW().
Definition at line 957 of file shellpath.c.
Referenced by PathQualifyAW().
Definition at line 978 of file shellpath.c.
|
static |
Definition at line 158 of file shellpath.c.
Referenced by PathQualifyW(), and PathResolveW().
Definition at line 969 of file shellpath.c.
Referenced by PathQualifyA(), and PathQualifyAW().
Definition at line 453 of file shellpath.c.
Definition at line 986 of file shellpath.c.
Referenced by PathResolveAW().
Definition at line 1109 of file shellpath.c.
Definition at line 1032 of file shellpath.c.
Referenced by FindExecutableW(), PathProcessCommandW(), PathResolveA(), PathResolveAW(), CShellLink::SetTargetFromPIDLOrPath(), and SHELL_FindExecutable().
|
static |
Definition at line 120 of file shellpath.c.
Referenced by PathResolveW().
BOOL WINAPI PathYetAnotherMakeUniqueName | ( | LPWSTR | buffer, |
LPCWSTR | path, | ||
LPCWSTR | shortname, | ||
LPCWSTR | longname | ||
) |
Definition at line 848 of file shellpath.c.
Referenced by BrFolder_NewFolder(), CNewMenu::CreateNewFolder(), CDefaultContextMenu::DoCreateNewFolder(), CDeskLinkDropHandler::Drop(), FinishDlgProc(), loadShell32(), and CNewMenu::NewItemByNonCommand().
Definition at line 2010 of file shellpath.c.
Referenced by CDesktopFolder::ShellUrlParseDisplayName().
Definition at line 3215 of file shellpath.c.
Referenced by DllRegisterServer().
HRESULT WINAPI SHGetFolderLocation | ( | HWND | hwndOwner, |
int | nFolder, | ||
HANDLE | hToken, | ||
DWORD | dwReserved, | ||
LPITEMIDLIST * | ppidl | ||
) |
Definition at line 3301 of file shellpath.c.
Referenced by CBandSiteMenu::_CreateBuiltInISFBand(), CShellMenuCallback::AddStartMenuItems(), BrFolder_OnInitDialog(), LoadRdpSettingsFromFile(), loadShell32(), SaveRdpSettingsToFile(), SHCreateFromDesktop(), CDesktopFolder::ShellUrlParseDisplayName(), SHEmptyRecycleBinW(), SHGetSpecialFolderLocation(), START_TEST(), TestCommandLine(), and TestCompareIDList().
HRESULT WINAPI SHGetFolderPathA | ( | HWND | hwndOwner, |
int | nFolder, | ||
HANDLE | hToken, | ||
DWORD | dwFlags, | ||
LPSTR | pszPath | ||
) |
Definition at line 2987 of file shellpath.c.
Referenced by ini_absent(), ini_present(), loadShell32(), pf_exists(), ppc_present(), SHGetSpecialFolderPathA(), test_profile_items(), test_SHGetFolderPathA(), and test_SHGetFolderPathAndSubDirA().
HRESULT WINAPI SHGetFolderPathAndSubDirA | ( | HWND | hwndOwner, |
int | nFolder, | ||
HANDLE | hToken, | ||
DWORD | dwFlags, | ||
LPCSTR | pszSubPath, | ||
LPSTR | pszPath | ||
) |
Definition at line 2753 of file shellpath.c.
Referenced by test_SHGetFolderPathAndSubDirA().
HRESULT WINAPI SHGetFolderPathAndSubDirW | ( | HWND | hwndOwner, |
int | nFolder, | ||
HANDLE | hToken, | ||
DWORD | dwFlags, | ||
LPCWSTR | pszSubPath, | ||
LPWSTR | pszPath | ||
) |
Definition at line 2805 of file shellpath.c.
Referenced by CBandSiteMenu::_GetQLaunchPidl(), CreateShortcuts(), SHGetFolderPathAndSubDirA(), SHGetFolderPathW(), and ThemePageDlgProc().
HRESULT WINAPI SHGetFolderPathW | ( | HWND | hwndOwner, |
int | nFolder, | ||
HANDLE | hToken, | ||
DWORD | dwFlags, | ||
LPWSTR | pszPath | ||
) |
Definition at line 2740 of file shellpath.c.
Referenced by _SHRegisterFolders(), AutoStartupApplications(), BrFolder_NewFolder(), CJournaledTestList::CJournaledTestList(), create_ie_menu(), create_profile_directory(), CreateObjectsFromPersistFolder(), DllRegisterServer(), FILEDLG95_InitControls(), format_filelist_filename(), GetDefaultDownloadDirectory(), GetDefaultUserSendTo(), Initialize(), CFontExt::Initialize(), LoadThemes(), OnAddStartMenuItems(), OnAdvancedStartMenuItems(), OnBrowseButton(), RecentHasShortcut(), RegisterTypeLibraries(), set_installer_properties(), Settings_GetOutputPath(), RegistrySettings::SetWallpaper(), SHGetFolderLocation(), SHGetFolderPathA(), SHGetSpecialFolderPathW(), test_namespace(), TestDefaultFormat(), and testRegStoreSavedCerts().
Definition at line 1996 of file shellpath.c.
Referenced by Shell_ParseSpecialFolder().
HRESULT WINAPI SHGetSpecialFolderLocation | ( | HWND | hwndOwner, |
INT | nFolder, | ||
LPITEMIDLIST * | ppidl | ||
) |
Definition at line 3408 of file shellpath.c.
Referenced by _GetDocumentsPidl(), CShellMenuCallback::AddOrSetMenuItem(), DoGetPidl(), DoInitAliasPIDLs(), DoTestEntry(), DynamicSHGetSpecialFolderPathW(), ebrowser_browse_to_desktop(), FILEDLG95_InitControls(), FILEDLG95_LOOKIN_Init(), FILEDLG95_OnWMCommand(), filedlg_collect_places_pidls(), GetFavoritesFolder(), GetFavsLocation(), GetMergedFolder(), GetParsingName(), CSendToMenu::GetSpecialFolder(), CSearchBar::Invoke(), IShellBrowserImpl_Construct(), loadShell32(), MRUList_PidlList_0(), CACListISF::NextLocation(), CShellMenuCallback::OnGetContextMenu(), PidlBrowse(), CAddressEditBox::PopulateComboBox(), RSHELL_CStartMenu_CreateInstance(), SHAddToRecentDocs(), SHCloneSpecialIDList(), Shell_ParsePrinterName(), SHELL_ShowItemIDListProperties(), SHExplorerParseCmdLine(), CRecycleBinCleaner::ShowProperties(), SpecialFolderPath::SpecialFolderPath(), START_TEST(), test_ACListISF_FAVORITES(), test_ACListISF_MYCOMPUTER(), test_get_file_info_iconlist(), test_namespace(), test_parameters(), test_printers_folder(), test_SHCreateShellItem(), test_SHCreateShellItemArray(), test_ShellItemBindToHandler(), test_ShellItemGetAttributes(), test_SHGetIDListFromObject(), test_SHGetNameFromIDList(), test_SHGetPathFromIDList(), VariantToIdlist(), and WshCollection_Item().
Definition at line 3230 of file shellpath.c.
Referenced by get_cache_path(), init_strings(), loadShell32(), main(), test_BindToObject(), test_find_file(), and test_GetDisplayName().
Definition at line 3243 of file shellpath.c.
Referenced by AddUrlToFavorites(), cache_containers_init(), CreateSendToMyDocuments(), delhist_on_command(), DoBuildFilesAndDirs(), DoGetPidl(), CCopyMoveToMenu::DoRealFileOp(), CMyDocsDropHandler::Drop(), CDeskLinkDropHandler::Drop(), CDesktopFolder::FinalConstruct(), get_csidl_dir(), GetDesktopLocations(), GetFsPathFromIDList(), GetSpecialPath(), GetStorageDirectory(), CFSFolder::InitializeEx(), InitPropertyBag_IPropertyBag_Read(), IsPidlPrograms(), CDesktopFolderViewCB::MessageSFVCB(), CShellMenuCallback::OnExec(), profile_items_callback(), SHAddToRecentDocs(), SHGetFolderLocation(), START_TEST(), test_FolderShortcut(), test_ITEMIDLIST_format(), test_ParseDisplayName(), test_SHCreateShellItemArray(), and test_SHGetPathFromIDList().
Definition at line 445 of file shellpath.c.
WINE_DEFAULT_DEBUG_CHANNEL | ( | shell | ) |
Definition at line 1171 of file shellpath.c.
|
static |
Definition at line 1225 of file shellpath.c.
Referenced by _SHGetAllUsersProfilePath(), _SHGetCurrentVersionPath(), _SHGetDefaultValue(), _SHGetUserProfilePath(), _SHRegisterFolders(), SHGetFolderPathAndSubDirW(), and SHGetSpecialFolderID().
Definition at line 59 of file shellpath.c.
Referenced by _SHGetCurrentVersionPath(), _SHGetDefaultValue(), get_classes_root_hkey(), test_CoGetPSClsid(), test_register_typelib(), test_SHGetFolderPathA(), and test_stub().
Definition at line 1172 of file shellpath.c.
Definition at line 1173 of file shellpath.c.
|
static |
Definition at line 1174 of file shellpath.c.
Definition at line 1175 of file shellpath.c.
Definition at line 1176 of file shellpath.c.
Definition at line 1178 of file shellpath.c.
Definition at line 1177 of file shellpath.c.
Definition at line 1180 of file shellpath.c.
Definition at line 1179 of file shellpath.c.
Definition at line 1181 of file shellpath.c.
|
static |
Definition at line 1188 of file shellpath.c.
|
static |
Definition at line 1189 of file shellpath.c.
|
static |
Definition at line 1185 of file shellpath.c.
Referenced by _SHGetUserShellFolderPath(), _SHRegisterCommonShellFolders(), and _SHRegisterUserShellFolders().
|
static |
Definition at line 1186 of file shellpath.c.
Referenced by _SHGetUserShellFolderPath(), _SHRegisterCommonShellFolders(), and _SHRegisterUserShellFolders().