PathAllocCanonicalize function (pathcch.h)
Converts a path string into a canonical form.
This function differs from PathCchCanonicalize and PathCchCanonicalizeEx in that it returns the result on the heap. This means that the caller does not have to declare the size of the returned string and reduces stack use.
This function differs from PathCanonicalize in that it accepts paths with "\", "\?" and "\?\UNC" prefixes.
Syntax
WINPATHCCHAPI HRESULT PathAllocCanonicalize(
[in] PCWSTR pszPathIn,
[in] ULONG dwFlags,
[out] PWSTR *ppszPathOut
);
Parameters
[in] pszPathIn
A pointer to a buffer that contains the original string. This value cannot be NULL.
[in] dwFlags
One or more of the following flags:
[out] ppszPathOut
The address of a pointer to a buffer that, when this function returns successfully, receives the canonicalized path string. It is the responsibility of the caller to free this resource, when it is no longer needed, by calling the LocalFree function. This value cannot be NULL.
Return value
If this function succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.
Remarks
This function supports these alternate path forms:
- \\?\
- \\?\\UNC\
- \\?\Volume{guid}\
This function does not convert forward slashes (/) into back slashes (\). With untrusted input, this function by itself, cannot be used to convert paths into a form that can be compared with other paths for sub-path or identity. Callers that need that ability should convert forward to back slashes before using this function.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 8 [desktop apps | UWP apps] |
Minimum supported server | Windows Server 2012 [desktop apps | UWP apps] |
Target Platform | Windows |
Header | pathcch.h |
Library | Pathcch.lib |
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for