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

另请参阅

IStorage - 复合文件实现