IStorage 接口 (objidl.h)

IStorage 接口支持创建和管理结构化存储对象。 结构化存储允许在单个文件中分层存储信息,通常称为“文件中的文件系统”。 结构化存储对象的元素是存储和流。 存储类似于目录,流类似于文件。 在结构化存储中,将有一个主存储对象,该对象可能包含子存储、可能嵌套和流。 存储提供 对象的结构,流包含通过 IStream 接口操作的数据。

IStorage 接口提供用于创建和管理根存储对象、子存储对象和流对象的方法。 这些方法可以创建、打开、枚举、移动、复制、重命名或删除存储对象中的元素。

应用程序在使用存储对象时必须释放其 IStorage 指针,以解除分配使用的内存。 还有一些方法可用于更改元素的日期和时间。

可通过设置 STGM 常量中的值来打开存储对象及其元素的多种不同模式。 其中一个方面是提交更改的方式。 可以设置直接模式(其中对对象的更改立即写入其中)或事务处理模式,其中更改将写入缓冲区,直到显式提交。 IStorage 接口提供用于提交更改和还原到上次提交的版本的方法。 例如,可以在只读模式或读/写模式下打开流。 有关详细信息,请参阅 STGM 常量

其他方法通过 STATSTG 结构提供对存储对象及其元素相关信息的访问。

继承

IStorage 接口继承自 IUnknown 接口。 IStorage 还具有以下类型的成员:

方法

IStorage 接口具有这些方法。

 
IStorage::Commit

Commit 方法可确保对在事务处理模式下打开的存储对象所做的任何更改都反映在父存储中。
IStorage::CopyTo

将打开的存储对象的整个内容复制到另一个存储对象。
IStorage::CreateStorage

在指定的访问模式下,使用指定名称创建并打开嵌套在此存储对象中的新存储对象。
IStorage::CreateStream

创建并打开具有此存储对象中包含的指定名称的流对象。
IStorage::D estroyElement

从此存储对象中删除指定的存储或流。
IStorage::EnumElements

EnumElements 方法检索指向枚举器对象的指针,该指针可用于枚举此存储对象中包含的存储和流对象。
IStorage::MoveElementTo

MoveElementTo 方法将子存储或流从此存储对象复制或移动到另一个存储对象。
IStorage::OpenStorage

在指定的访问模式下打开具有指定名称的现有存储对象。
IStorage::OpenStream

以指定的访问模式打开此存储对象中的现有流对象。
IStorage::RenameElement

RenameElement 方法重命名此存储对象中的指定子存储或流。
IStorage::Revert

Revert 方法放弃自上次提交操作以来对存储对象所做的所有更改。
IStorage::SetClass

SetClass 方法将指定的类标识符 (CLSID) 分配给此存储对象。
IStorage::SetElementTimes

如果基础文件系统支持此方法,SetElementTimes 方法会设置指定存储元素的修改、访问和创建时间。
IStorage::SetStateBits

SetStateBits 方法在此存储对象中存储最多 32 位的状态信息。
IStorage::Stat

Stat 方法检索此打开的存储对象的 STATSTG 结构。

要求

要求
最低受支持的客户端 Windows 2000 专业版 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows 2000 Server [桌面应用 |UWP 应用]
目标平台 Windows
标头 objidl.h

另请参阅

枚举全部示例

示例