次の方法で共有


IStream::Clone メソッド (objidl.h)

Clone メソッドは、元のストリームと同じバイトを参照する独自のシーク ポインターを持つ新しいストリーム オブジェクトを作成します。

構文

HRESULT Clone(
  [out] IStream **ppstm
);

パラメーター

[out] ppstm

成功した場合は、新しいストリーム オブジェクトへの IStream ポインターの場所へのポインター。 エラーが発生した場合、このパラメーターは NULL です

戻り値

このメソッドは、これらの値のいずれかを返すことができます。

リターン コード 説明
S_OK ストリームが正常に複製されました。
E_PENDING 非同期ストレージのみ: ストリームのデータの一部またはすべてを現在使用できません。
STG_E_INSUFFICIENTMEMORY メモリ不足のため、ストリームは複製されませんでした。
STG_E_INVALIDPOINTER ppStm ポインターが無効です。
STG_E_REVERTED オブジェクトは、トランザクション ツリー内のオブジェクトの上にある元に戻す操作によって無効になっています。

注釈

Clone メソッドは、同じバイトにアクセスするための新しいストリーム オブジェクトを作成しますが、別のシーク ポインターを使用します。 新しいストリーム オブジェクトには、ソース ストリーム オブジェクトと同じデータが表示されます。 一方のオブジェクトに書き込まれた変更は、もう一方のオブジェクトにすぐに表示されます。 範囲ロックは、ストリーム オブジェクト間で共有されます。

複製されたストリーム インスタンス内のシーク ポインターの初期設定は、複製操作時の元のストリームでのシーク ポインターの現在の設定と同じです。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー objidl.h
Library Uuid.lib
[DLL] Ole32.dll

こちらもご覧ください

IStream - 複合ファイルの実装

IStream::CopyTo