ShlwApiPathCanonicalize Method

Note: This API is now obsolete.
Simplifies a path by removing navigation elements such as "." and ".." to produce a direct, well-formed path.

Note: Misuse of this function can lead to a buffer overrun. We recommend the use of the safer PathCchCanonicalize(StringBuilder, UInt32, String) or PathCchCanonicalizeEx(StringBuilder, UInt32, String, PathOptions) function in its place.

Definition

Namespace: DevCase.Win32.NativeMethods
Assembly: DevCase.net48 (in DevCase.net48.dll) Version: 6.0.0.0 (6.0)
XMLNS for XAML: Not mapped to an xmlns.
[DllImportAttribute("ShlwApi.dll", CharSet = CharSet.Auto, BestFitMapping = false, 
	ThrowOnUnmappableChar = true, SetLastError = true)]
[ObsoleteAttribute("Misuse of this function can lead to a buffer overrun. We recommend the use of the safer NativeMethods.PathCchCanonicalize or NativeMethods.PathCchCanonicalizeEx function in its place.", 
	false)]
public static bool PathCanonicalize(
	StringBuilder buffer,
	string path
)

Parameters

buffer  StringBuilder
A pointer to a string that receives the canonicalized path.

You must set the size of this buffer to MAX_PATH to ensure that it is large enough to hold the returned string.

path  String
A pointer to a null-terminated string of maximum length MAX_PATH that contains the path to be canonicalized.

Return Value

Boolean
Returns if a result has been computed and the content of the buffer output buffer is valid.

Returns otherwise, and the contents of the buffer pointed to by buffer are invalid.

Remarks

See Also