ReactOS
0.4.15-dev-5615-gc3644fd
|
#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 73 of file path.c.
Referenced by PathUnExpandEnvStringsA().
|
static |
Definition at line 4174 of file path.c.
Referenced by PathUnExpandEnvStringsW().
Definition at line 263 of file path.c.
Referenced by ATL::CPathT< StringType >::PathAddBackslashX(), and test_PathAddBackslash().
Definition at line 294 of file path.c.
Referenced by CDesktopFolder::_GetSFFromPidl(), _SHGetUserShellFolderPath(), _SHRegisterFolders(), _SHRegisterUserShellFolders(), 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(), msi_dialog_directorylist_up(), msi_load_media_info(), OpenColorProfileW(), CFSFolder::ParseDisplayName(), ATL::CPathT< StringType >::PathAddBackslashX(), PathCombineW(), PathIsDirectoryEmptyW(), PathIsEqual(), PathQualifyExW(), ready_media(), recurse_search_directory(), RenderHDROP(), search_components(), search_directory(), search_dr(), search_file(), 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 2614 of file path.c.
Referenced by ATL::CPathT< StringType >::PathAddExtensionX().
Definition at line 2637 of file path.c.
Referenced by FileCompareWildTitle(), ATL::CPathT< StringType >::PathAddExtensionX(), SHELL_TryAppPathW(), and WriteMinidump().
Definition at line 106 of file path.c.
Referenced by DoTestEntries(), GetSubProgramPath(), PathAppendAW(), ATL::CPathT< StringType >::PathAppendX(), SHAddToRecentDocs(), START_TEST(), test_PathAppendA(), test_SdbGetPermLayerKeys(), test_SetPermLayer(), test_Sign_Media(), and write_resource_file().
Definition at line 126 of file path.c.
Referenced by _SHExpandEnvironmentStrings(), _SHGetDefaultValue(), add_favs_to_menu(), addFileHelper(), CDirectoryList::AddPathsFromDirectory(), AvailableStrings::AvailableStrings(), CCommonFolder< CRegistryFolder, RegPidlEntry, CRegistryFolderExtractIcon >::BindToObject(), CreateSendToDeskLink(), CreateSendToMyDocuments(), CreateSendToZip(), CAvailableApps::DeleteCurrentAppsDB(), CAppScrnshotPreview::DisplayImage(), DllRegisterServer(), DoAction1(), DoAction10(), DoAction11(), DoAction12(), DoAction2(), DoAction3(), DoAction4(), DoAction5(), DoAction6(), DoAction7(), DoAction8(), DoAction9(), DoAddFilesFromItem(), DoDeleteSpecW(), DoInitTest(), CFontExt::DoInstallFontFile(), DoTestEntry(), CDeskLinkDropHandler::Drop(), FileCompareBothWild(), FileCompareOneSideWild(), FileCompareWildTitle(), FillDefaultSettings(), FinishDlgProc(), CFSFolder::GetCustomViewInfo(), CCommonFolder< CRegistryFolder, RegPidlEntry, CRegistryFolderExtractIcon >::GetDisplayNameOf(), getIconLocationForDrive(), getIconLocationForFolder(), getLabelForDrive(), GetStorageDirectory(), GetSubProgramPath(), CFileDefExt::InitFolderCustomizePage(), CFileDefExt::OnFolderCustApply(), PathAppendAW(), PathAppendNoDirEscapeW(), ATL::CPathT< StringType >::PathAppendX(), CDirectoryWatcher::ProcessNotification(), recurse_search_directory(), CAvailableApplicationInfo::RetrieveGeneralInfo(), SHAddToRecentDocs(), SHGetFolderPathAndSubDirW(), SHLWAPI_PathFindInOtherDirs(), START_TEST(), testRegStoreSavedCerts(), and CDownloadManager::ThreadFunc().
Definition at line 329 of file path.c.
Referenced by ATL::CPathT< StringType >::PathBuildRootX(), and test_PathBuildRootA().
Definition at line 348 of file path.c.
Referenced by IsLFNDriveW(), ATL::CPathT< StringType >::PathBuildRootX(), and PathQualifyExW().
Definition at line 2412 of file path.c.
Referenced by ATL::CPathT< StringType >::PathCanonicalizeX(), and test_PathCanonicalizeA().
Definition at line 2445 of file path.c.
Referenced by COMDLG32_GetCanonicalPath(), PathAppendNoDirEscapeW(), PathCanonicalizeA(), ATL::CPathT< StringType >::PathCanonicalizeX(), PathCombineW(), and PathIsEqual().
Definition at line 159 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 194 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(), CACListISF::Expand(), move_dir_to_dir(), move_to_dir(), parse_file_list(), PathAppendW(), PathCombineA(), ATL::CPathT< StringType >::PathCombineX(), PathFindOnPathExA(), PathFindOnPathExW(), PathMakeAbsoluteW(), PathYetAnotherMakeUniqueName(), pBuildFileList(), RecursiveFind(), SetChmPath(), CFSFolder::SetNameOf(), SHELL_DeleteDirectoryW(), SHGetFileInfoW(), test_items(), and test_PathCombineW().
Definition at line 2750 of file path.c.
Referenced by ATL::CPathT< StringType >::PathCommonPrefixX(), PathIsPrefixA(), PathIsSameRootA(), and test_PathCommonPrefixA().
Definition at line 2805 of file path.c.
Referenced by PathAppendNoDirEscapeW(), ATL::CPathT< StringType >::PathCommonPrefixX(), PathIsPrefixW(), PathIsSameRootW(), and PathRelativePathToW().
Definition at line 2869 of file path.c.
Referenced by ATL::CPathT< StringType >::PathCompactPathX().
Definition at line 1434 of file path.c.
Referenced by ATL::CPathT< StringType >::PathCompactPathExX().
Definition at line 1459 of file path.c.
Referenced by PathCompactPathExA(), and ATL::CPathT< StringType >::PathCompactPathExX().
Definition at line 2890 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 3305 of file path.c.
Referenced by FileProtocolHandlerA().
Definition at line 3496 of file path.c.
HRESULT WINAPI PathCreateFromUrlW | ( | LPCWSTR | pszUrl, |
LPWSTR | pszPath, | ||
LPDWORD | pcchPath, | ||
DWORD | dwReserved | ||
) |
Definition at line 3354 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 1754 of file path.c.
Referenced by DoTestEntries(), DoTestEntry(), GetSubProgramPath(), PathFileExistsAW(), ATL::CPathT< StringType >::PathFileExistsX(), and START_TEST().
Definition at line 1194 of file path.c.
Definition at line 1117 of file path.c.
Referenced by PathFileExistsDefExtA(), PathFindOnPathExA(), PathFindOnPathExW(), PathSearchOnExtensionsW(), and SHLWAPI_PathFindInOtherDirs().
Definition at line 1776 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(), CDeskLinkDropHandler::Drop(), FILEDLG95_InitControls(), FILEDLG95_OnOpen(), GetSubProgramPath(), CFileDefExt::InitOpensWithField(), LoadOSList(), move_files(), CACListISF::Next(), 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(), START_TEST(), and try_find_new_name().
Definition at line 422 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 447 of file path.c.
Referenced by CFileSysEnum::_AddFindResult(), CFSDropTarget::_DoDrop(), add_favs_to_menu(), COpenWithList::AddAppToMRUList(), CFSFolder::CompareIDs(), CRecycleBin::CompareIDs(), CreateShortcut(), CDeskLinkDropHandler::Drop(), CFontExt::Drop(), ExtensionFromPidl(), FD31_UpdateResult(), FileCompareWildTitle(), 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(), CMainWindow::OnInitMenuPopup(), CShellLink::OnNotify(), CDefView::OnNotify(), PathAddExtensionW(), PathFileExistsDefExtW(), ATL::CPathT< StringType >::PathFindExtensionX(), PathGetExtensionW(), PathIsContentTypeW(), PathRemoveExtensionW(), PathRenameExtensionW(), PathSearchOnExtensionsW(), PathUndecorateW(), PathYetAnotherMakeUniqueName(), process_extensions(), BtrfsContextMenu::reflink_copy(), COpenWithList::SetDefaultHandler(), CFSFolder::SetNameOf(), SH_GetTargetTypeByPath(), SHAddToRecentDocs(), SHELL32_GetFSItemAttributes(), SHELL_FS_HideExtension(), ShellExecute_GetClassKey(), SHGetFileInfoW(), ShowCreateShortcutWizard(), test_properties(), try_find_new_name(), and URLDownloadToCacheFileW().
Definition at line 373 of file path.c.
Referenced by _CZipAskPassword(), _CZipAskReplace(), FD31_UpdateResult(), FILEDLG95_OnOpen(), GetFileDialog95(), ATL::CPathT< StringType >::PathFindFileNameX(), and PathStripPathA().
Definition at line 394 of file path.c.
Referenced by CFSDropTarget::_DoDrop(), _ILCreate(), COpenWithList::Add(), CFontExt::CompareIDs(), 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(), CFontExt::GetDetailsOf(), GetFileDialog95(), CShellLink::GetPath(), COpenWithDialog::Init(), CFileDefExt::InitFilePath(), CFileDefExt::InitGeneralPage(), CFileDefExt::InitOpensWithField(), CShellMenuCallback::InsertRecentItem(), IsTitleWild(), 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(), test_MultipleFiles(), test_properties(), and WelcomeDlgProc().
Definition at line 2578 of file path.c.
Referenced by FILEDLG95_ValidatePathAction(), PathRelativePathToW(), and Test_GetDisplayNameOf().
Definition at line 1391 of file path.c.
Definition at line 1306 of file path.c.
Referenced by PathFindOnPathA().
Definition at line 1350 of file path.c.
Referenced by PathFindOnPathW(), and PathSearchOnExtensionsW().
Definition at line 1402 of file path.c.
Referenced by DoEntry(), and PathResolveW().
Definition at line 4023 of file path.c.
Definition at line 481 of file path.c.
Referenced by PathRemoveArgsA().
Definition at line 506 of file path.c.
Referenced by RunOnceExEntry::Exec(), LanguagesPageProc(), CShellLink::OnNotify(), PathRemoveArgsW(), and SHExplorerParseCmdLine().
Definition at line 3035 of file path.c.
Referenced by PathCleanupSpec(), and PathGetCharTypeA().
Definition at line 538 of file path.c.
Referenced by ATL::CPathT< StringType >::PathGetDriveNumberX(), PathIsNetworkPathA(), and test_PathGetDriveNumber().
Definition at line 553 of file path.c.
Referenced by COMDLG32_GetCanonicalPath(), CDrivesFolder::ParseDisplayName(), CDesktopFolder::ParseDisplayName(), ATL::CPathT< StringType >::PathGetDriveNumberX(), PathIsAbsoluteW(), PathIsNetworkPathW(), PathQualifyExW(), and test_PathGetDriveNumber().
Definition at line 2057 of file path.c.
Definition at line 2080 of file path.c.
Definition at line 1697 of file path.c.
Referenced by ATL::CPathT< StringType >::PathIsDirectoryX().
Definition at line 3930 of file path.c.
Referenced by move_dir_to_dir(), and PathIsDirectoryEmptyA().
Definition at line 1722 of file path.c.
Referenced by CDirectoryList::AddPathsFromDirectory(), BrsFolder_OnCommand(), copy_file(), create_target_directory(), CreateDirectoryWatcherFromRegEntry(), DetermineDialogBoxType(), CAppScrnshotPreview::DisplayImage(), DoAddFilesFromItem(), DoTestEntry(), CDeskLinkDropHandler::Drop(), CFontExt::Drop(), FILEDLG95_InitControls(), CFSFolder::GetCustomViewInfo(), getIconLocationForDrive(), getIconLocationForFolder(), getLabelForDrive(), CFileDefExt::Initialize(), LoadPropSheetHandlers(), CACListISF::Next(), PathIsDirectoryEmptyW(), ATL::CPathT< StringType >::PathIsDirectoryX(), CDirectoryWatcher::ProcessNotification(), SHAddToRecentDocs(), SHELL_execute(), SHExplorerParseCmdLine(), ShowCreateShortcutWizard(), WindowProc(), and wWinMain().
Definition at line 2111 of file path.c.
Referenced by PathFindOnPathExA(), and ATL::CPathT< StringType >::PathIsFileSpecX().
Definition at line 2132 of file path.c.
Referenced by Control_LoadApplet(), PathFindOnPathExW(), ATL::CPathT< StringType >::PathIsFileSpecX(), PathResolveW(), and CShellLink::SetTargetFromPIDLOrPath().
Definition at line 2161 of file path.c.
Referenced by ATL::CPathT< StringType >::PathIsPrefixX().
Definition at line 2176 of file path.c.
Referenced by ATL::CPathT< StringType >::PathIsPrefixX().
Definition at line 1562 of file path.c.
Referenced by ATL::CPathT< StringType >::PathIsRelativeX(), and TestGetModuleFileNameA().
Definition at line 1578 of file path.c.
Referenced by CDirectoryList::AddPath(), CDirectoryList::AddPathsFromDirectory(), BrsFolder_OnCommand(), COMDLG32_GetCanonicalPath(), CDirectoryList::ContainsPath(), CDirectoryList::DeletePath(), CACListISF::Expand(), CFontCache::Filename(), CFSFolder::GetCustomViewInfo(), getIconLocationForDrive(), getIconLocationForFolder(), IsLFNDriveW(), msi_apply_transforms(), msi_dialog_verify_path(), MSI_OpenProductW(), OpenColorProfileW(), parse_file_list(), PathCombineW(), ATL::CPathT< StringType >::PathIsRelativeX(), CDirectoryWatcher::ProcessNotification(), CDirectoryList::RenamePath(), SHCreateDirectoryExW(), ShellExecCmdLine(), SHGetFileInfoW(), Test_GetDisplayNameOf(), and TestGetModuleFileNameW().
Definition at line 1601 of file path.c.
Referenced by PathIsRootAW(), ATL::CPathT< StringType >::PathIsRootX(), PathRemoveBackslashA(), PathStripToRootA(), and START_TEST().
Definition at line 1641 of file path.c.
Referenced by CFSDropTarget::_DoDrop(), IsDriveFloppyW(), PathIsRootAW(), ATL::CPathT< StringType >::PathIsRootX(), PathRemoveBackslashW(), PathResolveW(), and PathStripToRootW().
Definition at line 2002 of file path.c.
Referenced by ATL::CPathT< StringType >::PathIsSameRootX().
Definition at line 2023 of file path.c.
Referenced by ATL::CPathT< StringType >::PathIsSameRootX().
Definition at line 2242 of file path.c.
Referenced by PathAppendA(), PathCommonPrefixA(), and ATL::CPathT< StringType >::PathIsUNCX().
Definition at line 2300 of file path.c.
Referenced by PathIsDirectoryA(), and ATL::CPathT< StringType >::PathIsUNCServerX().
Definition at line 2350 of file path.c.
Referenced by PathIsDirectoryA(), and ATL::CPathT< StringType >::PathIsUNCServerShareX().
Definition at line 2377 of file path.c.
Referenced by PathCanonicalizeW(), PathFileExistsDefExtW(), PathIsDirectoryW(), and ATL::CPathT< StringType >::PathIsUNCServerShareX().
Definition at line 2322 of file path.c.
Referenced by PathFileExistsDefExtW(), PathIsDirectoryW(), and ATL::CPathT< StringType >::PathIsUNCServerX().
Definition at line 2265 of file path.c.
Referenced by IsLFNDriveW(), CDesktopFolder::ParseDisplayName(), PathAppendW(), PathCombineW(), PathCommonPrefixW(), PathIsAbsoluteW(), ATL::CPathT< StringType >::PathIsUNCX(), and PathQualifyExW().
Definition at line 2667 of file path.c.
Referenced by ATL::CPathT< StringType >::PathMakePrettyX(), and test_PathMakePretty().
Definition at line 3119 of file path.c.
Referenced by PathMakeSystemFolderA().
Definition at line 1852 of file path.c.
Referenced by PathMatchSpecA().
Definition at line 1886 of file path.c.
Referenced by PathMatchSpecW().
Definition at line 1934 of file path.c.
Referenced by ATL::CPathT< StringType >::PathMatchSpecX(), and test_PathMatchSpec().
Definition at line 1963 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 1092 of file path.c.
Referenced by CAppsListView::AddInstalledApplication(), DoFileTypeIconLocation(), getIconLocationForDrive(), getIconLocationForFolder(), and CFileDefExt::InitFolderCustomizePage().
Definition at line 978 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 3545 of file path.c.
Referenced by ATL::CPathT< StringType >::PathRelativePathToX().