IStorage::D estroyElement 方法 (objidl.h)
DestroyElement 方法从此存储对象中删除指定的存储或流。
语法
HRESULT DestroyElement(
[in] const OLECHAR *pwcsName
);
参数
[in] pwcsName
指向以 null 结尾的宽字符 Unicode 字符串的指针,该字符串包含要删除的存储或流的名称。
返回值
此方法可以返回其中一个值。
返回代码 | 说明 |
---|---|
S_OK | 已成功删除元素。 |
E_PENDING | 仅限异步存储:部分或全部元素数据当前不可用。 |
STG_E_ACCESSDENIED | 调用方没有删除元素的权限。 |
STG_E_FILENOTFOUND | 具有指定名称的元素不存在。 |
STG_E_INSUFFICIENTMEMORY | 由于内存不足,元素未删除。 |
STG_E_INVALIDNAME | pwcsName 的值无效。 |
STG_E_INVALIDPOINTER | 为元素指定的指针无效。 |
STG_E_INVALIDPARAMETER | 其中一个参数无效。 |
STG_E_REVERTED | 事务树中存储对象上方的还原操作已失效。 |
STG_E_TOOMANYOPENFILES | 未删除 元素,因为打开的文件太多。 |
注解
DestroyElement 方法从当前存储对象中删除子存储或流。 成功调用 DestroyElement 后,父存储中已销毁元素的任何打开实例将变为无效。
如果在事务处理模式下打开存储对象,则元素的销毁要求调用 DestroyElement 后跟 对 IStorage::Commit 的调用。
注意DestroyElement 方法不会收缩目录流。 它仅将已删除的目录条目标记为无效。 创建新存储或流时,将重复使用无效条目。
对于内容流,已删除的流扇区标记为可用。 如果可用扇区位于文件末尾,则文档文件应收缩。 若要压缩文档文件,请对根存储对象调用 IStorage::CopyTo ,并复制到新的存储对象。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 专业版 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows 2000 Server [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | objidl.h |
Library | Uuid.lib |
DLL | Ole32.dll |