IStorage::DestroyElement
Removes the specified storage or stream from this storage object.
HRESULT DestroyElement(
wchar * pwcsName
|
//Points to the name of the element to be removed
|
);
|
|
Parameter
-
pwcsName
-
[in] Points to a wide character string that contains the name of the storage
or stream to be removed.
Return Values
-
S_OK
-
The element was successfully removed.
-
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 removing the element.
-
STG_E_FILENOTFOUND
-
The element with the specified name does not exist.
-
STG_E_INSUFFICIENTMEMORY
-
The element was not removed due to a lack of memory.
-
STG_E_INVALIDNAME
-
Invalid value for pwcsName.
-
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 removed because there are too many open files.
Remarks
The DestroyElement method deletes a substorage or stream from the
current storage object. After a successful call to DestroyElement, any
open instance of the destroyed element from the parent storage becomes
invalid.
If a storage object is opened in transacted mode, destruction of an element
requires that the call to DestroyElement be followed by a call to IStorage::Commit.
See Also
IStorage - Compound File
Implementation