Shell Path Handling Functions
This section describes the Windows Shell path handling functions. The programming elements explained in this documentation are exported by Shlwapi.dll and defined in Shlwapi.h and Shlwapi.lib.
In this section
Topic | Description |
---|---|
PathAddBackslash |
Adds a backslash to the end of a string to create the correct syntax for a path. If the source path already has a trailing backslash, no backslash will be added. Note: Misuse of this function can lead to a buffer overrun. We recommend the use of the safer PathCchAddBackslash or PathCchAddBackslashEx function in its place. |
PathAddExtension |
Adds a file name extension to a path string. Note: Misuse of this function can lead to a buffer overrun. We recommend the use of the safer PathCchAddExtension function in its place. |
PathAppend |
Appends one path to the end of another. Note: Misuse of this function can lead to a buffer overrun. We recommend the use of the safer PathCchAppend or PathCchAppendEx function in its place. |
PathBuildRoot |
Creates a root path from a given drive number. |
PathCanonicalize |
Simplifies a path by removing navigation elements such as "." and ".." to produce a direct, well-formed path. |
PathCombine |
Concatenates two strings that represent properly formed paths into one path; also concatenates any relative path elements. Note: Misuse of this function can lead to a buffer overrun. We recommend the use of the safer PathCchCombine or PathCchCombineEx function in its place. |
PathCommonPrefix |
Compares two paths to determine if they share a common prefix. A prefix is one of these types: "C:\", ".", "..", "..\". |
PathCompactPath |
Truncates a file path to fit within a given pixel width by replacing path components with ellipses. |
PathCompactPathEx |
Truncates a path to fit within a certain number of characters by replacing path components with ellipses. |
PathCreateFromUrl |
Converts a file URL to a Microsoft MS-DOS path. |
PathCreateFromUrlAlloc |
Creates a path from a file URL. |
PathFileExists |
Determines whether a path to a file system object such as a file or folder is valid. |
PathFindExtension |
Searches a path for an extension. |
PathFindFileName |
Searches a path for a file name. |
PathFindNextComponent |
Parses a path and returns the portion of that path that follows the first backslash. |
PathFindOnPath |
Searches for a file. |
PathFindSuffixArray |
Determines whether a given file name has one of a list of suffixes. |
PathGetArgs |
Finds the command line arguments within a given path. |
PathGetCharType |
Determines the type of character in relation to a path. |
PathGetDriveNumber |
Searches a path for a drive letter within the range of 'A' to 'Z' and returns the corresponding drive number. |
PathIsContentType |
Determines if a file's registered content type matches the specified content type. This function obtains the content type for the specified file type and compares that string with the pszContentType. The comparison is not case-sensitive. |
PathIsDirectory |
Verifies that a path is a valid directory. |
PathIsDirectoryEmpty |
Determines whether a specified path is an empty directory. |
PathIsFileSpec |
Searches a path for any path-delimiting characters (for example, ':' or '' ). If there are no path-delimiting characters present, the path is considered to be a File Spec path. |
PathIsHTMLFile |
Determines if a file is an HTML file. The determination is made based on the content type that is registered for the file's extension. |
PathIsLFNFileSpec |
Determines whether a file name is in long format. |
PathIsNetworkPath |
Determines whether a path string represents a network resource. |
PathIsPrefix |
Searches a path to determine if it contains a valid prefix of the type passed by pszPrefix. A prefix is one of these types: "C:\", ".", "..", "..\". |
PathIsRelative |
Searches a path and determines if it is relative. |
PathIsRoot |
Determines whether a path string refers to the root of a volume. |
PathIsSameRoot |
Compares two paths to determine if they have a common root component. |
PathIsSystemFolder |
Determines if an existing folder contains the attributes that make it a system folder. Alternately, this function indicates if certain attributes qualify a folder to be a system folder. |
PathIsUNC |
Determines if a path string is a valid Universal Naming Convention (UNC) path, as opposed to a path based on a drive letter. |
PathIsUNCServer |
Determines if a string is a valid UNC for a server path only. |
PathIsUNCServerShare |
Determines if a string is a valid UNC share path, \server<em>share. |
PathIsURL |
Tests a given string to determine if it conforms to a valid URL format. |
PathMakePretty |
Converts an all-uppercase path to all lowercase characters to give the path a consistent appearance. |
PathMakeSystemFolder |
Gives an existing folder the proper attributes to become a system folder. |
PathMatchSpec |
Searches a string using an MS-DOS wildcard match type. |
PathMatchSpecEx |
Matches a file name from a path against one or more file name patterns. |
PathParseIconLocation |
Parses a file location string that contains a file location and icon index, and returns separate values. |
PathQuoteSpaces |
Searches a path for spaces. If spaces are found, the entire path is enclosed in quotation marks. |
PathRelativePathTo |
Creates a relative path from one file or folder to another. |
PathRemoveArgs |
Removes any arguments from a given path. |
PathRemoveBackslash |
Removes the trailing backslash from a given path. Note: This function is deprecated. We recommend the use of the PathCchRemoveBackslash or PathCchRemoveBackslashEx function in its place. |
PathRemoveBlanks |
Removes all leading and trailing spaces from a string. |
PathRemoveExtension |
Removes the file name extension from a path, if one is present. Note: This function is deprecated. We recommend the use of the PathCchRemoveExtension in its place. |
PathRemoveFileSpec |
Removes the trailing file name and backslash from a path, if they are present. Note: This function is deprecated. We recommend the use of the PathCchRemoveFileSpec function in its place. |
PathRenameExtension |
Replaces the extension of a file name with a new extension. If the file name does not contain an extension, the extension will be attached to the end of the string. Note: Misuse of this function can lead to a buffer overrun. We recommend the use of the safer PathCchRenameExtension function in its place. |
PathSearchAndQualify |
Determines if a given path is correctly formatted and fully qualified. |
PathSetDlgItemPath |
Sets the text of a child control in a window or dialog box, using PathCompactPath to ensure the path fits in the control. |
PathSkipRoot |
Retrieves a pointer to the first character in a path following the drive letter or UNC server/share path elements. |
PathStripPath |
Removes the path portion of a fully qualified path and file. |
PathStripToRoot |
Removes all file and directory elements in a path except for the root information. Note: Misuse of this function can lead to a buffer overrun. We recommend the use of the safer PathCchStripToRoot function in its place. |
PathUndecorate |
Removes the decoration from a path string. |
PathUnExpandEnvStrings |
Replaces certain folder names in a fully qualified path with their associated environment string. |
PathUnmakeSystemFolder |
Removes the attributes from a folder that make it a system folder. This folder must actually exist in the file system. |
PathUnquoteSpaces |
Removes quotes from the beginning and end of a path. |
SHSkipJunction |
Checks a bind context to see if it is safe to bind to a particular component object. |
UrlApplyScheme |
Determines a scheme for a specified URL string, and returns a string with an appropriate prefix. |
UrlCanonicalize |
Converts a URL string into canonical form. |
UrlCombine |
When provided with a relative URL and its base, returns a URL in canonical form. |
UrlCompare |
Makes a case-sensitive comparison of two URL strings. |
UrlCreateFromPath |
Converts an MS-DOS path to a canonicalized URL. |
UrlEscape |
Converts characters or surrogate pairs in a URL that might be altered during transport across the Internet ("unsafe" characters) into their corresponding escape sequences. Surrogate pairs are characters between U+10000 to U+10FFFF (in UTF-32) or between DC00 to DFFF (in UTF-16). |
UrlEscapeSpaces |
A macro that converts space characters into their corresponding escape sequence. |
UrlGetLocation |
Retrieves the location from a URL. |
UrlGetPart |
Accepts a URL string and returns a specified part of that URL. |
UrlHash |
Hashes a URL string. |
UrlIs |
Tests whether a URL is a specified type. |
UrlIsFileUrl |
Tests a URL to determine if it is a file URL. |
UrlIsNoHistory |
Returns whether a URL is a URL that browsers typically do not include in navigation history. |
UrlIsOpaque |
Returns whether a URL is opaque. |
UrlUnescape |
Converts escape sequences back into ordinary characters. |
UrlUnescapeInPlace |
Converts escape sequences back into ordinary characters and overwrites the original string. |