IByteBuffer::Clone メソッド
[ Clone メソッドは、[要件] セクションで指定したオペレーティング システムで使用できます。 Windows Server 2003 Service Pack 1 (SP1) 以降、Windows Vista、Windows Server 2008、およびそれ以降のバージョンのオペレーティング システムでは使用できません。 IStream インターフェイスも同様の機能を提供します。
Clone メソッドは、元の IByteBuffer オブジェクトと同じバイトを参照する独自のシーク ポインターを持つ新しいオブジェクトを作成します。
構文
HRESULT Clone(
[out] LPBYTEBUFFER *ppByteBuffer
);
パラメーター
-
ppByteBuffer [out]
-
成功した場合は、新しいストリーム オブジェクトへの IByteBuffer ポインターの場所を指します。 IByteBuffer ポインターの使用が完了したら、IUnknown::Release 関数を呼び出して解放します。 エラーが発生した場合、このパラメーターは NULL です。
戻り値
戻り値は HRESULT です。 S_OK の値は、呼び出しが成功したことを示します。
解説
このメソッドは、同じバイトにアクセスするための新しいストリーム オブジェクトを作成しますが、別のシーク ポインターを使用します。 新しいストリーム オブジェクトには、ソース ストリーム オブジェクトと同じデータが表示されます。 1 つのオブジェクトに書き込まれた変更は、もう一方のオブジェクトにすぐに表示されます。 範囲ロックは、ストリーム オブジェクト間で共有されます。
複製されたストリーム インスタンス内のシーク ポインターの初期設定は、複製操作時の元のストリーム内のシーク ポインターの現在の設定と同じです。
例
次の例は、 IByteBuffer インターフェイスの複製を示しています。
HRESULT hr;
// Clone the buffer.
hr = pIByteBuff->Clone(&pIByteClone);
if (FAILED(hr))
printf("Failed IByteBuffer::Clone\n");
必要条件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows XP [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows Server 2003 [デスクトップ アプリのみ] |
クライアント サポートの終了 |
Windows XP |
サーバー サポートの終了 |
Windows Server 2003 |
ヘッダー |
|
タイプ ライブラリ |
|
[DLL] |
|
IID |
IID_IByteBufferは E126F8FE-A7AF-11D0-B88A-00C04FD424B9 として定義されています |