ReactOS
0.4.15-dev-2087-g6bfb76b
|
#include "config.h"
#include "wine/port.h"
#include <stdarg.h>
#include <string.h>
#include <stdlib.h>
#include "wine/unicode.h"
#include "windef.h"
#include "winbase.h"
#include "wingdi.h"
#include "winuser.h"
#include "winreg.h"
#include "winternl.h"
#include "shlwapi.h"
#include "wine/debug.h"
Go to the source code of this file.
Classes | |
struct | envvars_map |
Macros | |
#define | NO_SHLWAPI_STREAM |
#define | GET_FUNC(func, module, name, fail) |
#define | szWebLen (sizeof(szWeb)/sizeof(WCHAR)) |
#define | szWebMuiLen ((sizeof(szWebMui)+1)/sizeof(WCHAR)) |
#define | PATH_CHAR_CLASS_LETTER 0x00000001 |
#define | PATH_CHAR_CLASS_ASTERIX 0x00000002 |
#define | PATH_CHAR_CLASS_DOT 0x00000004 |
#define | PATH_CHAR_CLASS_BACKSLASH 0x00000008 |
#define | PATH_CHAR_CLASS_COLON 0x00000010 |
#define | PATH_CHAR_CLASS_SEMICOLON 0x00000020 |
#define | PATH_CHAR_CLASS_COMMA 0x00000040 |
#define | PATH_CHAR_CLASS_SPACE 0x00000080 |
#define | PATH_CHAR_CLASS_OTHER_VALID 0x00000100 |
#define | PATH_CHAR_CLASS_DOUBLEQUOTE 0x00000200 |
#define | PATH_CHAR_CLASS_INVALID 0x00000000 |
#define | PATH_CHAR_CLASS_ANY 0xffffffff |
Typedefs | |
typedef BOOL(WINAPI * | fnpIsNetDrive) (int) |
Variables | |
static HMODULE | SHLWAPI_hshell32 |
static fnpIsNetDrive | pIsNetDrive |
static const WCHAR | allusersprofileW [] = {'%','A','L','L','U','S','E','R','S','P','R','O','F','I','L','E','%',0} |
static const WCHAR | appdataW [] = {'%','A','P','P','D','A','T','A','%',0} |
static const WCHAR | programfilesW [] = {'%','P','r','o','g','r','a','m','F','i','l','e','s','%',0} |
static const WCHAR | systemrootW [] = {'%','S','y','s','t','e','m','R','o','o','t','%',0} |
static const WCHAR | systemdriveW [] = {'%','S','y','s','t','e','m','D','r','i','v','e','%',0} |
static const WCHAR | userprofileW [] = {'%','U','S','E','R','P','R','O','F','I','L','E','%',0} |
static const DWORD | SHELL_charclass [] |
Definition at line 68 of file path.c.
Referenced by PathUnExpandEnvStringsA().
|
static |
Definition at line 4154 of file path.c.
Referenced by PathUnExpandEnvStringsW().
Definition at line 258 of file path.c.
Referenced by ATL::CPathT< StringType >::PathAddBackslashX(), and test_PathAddBackslash().
Definition at line 289 of file path.c.
Referenced by CDesktopFolder::_GetSFFromPidl(), _SHGetUserShellFolderPath(), _SHRegisterFolders(), _SHRegisterUserShellFolders(), ACTION_AppSearchComponents(), ACTION_AppSearchDr(), ACTION_RecurseSearchDirectory(), ACTION_SearchDirectory(), app_search_file(), COMDLG32_GetCanonicalPath(), CControlPanelEnum::CreateCPanelEnumList(), DoGetBaseName(), FILEDLG95_InitControls(), FILEDLG95_ValidatePathAction(), find_published_source(), get_drive_type(), CFSFolder::GetDisplayNameOf(), CRecycleBinEnum::Initialize(), CFileSysEnum::Initialize(), CRecycleBin::InvokeCommand(), CRecycleBinItemContextMenu::InvokeCommand(), ITERATE_RemoveFiles(), MMSYS_InstallDevice(), msi_dialog_directorylist_up(), msi_load_media_info(), OpenColorProfileW(), CFSFolder::ParseDisplayName(), ATL::CPathT< StringType >::PathAddBackslashX(), PathCombineW(), PathIsDirectoryEmptyW(), ready_media(), RenderHDROP(), set_installer_properties(), SHCreateDirectoryExW(), SHELL_execute(), ShellExecCmdLine(), ShellLink_UpdatePath(), SHGetFolderPathAndSubDirW(), SHGetNewLinkInfoW(), ShowCreateShortcutWizard(), source_matches_volume(), START_TEST(), test_PathSearchAndQualify(), CDownloadManager::ThreadFunc(), and wWinMain().
Definition at line 2594 of file path.c.
Referenced by ATL::CPathT< StringType >::PathAddExtensionX().
Definition at line 2617 of file path.c.
Referenced by ATL::CPathT< StringType >::PathAddExtensionX(), SHELL_TryAppPathW(), and WriteMinidump().
Definition at line 101 of file path.c.
Referenced by PathAppendAW(), ATL::CPathT< StringType >::PathAppendX(), SHAddToRecentDocs(), test_PathAppendA(), test_SdbGetPermLayerKeys(), test_SetPermLayer(), test_Sign_Media(), and write_resource_file().
Definition at line 121 of file path.c.
Referenced by _SHExpandEnvironmentStrings(), _SHGetDefaultValue(), ACTION_RecurseSearchDirectory(), add_favs_to_menu(), addFileHelper(), CDirectoryList::AddPathsFromDirectory(), AvailableStrings::AvailableStrings(), CCommonFolder< CRegistryFolder, RegPidlEntry, CRegistryFolderExtractIcon >::BindToObject(), CreateSendToDeskLink(), CreateSendToMyDocuments(), CreateSendToZip(), CAvailableApps::DeleteCurrentAppsDB(), CAppScrnshotPreview::DisplayImage(), DllRegisterServer(), DoAddFilesFromItem(), DoDeleteSpecW(), DoInitPaths(), CFontExt::DoInstallFontFile(), DoTestEntry(), CDeskLinkDropHandler::Drop(), FillDefaultSettings(), FinishDlgProc(), CFSFolder::GetCustomViewInfo(), CCommonFolder< CRegistryFolder, RegPidlEntry, CRegistryFolderExtractIcon >::GetDisplayNameOf(), getIconLocationForDrive(), getIconLocationForFolder(), GetStorageDirectory(), GetSubProgramPath(), CFileDefExt::InitFolderCustomizePage(), CFileDefExt::OnFolderCustApply(), PathAppendAW(), PathAppendNoDirEscapeW(), ATL::CPathT< StringType >::PathAppendX(), CDirectoryWatcher::ProcessNotification(), CAvailableApplicationInfo::RetrieveGeneralInfo(), SHAddToRecentDocs(), SHGetFolderPathAndSubDirW(), SHLWAPI_PathFindInOtherDirs(), START_TEST(), testRegStoreSavedCerts(), and CDownloadManager::ThreadFunc().
Definition at line 324 of file path.c.
Referenced by ATL::CPathT< StringType >::PathBuildRootX(), and test_PathBuildRootA().
Definition at line 343 of file path.c.
Referenced by ATL::CPathT< StringType >::PathBuildRootX().
Definition at line 2392 of file path.c.
Referenced by ATL::CPathT< StringType >::PathCanonicalizeX(), and test_PathCanonicalizeA().
Definition at line 2425 of file path.c.
Referenced by COMDLG32_GetCanonicalPath(), PathAppendNoDirEscapeW(), PathCanonicalizeA(), ATL::CPathT< StringType >::PathCanonicalizeX(), and PathCombineW().
Definition at line 154 of file path.c.
Referenced by create_file(), delete_file(), expect_files(), CZipExtract::Extract(), PathAppendA(), ATL::CPathT< StringType >::PathCombineX(), test_items(), test_PathCombineA(), test_SdbGetPermLayerKeys(), test_Sign_Media(), and wrapSdbSetPermLayerKeys2().
Definition at line 189 of file path.c.
Referenced by CFileSysEnum::_AddFindResult(), CFSFolder::_CreateShellExtInstance(), CFSDropTarget::_DoDrop(), CFSFolder::BindToObject(), BuildPathsList(), compat_catpath(), copy_dir_to_dir(), copy_file(), copy_to_dir(), move_dir_to_dir(), move_to_dir(), parse_file_list(), PathAppendW(), PathCombineA(), ATL::CPathT< StringType >::PathCombineX(), PathFindOnPathExA(), PathFindOnPathExW(), PathYetAnotherMakeUniqueName(), pBuildFileList(), RecursiveFind(), SetChmPath(), CFSFolder::SetNameOf(), SHELL_DeleteDirectoryW(), SHGetFileInfoW(), test_items(), and test_PathCombineW().
Definition at line 2730 of file path.c.
Referenced by ATL::CPathT< StringType >::PathCommonPrefixX(), PathIsPrefixA(), PathIsSameRootA(), and test_PathCommonPrefixA().
Definition at line 2785 of file path.c.
Referenced by PathAppendNoDirEscapeW(), ATL::CPathT< StringType >::PathCommonPrefixX(), PathIsPrefixW(), PathIsSameRootW(), and PathRelativePathToW().
Definition at line 2849 of file path.c.
Referenced by ATL::CPathT< StringType >::PathCompactPathX().
Definition at line 1414 of file path.c.
Referenced by ATL::CPathT< StringType >::PathCompactPathExX().
Definition at line 1439 of file path.c.
Referenced by PathCompactPathExA(), and ATL::CPathT< StringType >::PathCompactPathExX().
Definition at line 2870 of file path.c.
Referenced by CZipExtract::CCompleteSettingsPage::OnSetActive(), PathCompactPathA(), ATL::CPathT< StringType >::PathCompactPathX(), and PathSetDlgItemPathW().
HRESULT WINAPI PathCreateFromUrlA | ( | LPCSTR | pszUrl, |
LPSTR | pszPath, | ||
LPDWORD | pcchPath, | ||
DWORD | dwReserved | ||
) |
Definition at line 3285 of file path.c.
Referenced by FileProtocolHandlerA().
Definition at line 3476 of file path.c.
HRESULT WINAPI PathCreateFromUrlW | ( | LPCWSTR | pszUrl, |
LPWSTR | pszPath, | ||
LPDWORD | pcchPath, | ||
DWORD | dwReserved | ||
) |
Definition at line 3334 of file path.c.
Referenced by DocObjectService_FireBeforeNavigate2(), InternetCrackUrlW(), on_before_navigate2(), parse_path_from_url(), PathCreateFromUrlA(), PathCreateFromUrlAlloc(), SHELL_execute(), and CDownloadManager::ThreadFunc().
Definition at line 1734 of file path.c.
Referenced by PathFileExistsAW(), and ATL::CPathT< StringType >::PathFileExistsX().
Definition at line 1174 of file path.c.
Definition at line 1112 of file path.c.
Referenced by PathFileExistsDefExtA(), PathFindOnPathExA(), PathFindOnPathExW(), and SHLWAPI_PathFindInOtherDirs().
Definition at line 1756 of file path.c.
Referenced by CFSDropTarget::_GetUniqueFileName(), BrowseCallbackProc(), copy_dir_to_dir(), copy_file(), copy_file_to_file(), copy_files(), copy_to_dir(), create_dest_dirs(), DoGetZipName(), DoTestEntry(), CMyDocsDropHandler::Drop(), FILEDLG95_InitControls(), FILEDLG95_OnOpen(), GetSubProgramPath(), HACKISH_PathResolve(), CFileDefExt::InitOpensWithField(), LoadOSList(), move_files(), on_default_action(), CShellLink::OnNotify(), PathFileExistsAW(), PathFileExistsDefExtW(), ATL::CPathT< StringType >::PathFileExistsX(), PathYetAnotherMakeUniqueName(), CDirectoryWatcher::ProcessNotification(), CAvailableApplicationInfo::RetrieveGeneralInfo(), CShellLink::Save(), SHAddToRecentDocs(), ShellExecCmdLine(), SHExplorerParseCmdLine(), SHGetFolderPathAndSubDirW(), SHGetWebFolderFilePathW(), ShowCreateShortcutWizard(), SHSimpleIDListFromPathA(), SHSimpleIDListFromPathW(), and try_find_new_name().
Definition at line 417 of file path.c.
Referenced by _ILGetExtension(), FD31_UpdateResult(), FILEDLG95_OnOpen(), PathAddExtensionA(), ATL::CPathT< StringType >::PathFindExtensionX(), PathGetExtensionA(), PathIsContentTypeA(), PathRemoveExtensionA(), PathRenameExtensionA(), PathUndecorateA(), and test_PathFindExtensionA().
Definition at line 442 of file path.c.
Referenced by CFileSysEnum::_AddFindResult(), CFSDropTarget::_DoDrop(), add_favs_to_menu(), COpenWithList::AddAppToMRUList(), CFSFolder::CompareIDs(), CRecycleBin::CompareIDs(), CreateShortcut(), CFontExt::Drop(), ExtensionFromPidl(), FD31_UpdateResult(), FILEDLG95_OnOpen(), FinishDlgProc(), FM_InitMenuPopup(), get_first_ext_from_spec(), CRecycleBin::GetDetailsOf(), CLayerUIPropPage::InitFile(), CFileDefExt::InitFileType(), COpenWithMenu::Initialize(), CFileDefExt::InitOpensWithField(), COpenWithMenu::InvokeCommand(), LoadPropSheetHandlers(), COpenWithList::LoadRecommended(), on_default_action(), CShellLink::OnNotify(), CDefView::OnNotify(), PathAddExtensionW(), PathFileExistsDefExtW(), ATL::CPathT< StringType >::PathFindExtensionX(), PathGetExtensionW(), PathIsContentTypeW(), PathRemoveExtensionW(), PathRenameExtensionW(), PathUndecorateW(), PathYetAnotherMakeUniqueName(), process_extensions(), BtrfsContextMenu::reflink_copy(), COpenWithList::SetDefaultHandler(), CFSFolder::SetNameOf(), SH_GetTargetTypeByPath(), SHAddToRecentDocs(), SHELL32_GetFSItemAttributes(), SHELL_FS_HideExtension(), ShellExecute_GetClassKey(), SHGetFileInfoW(), ShowCreateShortcutWizard(), try_find_new_name(), and URLDownloadToCacheFileW().
Definition at line 368 of file path.c.
Referenced by _CZipAskPassword(), _CZipAskReplace(), FD31_UpdateResult(), FILEDLG95_OnOpen(), GetFileDialog95(), ATL::CPathT< StringType >::PathFindFileNameX(), and PathStripPathA().
Definition at line 389 of file path.c.
Referenced by CFSDropTarget::_DoDrop(), _ILCreate(), COpenWithList::Add(), CRecycleBin::CompareIDs(), copy_file(), copy_file_to_file(), create_target_directory(), CreateSendToMyDocuments(), CCopyToMenu::DoGetFileTitle(), CMoveToMenu::DoGetFileTitle(), CDeskLinkDropHandler::Drop(), FD31_UpdateResult(), FILEDLG95_OnOpen(), CFileDefExt::GeneralPageProc(), get_volume_path_parent(), GetFileDialog95(), CShellLink::GetPath(), COpenWithDialog::Init(), CFileDefExt::InitFilePath(), CFileDefExt::InitGeneralPage(), CFileDefExt::InitOpensWithField(), CShellMenuCallback::InsertRecentItem(), COpenWithList::LoadFromProgIdKey(), LoadPropSheetHandlers(), msi_dialog_directorylist_up(), CShellLink::OnInitDialog(), PathCompactPathExW(), PathCompactPathW(), ATL::CPathT< StringType >::PathFindFileNameX(), PathStripPathW(), pLoadImageFromNode(), BtrfsContextMenu::reflink_copy(), SH_ShowPropertiesDialog(), SHAddToRecentDocs(), SHGetFileInfoW(), ShowCreateShortcutWizard(), and WelcomeDlgProc().
Definition at line 2558 of file path.c.
Referenced by FILEDLG95_ValidatePathAction(), and PathRelativePathToW().
Definition at line 1371 of file path.c.
Definition at line 1286 of file path.c.
Referenced by PathFindOnPathA().
Definition at line 1330 of file path.c.
Referenced by PathFindOnPathW().
Definition at line 1382 of file path.c.
Referenced by DoEntry(), and HACKISH_PathResolve().
Definition at line 4003 of file path.c.
Definition at line 476 of file path.c.
Referenced by PathRemoveArgsA().
Definition at line 501 of file path.c.
Referenced by CShellLink::OnNotify(), PathRemoveArgsW(), and SHExplorerParseCmdLine().
Definition at line 3015 of file path.c.
Referenced by PathCleanupSpec(), and PathGetCharTypeA().
Definition at line 533 of file path.c.
Referenced by ATL::CPathT< StringType >::PathGetDriveNumberX(), PathIsNetworkPathA(), and test_PathGetDriveNumber().
Definition at line 548 of file path.c.
Referenced by COMDLG32_GetCanonicalPath(), CDrivesFolder::ParseDisplayName(), CDesktopFolder::ParseDisplayName(), ATL::CPathT< StringType >::PathGetDriveNumberX(), PathIsNetworkPathW(), and test_PathGetDriveNumber().
Definition at line 2037 of file path.c.
Definition at line 2060 of file path.c.
Definition at line 1677 of file path.c.
Referenced by ATL::CPathT< StringType >::PathIsDirectoryX().
Definition at line 3910 of file path.c.
Referenced by move_dir_to_dir(), and PathIsDirectoryEmptyA().
Definition at line 1702 of file path.c.
Referenced by CDirectoryList::AddPathsFromDirectory(), BrsFolder_OnCommand(), copy_file(), create_target_directory(), CreateDirectoryWatcherFromRegEntry(), CAppScrnshotPreview::DisplayImage(), DoAddFilesFromItem(), DoInit(), DoTestEntry(), CFontExt::Drop(), FILEDLG95_InitControls(), CFSFolder::GetCustomViewInfo(), getIconLocationForDrive(), getIconLocationForFolder(), CFileDefExt::Initialize(), LoadPropSheetHandlers(), CACListISF::Next(), PathIsDirectoryEmptyW(), ATL::CPathT< StringType >::PathIsDirectoryX(), CDirectoryWatcher::ProcessNotification(), SHAddToRecentDocs(), SHELL_execute(), SHExplorerParseCmdLine(), ShowCreateShortcutWizard(), WindowProc(), and wWinMain().
Definition at line 2091 of file path.c.
Referenced by PathFindOnPathExA(), and ATL::CPathT< StringType >::PathIsFileSpecX().
Definition at line 2112 of file path.c.
Referenced by Control_LoadApplet(), PathFindOnPathExW(), and ATL::CPathT< StringType >::PathIsFileSpecX().
Definition at line 2141 of file path.c.
Referenced by ATL::CPathT< StringType >::PathIsPrefixX().
Definition at line 2156 of file path.c.
Referenced by ATL::CPathT< StringType >::PathIsPrefixX().
Definition at line 1542 of file path.c.
Referenced by ATL::CPathT< StringType >::PathIsRelativeX(), and TestGetModuleFileNameA().
Definition at line 1558 of file path.c.
Referenced by CDirectoryList::AddPath(), CDirectoryList::AddPathsFromDirectory(), BrsFolder_OnCommand(), COMDLG32_GetCanonicalPath(), CDirectoryList::ContainsPath(), CDirectoryList::DeletePath(), CFontCache::Filename(), CFSFolder::GetCustomViewInfo(), getIconLocationForDrive(), getIconLocationForFolder(), msi_apply_transforms(), msi_dialog_verify_path(), MSI_OpenProductW(), OpenColorProfileW(), parse_file_list(), PathCombineW(), ATL::CPathT< StringType >::PathIsRelativeX(), CDirectoryList::RenamePath(), SHCreateDirectoryExW(), ShellExecCmdLine(), SHGetFileInfoW(), and TestGetModuleFileNameW().
Definition at line 1581 of file path.c.
Referenced by PathIsRootAW(), ATL::CPathT< StringType >::PathIsRootX(), PathRemoveBackslashA(), and PathStripToRootA().
Definition at line 1621 of file path.c.
Referenced by IsDriveFloppyW(), PathIsRootAW(), ATL::CPathT< StringType >::PathIsRootX(), PathRemoveBackslashW(), PathStripToRootW(), and SH_ShowPropertiesDialog().
Definition at line 1982 of file path.c.
Referenced by ATL::CPathT< StringType >::PathIsSameRootX().
Definition at line 2003 of file path.c.
Referenced by ATL::CPathT< StringType >::PathIsSameRootX().
Definition at line 2222 of file path.c.
Referenced by PathAppendA(), PathCommonPrefixA(), and ATL::CPathT< StringType >::PathIsUNCX().
Definition at line 2280 of file path.c.
Referenced by PathIsDirectoryA(), and ATL::CPathT< StringType >::PathIsUNCServerX().
Definition at line 2330 of file path.c.
Referenced by PathIsDirectoryA(), and ATL::CPathT< StringType >::PathIsUNCServerShareX().
Definition at line 2357 of file path.c.
Referenced by PathCanonicalizeW(), PathFileExistsDefExtW(), PathIsDirectoryW(), and ATL::CPathT< StringType >::PathIsUNCServerShareX().
Definition at line 2302 of file path.c.
Referenced by PathFileExistsDefExtW(), PathIsDirectoryW(), and ATL::CPathT< StringType >::PathIsUNCServerX().
Definition at line 2245 of file path.c.
Referenced by CDesktopFolder::ParseDisplayName(), PathAppendW(), PathCombineW(), PathCommonPrefixW(), and ATL::CPathT< StringType >::PathIsUNCX().
Definition at line 2647 of file path.c.
Referenced by ATL::CPathT< StringType >::PathMakePrettyX(), and test_PathMakePretty().
Definition at line 3099 of file path.c.
Referenced by PathMakeSystemFolderA().
Definition at line 1832 of file path.c.
Referenced by PathMatchSpecA().
Definition at line 1866 of file path.c.
Referenced by PathMatchSpecW().
Definition at line 1914 of file path.c.
Referenced by ATL::CPathT< StringType >::PathMatchSpecX(), and test_PathMatchSpec().
Definition at line 1943 of file path.c.
Referenced by FileNameMatch(), FTP_ParseNextFile(), ICommDlgBrowser3_fnIncludeObject(), IShellBrowserImpl_ICommDlgBrowser_IncludeObject(), on_command_filetype(), and ATL::CPathT< StringType >::PathMatchSpecX().
Definition at line 1087 of file path.c.
Referenced by CAppsListView::AddInstalledApplication(), DoFileTypeIconLocation(), getIconLocationForDrive(), getIconLocationForFolder(), and CFileDefExt::InitFolderCustomizePage().
Definition at line 973 of file path.c.
Referenced by ATL::CPathT< StringType >::PathQuoteSpacesX(), and RunFontViewer().
BOOL WINAPI PathRelativePathToA | ( | LPSTR | lpszPath, |
LPCSTR | lpszFrom, | ||
DWORD | dwAttrFrom, | ||
LPCSTR | lpszTo, | ||
DWORD | dwAttrTo | ||
) |
Definition at line 3525 of file path.c.
Referenced by ATL::CPathT< StringType >::PathRelativePathToX().
BOOL WINAPI PathRelativePathToW | ( | LPWSTR | lpszPath, |
LPCWSTR | lpszFrom, | ||
DWORD | dwAttrFrom, | ||
LPCWSTR | lpszTo, | ||
DWORD | dwAttrTo | ||
) |
Definition at line 3551 of file path.c.
Referenced by PathRelativePathToA(), and ATL::CPathT< StringType >::PathRelativePathToX().
Definition at line 751 of file path.c.
Referenced by ATL::CPathT< StringType >::PathRemoveArgsX().