次の方法で共有


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 内容

関連項目

IDirectSoundBuffer8