Microsoft DirectX 8.0 (Visual Basic)

DirectSoundSecondaryBuffer8.Restore

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

object.Restore()

指定項目

object
DirectSoundSecondaryBuffer8 オブジェクトを指定する。

エラー コード

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

DSERR_BUFFERLOST
DSERR_INVALIDCALL
DSERR_PRIOLEVELNEEDED

注意

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

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

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

参照

DirectSoundSecondaryBuffer8.GetStatusバッファ管理