IInitializeWithStream::Initialize メソッド (propsys.h)

ストリームを使用してハンドラーを初期化します。

構文

HRESULT Initialize(
  [in] IStream *pstream,
  [in] DWORD   grfMode
);

パラメーター

[in] pstream

種類: IStream*

ストリーム ソースを表す IStream インターフェイスへのポインター。

[in] grfMode

型: DWORD

pstream のアクセス モードを示す次のいずれかの STGM 値。

STGM_READ

pstream によって示されるストリームは読み取り専用です。

STGM_READWRITE

pstream によって示されるストリームは、読み取り/書き込みアクセス可能です。

戻り値

型: HRESULT

このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

注釈

このメソッドは、Win32 パスを介してアクセスできないストリーム (ファイル名拡張子が .zip の圧縮ファイルの内容など) を使用する機能により、 Initialize に推奨されます。

pstream が指すストリームは、ハンドラーの有効期間中、または IPropertyStore::Commit が呼び出されるまで開いたままにする必要があります。

最初に開いたとき、ソース ストリーム参照はストリームの先頭を指します。 ハンドラーは、いつでもストリームのシークと読み取りを行うことができます。 Initialize の実行中にストリームからすべてのプロパティを読み取るハンドラーを実装することも、呼び出し元のプロセスがプロパティの列挙または読み取りを試みるまで待機してから、ストリームからプロパティをフェッチすることもできます。

ハンドラー インスタンスは、有効期間内に 1 回だけ初期化する必要があります。 呼び出し元がハンドラーを再初期化しようとすると、エラー が発生 HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)します。

要件

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