Platform SDK: DirectX |
DirectSound.DuplicateSoundBuffer メソッドは、新しい DirectSoundBuffer オブジェクトを作成する。このオブジェクトは、オリジナルのオブジェクトと同じバッファ メモリを使う。
object.DuplicateSoundBuffer( _ original As DirectSoundBuffer) _ As DirectSoundBuffer
成功すれば DirectSoundBuffer を返す。
失敗すればエラーが発生し、Err.Number に次のいずれかのエラー コードが設定される。
DSERR_ALLOCATED |
DSERR_INVALIDCALL |
DSERR_OUTOFMEMORY |
DSERR_UNINITIALIZED |
新しいオブジェクトはオリジナルのオブジェクトと同じ方法で使用できる。
複製直後のバッファは、オリジナル バッファと同じパラメータを持つ。ただし、アプリケーションは各バッファのパラメータを個別に変更でき、各バッファは互いに影響を及ぼすことなく再生と停止を行える。
どちらかのオブジェクトがバッファ内のデータを変更すると、バッファ メモリが共有されているため、通常その変更はもう一方のオブジェクトにも反映される。ただし、いくつかの環境では複製バッファが固有のメモリを保持するため、この動作をあてにすべきではない。
後に残った参照側オブジェクトが解放されると、バッファ メモリは解放される。
アプリケーションは、サウンド バッファの複製作業が成功するとは想定できない。特に、DirectSound はハードウェア バッファのソフトウェア複製を作成できない。
DirectSound.CreateSoundBuffer、DirectSound.CreateSoundBufferFromFile、DirectSound.CreateSoundBufferFromResource