IStorage::DestroyElement
A version of this page is also available for
4/8/2010
This method removes the specified storage or stream object from this storage object.
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 Value
The following table shows the return values for this method.
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 the IFillLockBytes interface 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 the IStorage::Commit method.
To determine whether the platform supports this interface, see Determining Supported COM APIs.
Requirements
Header | objidl.h, objidl.idl |
Library | ole32.lib, uuid.lib |
Windows Embedded CE | Windows CE 2.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |