StgMakeUniqueName function (shlobj_core.h)
Creates a unique name for a stream or storage object from a template.
Syntax
HRESULT StgMakeUniqueName(
[in] IStorage *pstgParent,
[in] PCWSTR pszFileSpec,
[in] DWORD grfMode,
[in] REFIID riid,
[out] void **ppv
);
Parameters
[in] pstgParent
Type: IStorage*
A pointer to an IStorage object.
[in] pszFileSpec
Type: PCWSTR
The format or template for the name of the stream or storage object.
[in] grfMode
Type: DWORD
The access mode to use when opening the stream or storage object. For more information and descriptions of the possible values, see STGM Constants.
[in] riid
Type: REFIID
A reference to the IID of the interface to retrieve through ppv, typically IID_IStorage or IID_IStream.
[out] ppv
Type: void**
When this method returns, contains the interface pointer requested in riid. This is typically IStorage or IStream.
Return value
Type: HRESULT
If this function succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.
Remarks
It is recommended that you use the IID_PPV_ARGS macro, defined in Objbase.h, to package the riid and ppv parameters. This macro provides the correct IID based on the interface pointed to by the value in ppv, which eliminates the possibility of a coding error.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 7 [desktop apps only] |
Minimum supported server | Windows Server 2008 R2 [desktop apps only] |
Target Platform | Windows |
Header | shlobj_core.h (include Shlobj.h) |
Library | Shell32.lib |
DLL | Shell32.dll (version 6.1 or later) |