PathMakeUniqueName function (shlobj_core.h)
Creates a unique path name from a template.
Syntax
BOOL PathMakeUniqueName(
[out] PWSTR pszUniqueName,
UINT cchMax,
[in] PCWSTR pszTemplate,
[in, optional] PCWSTR pszLongPlate,
[in, optional] PCWSTR pszDir
);
Parameters
[out] pszUniqueName
Type: PWSTR
A buffer that receives a null-terminated Unicode string that contains the unique path name. It should be at least MAX_PATH characters in length.
cchMax
Type: UINT
The number of characters in the buffer pointed to by pszUniqueName.
[in] pszTemplate
Type: PCWSTR
A null-terminated Unicode string that contains a template that is used to construct the unique name. This template is used for drives that require file names with the 8.3 format. This string should be no more than MAX_PATH characters in length, including the terminating null character.
[in, optional] pszLongPlate
Type: PCWSTR
A null-terminated Unicode string that contains a template that is used to construct the unique name. This template is used for drives that support long file names. This string should be no more than MAX_PATH characters in length, including the terminating null character.
[in, optional] pszDir
Type: PCWSTR
A null-terminated string that contains the directory in which the new file resides. This string should be no more than MAX_PATH characters in length, including the terminating null character.
Return value
Type: BOOL
Returns TRUE if successful; otherwise, FALSE.
Remarks
This function generates a new unique file name based on the templates specified by pszTemplate, for drives that require the 8.3 format, and pszLongPlate for drives that support long file names. For example, if you specify "My New Filename" for pszLongPlate, PathMakeUniqueName returns names such as "My New Filename (1)", "My New Filename (2)", and so on.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 2000 Professional [desktop apps only] |
Minimum supported server | Windows 2000 Server [desktop apps only] |
Target Platform | Windows |
Header | shlobj_core.h (include Shlobj.h) |
Library | Shell32.lib |
DLL | Shell32.dll (version 5.0 or later) |