Platform SDK: DirectX

DirectSoundBuffer.Restore

DirectSoundBuffer.Restore メソッドは、失われたサウンド バッファへのメモリ割り当てを復元する。

object.Restore()

パラメータ

object
DirectSoundBuffer オブジェクトを表すオブジェクト式。

エラー コード

失敗すればエラーが発生し、Err.Number に次のいずれかのエラー コードが設定される。

DSERR_BUFFERLOST
DSERR_INVALIDCALL
DSERR_PRIOLEVELNEEDED

注意

アプリケーションに入力フォーカスが置かれていないと、DirectSoundBuffer.Restore は成功しないことがある。たとえば、入力フォーカスが置かれているアプリケーションが DSSCL_WRITEPRIMARY (書き込み優先) 協調レベルに設定されている場合、ほかのどのアプリケーションもバッファを復元できない。

DirectSound がバッファ メモリを復元した後、有効なサウンド データを書き込み直す必要がある。DirectSound はメモリ自体を復元するが、メモリの内容は復元できない。

アプリケーションはバッファを指定して DirectSoundBuffer.WriteBuffer または DirectSoundBuffer.Play の各メソッドを呼び出すと、そのバッファが失われている場合に通知を受けられる。バッファが失われている場合は、これらのメソッドは DSERR_BUFFERLOST を返す。DirectSoundBuffer.GetStatus メソッドを使って、サウンド バッファのステータスの取得と DSBSTATUS_BUFFERLOST フラグのテストを行うこともできる。

参照

DirectSoundBuffer.GetStatus