This method removes the specified storage or stream object from this storage object.
At a Glance
Header file: | Objidl.h |
Windows CE versions: | 2.0 and later |
Syntax
HRESULT DestroyElement( WCHAR * pwcsName );
Parameters
pwcsName
[in] Pointer to a wide character string that contains the name of the storage or stream to be removed.
Return Values
One of the values described in the following table is returned.
Value | Description |
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.