IStorage::RenameElement
Renames the specified substorage or stream in this storage object.
HRESULT RenameElement(
const WCHAR * pwcsOldName,
|
//Points to the name of the element to be changed
|
const WCHAR * pwcsNewName
|
//Points to the new name for the specified element
|
);
|
|
Parameters
-
pwcsOldName
-
[in] Points to a wide character string that contains the name of the
substorage or stream to be changed.
-
pwcsNewName
-
[in] Points to a wide character string that contains the new name for the
specified sustorage or stream.
Return Values
-
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.
See Also
IStorage - Compound File
Implementation