[Now Supported on Windows NT]
Changes the name of a file object or subfolder, changing its item identifier in the process.
HRESULT SetNameOf(
HWND hwndOwner, | // Handle of owner window |
LPCITEMIDLIST pidl, | // Pointer to an ITEMIDLIST structure |
LPCOLESTR lpszName, | // Pointer to string specifying new display name |
DWORD uFlags, | // Type of name specified in lpszName |
LPITEMIDLIST *ppidlOut | // Pointer to new ITEMIDLIST |
); |
Parameters
hwndOwner
Handle of the owner window that the client should specify if it displays a dialog box or message box.
pidl
Pointer to an ITEMIDLIST structure that uniquely identifies the file object or subfolder relative to the parent folder.
lpszName
Pointer to a null-terminated string that specifies the new display name.
uFlags
Value indicating the type of name specified by the lpszName parameter. For a list of possible values, see the description of the SHCONTF enumerated type.
ppidlOut
Address in which the method returns a pointer to the new ITEMIDLIST structure. This parameter can be NULL, and in that case, the method does not return the new ITEMIDLIST for the object.
If this parameter is not NULL, this method frees the specified ITEMIDLIST structure and allocates a new one using the task allocator. The calling application is responsible for freeing the new ITEMIDLIST structure. If an error occurs, the method returns NULL in this address.
Return Values
Returns NOERROR if successful or an OLE-defined error value otherwise.
Remarks
SetNameOf sets the display name of the specified object. If it also changes the item identifier, then it returns the new item identifier ( a pidl), which is allocated by the task allocator. Changing the display name of a file system object or folder within renames the file or directory.
See Also