iOpcFactory::ReadPackageFromStream 方法 (msopc.h)
从流反序列化包数据,并创建一个包对象来表示正在读取的包。 尽管从包对象或包对象本身获取的打包 API 对象仍在使用中,但流可用于访问包数据。
语法
HRESULT ReadPackageFromStream(
[in] IStream *stream,
[in] OPC_READ_FLAGS flags,
[out, retval] IOpcPackage **package
);
参数
[in] stream
指向流的 IStream 接口的指针。
流必须可读、可查找、具有大小,并且必须包含包数据。 此外,如果流不可克隆,则会按顺序缓冲和读取该流,从而产生开销。
[in] flags
值,该值指定用于缓存包组件并针对 OPC 一致性要求对其进行验证的读取设置。
[out, retval] package
指向包对象的 IOpcPackage 接口的指针,该接口表示通过流读取的包。
返回值
该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。
返回代码 | 说明 |
---|---|
|
方法成功。 |
|
flags 参数中传递的值不是有效的OPC_READ_FLAGS枚举值。 |
|
此方法不为此版本的 Windows 实现。 |
|
至少有一个 流 和 包 参数为 NULL。 |
|
来自 IStream 接口的 HRESULT 错误代码。 |
|
包消耗错误组中的 HRESULT 错误代码。 |
|
部件 URI 错误组中的 HRESULT 错误代码。 |
注解
当同一流用于反序列化包时,请勿使用流来序列化包数据,因为尝试可能会导致未定义的行为。
打包 API 可以与映射 OPC 中指定的 ZIP 存档的包进行交互,这些包基于 Zip32 (ZIP 2.0) 或 Zip64 (ZIP 4.5) 编码。
有关如何使用此方法加载包的信息,请参阅 加载包 编程任务。
对以前版本的 Windows 的支持
在 Windows 7 之前的 Windows 版本上不支持此方法。 有关详细信息,请参阅使用打包 API 入门和适用于 Windows Vista 的平台更新。线程安全性
打包对象不是线程安全的。
有关详细信息,请参阅打包 API 的入门。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 7 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 R2 [仅限桌面应用] |
目标平台 | Windows |
标头 | msopc.h |
另请参阅
概述
引用