OleSaveToStream 関数 (ole2.h)

IPersistStream インターフェイスを持つオブジェクトを、指定されたストリームに保存します。

構文

HRESULT OleSaveToStream(
  [in] LPPERSISTSTREAM pPStm,
  [in] LPSTREAM        pStm
);

パラメーター

[in] pPStm

ストリームに保存するオブジェクトの IPersistStream インターフェイスへのポインター。 pPStm パラメーターを NULL にすることはできません。

[in] pStm

オブジェクトを保存するストリーム上の IStream インターフェイスへのポインター。

戻り値

この関数は、成功したS_OKを返します。 その他の可能な値は次のとおりです。

リターン コード 説明
STGMEDIUM_E_FULL
ディスク領域がないため、オブジェクトを保存できませんでした。
OLE_E_BLANK
pPStm パラメーターは NULL です
 

この関数は、 WriteClassStm 関数または IPersistStream::Save メソッドによって返されるエラー値を返すこともできます。

注釈

この関数を使用すると、 IPersistStream インターフェイスを実装するオブジェクトをストリームに簡単に保存できます。 このストリームでは、オブジェクトの CLSID がデータの前に置きます。 ストリームが取得されると、CLSID は適切なコードをデータに関連付けるのを許可します。 OleSaveToStream 関数は次の処理を行います。

  • IPersist::GetClassID メソッドを呼び出して、オブジェクトの CLSID を取得します。
  • WriteClassStm 関数を使用して、CLSID をストリームに書き込みます。
  • fClearDirtyTRUE に設定して IPersistStream::Save メソッドを呼び出します。これにより、オブジェクト内のダーティ ビットがクリアされます。
コンパニオン ヘルパー の OleLoadFromStream は、この方法で保存されたオブジェクトを読み込みます。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー ole2.h (Ole2.h を含む)
Library Ole32.lib
[DLL] Ole32.dll
API セット ext-ms-win-com-ole32-l1-1-1 (Windows 8.1 で導入)

こちらもご覧ください

IPersistStream

IStream

OleLoadFromStream