This method renames the specified substorage or stream object in this storage object.
At a Glance
Header file: | Objidl.h |
Windows CE versions: | 2.0 and later |
Syntax
HRESULT RenameElement( const WCHAR * pwcsOldName,
const WCHAR * pwcsNewName);
Parameters
pwcsOldName
[in] Pointer to a wide character string that contains the name of the substorage or stream to be changed.
pwcsNewName
[in] Pointer to a wide character string that contains the new name for the specified substorage or stream.
Return Values
One of the values described in the following table is returned.
Value | Description |
S_OK | The element was successfully renamed. |
E_PENDING | Asynchronous Storage only: Part or all of the element’s data is currently unavailable. For more information see IFillLockBytes and Asynchronous Storage. |
STG_E_ACCESSDENIED | The caller does not have sufficient permissions for renaming the element. |
STG_E_FILENOTFOUND | The element with the specified old name does not exist. |
STG_E_FILEALREADYEXISTS | The element specified by the new name already exists. |
STG_E_INSUFFICIENTMEMORY | The element was not renamed due to a lack of memory. |
STG_E_INVALIDNAME | Invalid value for one of the names. |
STG_E_INVALIDPOINTER | The pointer specified for the element was invalid. |
STG_E_INVALIDPARAMETER | One of the parameters was invalid. |
STG_E_REVERTED | The storage object has been invalidated by a revert operation above it in the transaction tree. |
STG_E_TOOMANYOPENFILES | The element was not renamed because there are too many open files. |
Remarks
IStorage::RenameElement renames the specified substorage or stream in this storage object. An element in a storage object cannot be renamed while it is open. The rename operation is subject to committing the changes if the storage is open in transacted mode.
The IStorage::RenameElement method is not guaranteed to work in low memory with storage objects open in transacted mode. It may work in direct mode.