ReactOS 0.4.15-dev-6675-gcbc63d8
|
#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 | PATH_CHAR_CLASS_DOT 0x00000004 |
#define | PATH_CHAR_CLASS_BACKSLASH 0x00000008 |
#define | PATH_CHAR_CLASS_COLON 0x00000010 |
#define | PATH_CHAR_CLASS_OTHER_VALID 0x00000100 |
#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 1066 of file shellpath.c.
#define CSIDL_CONTACTS 0x0043 |
Definition at line 1063 of file shellpath.c.
#define CSIDL_DOWNLOADS 0x0047 |
Definition at line 1064 of file shellpath.c.
#define CSIDL_LINKS 0x004d |
Definition at line 1065 of file shellpath.c.
#define CSIDL_SAVED_GAMES 0x0062 |
Definition at line 1067 of file shellpath.c.
#define CSIDL_SEARCHES 0x0063 |
Definition at line 1068 of file shellpath.c.
#define PATH_CHAR_CLASS_BACKSLASH 0x00000008 |
#define PATH_CHAR_CLASS_COLON 0x00000010 |
#define PATH_CHAR_CLASS_DOT 0x00000004 |
#define PATH_CHAR_CLASS_OTHER_VALID 0x00000100 |
#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 1047 of file shellpath.c.
Enumerator | |
---|---|
NtProductWinNt | |
NtProductLanManNt | |
NtProductServer | |
NtProductWinNt | |
NtProductLanManNt | |
NtProductServer |
Definition at line 62 of file shellpath.c.
Definition at line 2171 of file shellpath.c.
Referenced by _SHGetUserProfilePath().
Definition at line 2406 of file shellpath.c.
Referenced by _SHGetUserShellFolderPath(), and SHGetFolderPathAndSubDirW().
Definition at line 2301 of file shellpath.c.
Referenced by _SHRegisterFolders(), and SHGetFolderPathAndSubDirW().
Definition at line 2102 of file shellpath.c.
Referenced by SHGetFolderPathAndSubDirW().
Definition at line 1986 of file shellpath.c.
Referenced by _SHGetAllUsersProfilePath(), _SHGetCurrentVersionPath(), and _SHGetUserProfilePath().
|
static |
Definition at line 2356 of file shellpath.c.
Referenced by _SHExpandEnvironmentStrings().
Definition at line 1950 of file shellpath.c.
Referenced by _SHExpandEnvironmentStrings().
|
static |
Definition at line 2212 of file shellpath.c.
Referenced by _SHRegisterFolders(), and SHGetFolderPathAndSubDirW().
|
static |
Definition at line 1867 of file shellpath.c.
Referenced by _SHGetAllUsersProfilePath(), and _SHGetUserProfilePath().
Definition at line 2341 of file shellpath.c.
Referenced by _SHExpandEnvironmentStrings().
Definition at line 3005 of file shellpath.c.
Referenced by SHELL_RegisterShellFolders().
|
static |
Definition at line 2835 of file shellpath.c.
Referenced by _SHRegisterCommonShellFolders(), and _SHRegisterUserShellFolders().
Definition at line 2937 of file shellpath.c.
Referenced by SHELL_RegisterShellFolders().
|
static |
Definition at line 71 of file shellpath.c.
Referenced by _SHGetDefaultValue().
Definition at line 581 of file shellpath.c.
Referenced by IsLFNDriveAW().
Definition at line 645 of file shellpath.c.
Definition at line 595 of file shellpath.c.
Referenced by IsLFNDriveA(), IsLFNDriveAW(), and PathQualifyExW().
Definition at line 411 of file shellpath.c.
Definition at line 742 of file shellpath.c.
Definition at line 571 of file shellpath.c.
Definition at line 427 of file shellpath.c.
Referenced by PathIsExeA().
Definition at line 438 of file shellpath.c.
Referenced by PathIsExeW(), and SHPathGetExtensionW().
Definition at line 471 of file shellpath.c.
Referenced by PathGetShortPathAW().
Definition at line 501 of file shellpath.c.
Definition at line 486 of file shellpath.c.
Referenced by PathGetShortPathAW().
Definition at line 525 of file shellpath.c.
Referenced by PathIsExeAW().
Definition at line 561 of file shellpath.c.
Definition at line 543 of file shellpath.c.
Referenced by CFileDefExt::InitGeneralPage(), COpenWithMenu::Initialize(), PathIsExeAW(), and SHELL_execute().
Definition at line 515 of file shellpath.c.
Definition at line 141 of file shellpath.c.
Referenced by PathResolveW().
|
static |
Definition at line 658 of file shellpath.c.
Referenced by PathMakeUniqueNameAW().
BOOL WINAPI PathMakeUniqueNameAW | ( | LPVOID | lpszBuffer, |
DWORD | dwBuffSize, | ||
LPCVOID | lpszShortName, | ||
LPCVOID | lpszLongName, | ||
LPCVOID | lpszPathName | ||
) |
Definition at line 690 of file shellpath.c.
|
static |
Definition at line 674 of file shellpath.c.
Referenced by PathMakeUniqueNameAW().
|
static |
Definition at line 977 of file shellpath.c.
Referenced by PathProcessCommandAW().
LONG WINAPI PathProcessCommandAW | ( | LPCVOID | lpszPath, |
LPVOID | lpszBuff, | ||
DWORD | dwBuffSize, | ||
DWORD | dwFlags | ||
) |
Definition at line 1009 of file shellpath.c.
|
static |
Definition at line 993 of file shellpath.c.
Referenced by PathProcessCommandAW().
Definition at line 814 of file shellpath.c.
Referenced by PathQualifyAW().
Definition at line 835 of file shellpath.c.
|
static |
Definition at line 158 of file shellpath.c.
Referenced by PathQualifyW(), and PathResolveW().
Definition at line 826 of file shellpath.c.
Referenced by PathQualifyA(), and PathQualifyAW().
Definition at line 457 of file shellpath.c.
Definition at line 843 of file shellpath.c.
Referenced by PathResolveAW().
Definition at line 966 of file shellpath.c.
Definition at line 889 of file shellpath.c.
Referenced by PathResolveA(), PathResolveAW(), and CShellLink::SetTargetFromPIDLOrPath().
|
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 705 of file shellpath.c.
Referenced by BrsFolder_NewFolder(), CNewMenu::CreateNewFolder(), CDefaultContextMenu::DoCreateNewFolder(), CDeskLinkDropHandler::Drop(), loadShell32(), and CNewMenu::NewItemByNonCommand().
Definition at line 3033 of file shellpath.c.
Referenced by DllRegisterServer().
HRESULT WINAPI SHGetFolderLocation | ( | HWND | hwndOwner, |
int | nFolder, | ||
HANDLE | hToken, | ||
DWORD | dwReserved, | ||
LPITEMIDLIST * | ppidl | ||
) |
Definition at line 3093 of file shellpath.c.
Referenced by CBandSiteMenu::_CreateBuiltInISFBand(), BrsFolder_OnCreate(), ILIsParentOrSpecialParent(), CExplorerBand::InitializeExplorerBand(), CExplorerBand::InsertSubitems(), LoadRdpSettingsFromFile(), loadShell32(), CShellMenuCallback::OnGetSubMenu(), SaveRdpSettingsToFile(), SHCreateFromDesktop(), SHEmptyRecycleBinW(), SHGetSpecialFolderLocation(), START_TEST(), TestCommandLine(), and TestCompareIDList().
HRESULT WINAPI SHGetFolderPathA | ( | HWND | hwndOwner, |
int | nFolder, | ||
HANDLE | hToken, | ||
DWORD | dwFlags, | ||
LPSTR | pszPath | ||
) |
Definition at line 2805 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 2571 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 2623 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 2558 of file shellpath.c.
Referenced by _SHRegisterFolders(), AutoStartupApplications(), BrsFolder_NewFolder(), CJournaledTestList::CJournaledTestList(), create_ie_menu(), create_profile_directory(), CreateObjectsFromPersistFolder(), DllRegisterServer(), FILEDLG95_InitControls(), FillDefaultSettings(), format_filelist_filename(), GetDefaultUserSendTo(), Initialize(), CFontExt::Initialize(), LoadThemes(), OnAddStartMenuItems(), OnAdvancedStartMenuItems(), OnBrowseButton(), OnClearRecentItems(), RegisterTypeLibraries(), set_installer_properties(), Settings_GetOutputPath(), SHGetFolderLocation(), SHGetFolderPathA(), SHGetSpecialFolderPathW(), test_namespace(), TestDefaultFormat(), and testRegStoreSavedCerts().
HRESULT WINAPI SHGetSpecialFolderLocation | ( | HWND | hwndOwner, |
INT | nFolder, | ||
LPITEMIDLIST * | ppidl | ||
) |
Definition at line 3194 of file shellpath.c.
Referenced by _GetDocumentsPidl(), DoGetPidl(), DoInitAliasPIDLs(), DoTestEntry(), ebrowser_browse_to_desktop(), FILEDLG95_InitControls(), FILEDLG95_LOOKIN_Init(), FILEDLG95_OnWMCommand(), filedlg_collect_places_pidls(), GetFavoritesFolder(), GetMergedFolder(), CSendToMenu::GetSpecialFolder(), IShellBrowserImpl_Construct(), loadShell32(), MRUList_PidlList_0(), CACListISF::NextLocation(), CShellBrowser::OnOrganizeFavorites(), PidlBrowse(), CAddressEditBox::PopulateComboBox(), RSHELL_CStartMenu_CreateInstance(), SHAddToRecentDocs(), SHCloneSpecialIDList(), SHExplorerParseCmdLine(), 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 3048 of file shellpath.c.
Referenced by get_cache_path(), init_strings(), loadShell32(), main(), test_BindToObject(), test_find_file(), and test_GetDisplayName().
Definition at line 3061 of file shellpath.c.
Referenced by cache_containers_init(), CreateSendToMyDocuments(), delhist_on_command(), CCopyToMenu::DoRealCopy(), CMoveToMenu::DoRealMove(), CMyDocsDropHandler::Drop(), CDeskLinkDropHandler::Drop(), CDesktopFolder::FinalConstruct(), get_csidl_dir(), GetStorageDirectory(), CFSFolder::InitializeEx(), InitPropertyBag_IPropertyBag_Read(), CShellMenuCallback::InsertRecentItem(), CShellMenuCallback::OnExec(), profile_items_callback(), SHAddToRecentDocs(), SHGetFolderLocation(), START_TEST(), test_FolderShortcut(), test_ITEMIDLIST_format(), test_ParseDisplayName(), test_SHCreateShellItemArray(), and test_SHGetPathFromIDList().
Definition at line 449 of file shellpath.c.
WINE_DEFAULT_DEBUG_CHANNEL | ( | shell | ) |
Definition at line 1026 of file shellpath.c.
|
static |
Definition at line 1080 of file shellpath.c.
Referenced by _SHGetAllUsersProfilePath(), _SHGetCurrentVersionPath(), _SHGetDefaultValue(), _SHGetUserProfilePath(), _SHRegisterFolders(), and SHGetFolderPathAndSubDirW().
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 1027 of file shellpath.c.
Definition at line 1028 of file shellpath.c.
|
static |
Definition at line 1029 of file shellpath.c.
Definition at line 1030 of file shellpath.c.
Definition at line 1031 of file shellpath.c.
Definition at line 1033 of file shellpath.c.
Definition at line 1032 of file shellpath.c.
Definition at line 1035 of file shellpath.c.
Definition at line 1034 of file shellpath.c.
Definition at line 1036 of file shellpath.c.
|
static |
Definition at line 1043 of file shellpath.c.
|
static |
Definition at line 1044 of file shellpath.c.
|
static |
Definition at line 1040 of file shellpath.c.
Referenced by _SHGetUserShellFolderPath(), _SHRegisterCommonShellFolders(), and _SHRegisterUserShellFolders().
|
static |
Definition at line 1041 of file shellpath.c.
Referenced by _SHGetUserShellFolderPath(), _SHRegisterCommonShellFolders(), and _SHRegisterUserShellFolders().