共用方式為


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。 可能的值包括 (但不限於) 下表中的這些值。

傳回碼 描述
S_OK
此方法已成功。
E_INVALIDARG
flags 參數中傳遞的值不是有效的 OPC_READ_FLAGS 列舉值。
E_NOTIMPL
這個版本的 Windows 並未實作這個方法。
E_POINTER
至少有一個 數據流封裝 參數是 NULL
IStream 介面錯誤
IStream 介面中的 HRESULT 錯誤碼。
套件耗用量錯誤
套件耗用量錯誤群組中的 HRESULT 錯誤碼。
元件 URI 錯誤
來自元件 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

另請參閱

使用封裝 API 使用者入門

IOpcFactory

載入套件

OPC_READ_FLAGS

概觀

封裝 API 程式設計指南

封裝 API 參考

封裝 API 範例

封裝錯誤

Windows Vista 的平臺更新

參考