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
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