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