IDirectSoundBuffer8::Restore
失われたサウンド バッファへのメモリ割り当てを復元する。
構文
HRESULT Restore();
パラメータ
なし。
戻り値
成功した場合は DS_OK を返す。
失敗した場合は、次のいずれかのエラー値を返す。
リターン コード |
DSERR_BUFFERLOST |
DSERR_INVALIDCALL |
DSERR_PRIOLEVELNEEDED |
注意
アプリケーションが入力フォーカスを得ていないと、IDirectSoundBuffer8::Restore は成功しないことがある。たとえば、入力フォーカスのあるアプリケーションが DSSCL_WRITEPRIMARY (書き込み優先) 協調レベルに設定されている場合は、他のどのアプリケーションもバッファを復元できない。同様に DSSCL_WRITEPRIMARY 協調レベルのアプリケーションがプライマリ バッファを復元するには、入力フォーカスが必要である。
DirectSound がバッファ メモリを復元した後、アプリケーションは有効なサウンド データをバッファに再び書き込む必要がある。DirectSound はメモリ自体を復元するが、メモリの内容は復元できない。
アプリケーションは、バッファを指定して IDirectSoundBuffer8::Lock メソッドまたは IDirectSoundBuffer8::Play メソッドを呼び出すと、そのバッファが失われた場合に通知を受けられる。バッファが失われている場合、これらのメソッドは DSERR_BUFFERLOST を返す。IDirectSoundBuffer8::GetStatus メソッドを使って、サウンド バッファのステータスの取得と DSBSTATUS_BUFFERLOST フラグのテストを行うこともできる。
要件
ヘッダー:dsound.h で宣言。
参照