Microsoft DirectX 8.0 (C++) |
新しい DirectSoundBuffer オブジェクトを作成する。このオブジェクトは、オリジナルのバッファのメモリを複製または共有する。
HRESULT DuplicateSoundBuffer( LPDIRECTSOUNDBUFFER pDSBufferOriginal, LPDIRECTSOUNDBUFFER * ppDSBufferDuplicate );
成功した場合は DS_OK を返す。
失敗した場合は、次のいずれかのエラー値を返す。
DSERR_ALLOCATED |
DSERR_INVALIDCALL |
DSERR_INVALIDPARAM |
DSERR_OUTOFMEMORY |
DSERR_UNINITIALIZED |
このメソッドは、DSBCAPS_CTRLFX フラグを使って作成したバッファには無効である。
複製直後のバッファは、オリジナル バッファと同じパラメータを持つ。ただし、アプリケーションは各バッファのパラメータを個別に変更でき、各バッファは違いに影響を及ぼすことなく再生と停止を行える。
後に残った参照側オブジェクトが解放されると、バッファ メモリは解放される。
複製バッファは同じメモリを共有する場合もあるが、常にそうであるとは限らない。バッファに格納されたデータの変更は、必ずしも複製に反映されるわけではない。
ヘッダー : dsound.h で宣言。