次の方法で共有


IOpcFactory::ReadPackageFromStream メソッド (msopc.h)

ストリームからパッケージ データを逆シリアル化し、読み取るパッケージを表すパッケージ オブジェクトを作成します。 パッケージ オブジェクトまたはパッケージ オブジェクト自体から取得した Packaging 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
ストリームパッケージのパラメーターの少なくとも 1 つが NULL です
IStream インターフェイス エラー
IStream インターフェイスからの HRESULT エラー コード。
パッケージの使用エラー
パッケージ消費エラー グループHRESULT エラー コード。
パーツ URI エラー
パーツ URI エラー グループからの HRESULT エラー コード。

注釈

パッケージの逆シリアル化に同じストリームを使用している場合は、ストリームを使用してパッケージ データをシリアル化しないでください。これは、試行によって未定義の動作が発生する可能性があるためです。

パッケージ化 API は、OPC で指定された ZIP アーカイブをマップするパッケージと対話でき、Zip32 (ZIP 2.0) または Zip64 (ZIP 4.5) エンコードに基づいています。

このメソッドを使用してパッケージを読み込む方法については、「パッケージの読 み込み 」プログラミング タスクを参照してください。

以前のバージョンの Windows でのサポート

この方法は、Windows 7 より前のバージョンの Windows ではサポートされていません。 詳細については、「Packaging API を使用したはじめに」および「Windows Vista 用プラットフォーム更新プログラム」を参照してください。

スレッド セーフ

オブジェクトのパッケージ化はスレッド セーフではありません。

詳細については、「Packaging API を使用したはじめに」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー msopc.h

こちらもご覧ください

Packaging API を使用したはじめに

IOpcFactory

パッケージの読み込み

OPC_READ_FLAGS

概要

パッケージ化 API プログラミング ガイド

パッケージ化 API リファレンス

API サンプルのパッケージ化

パッケージ化エラー

Windows Vista のプラットフォーム更新プログラム

参照