次の方法で共有


IDirectSound8::SetCooperativeLevel

サウンド デバイスに対するアプリケーションの協調レベルを設定する。

構文

  HRESULT SetCooperativeLevel(
  HWND
   hwnd
  ,
  DWORD
   dwLevel

  );

パラメータ

hwnd

アプリケーション ウインドウへのハンドル。

dwLevel

要求するレベル。次の表で示されている値のいずれかを指定する。

 

説明
DSSCL_EXCLUSIVE DirectX 8.0 以降では、DSSCL_PRIORITY と同じ効果を持つ。それ以前のバージョンでは、アプリケーションを排他レベルに設定する。つまり、入力フォーカスを持っているアプリケーションだけが音を出せる。DSBCAPS_GLOBALFOCUS フラグが設定されているアプリケーションのサウンドは無音になる。このレベルに設定されたアプリケーションは、DSSCL_PRIORITY レベルのすべての特権も備えている。アプリケーションが入力フォーカスを得ると、DirectSound は最後の IDirectSoundBuffer8::SetFormat メソッドの呼び出しで指定されたハードウェア フォーマットを復元する
DSSCL_NORMAL 標準レベルに設定する。このレベルは最もスムーズなマルチタスキングとリソース共有の動作が得られるが、プライマリ バッファのフォーマットの変更は行えず、出力はデフォルトの 8 ビット フォーマットに限定される。
DSSCL_PRIORITY 優先レベルに設定する。この協調レベルに設定されたアプリケーションは、IDirectSoundBuffer8::SetFormat メソッドと IDirectSound8::Compact メソッドを呼び出すことができる。
DSSCL_WRITEPRIMARY 書き込み優先レベルに設定する。このアプリケーションは、プライマリ バッファへの書き込みアクセスを持つ。セカンダリ バッファはいずれも再生できない。デバイスに対して DirectSound ドライバがエミュレートされている場合、つまり IDirectSound8::GetCaps メソッドが DSCAPS 構造体で DSCAPS_EMULDRIVER フラグを返した場合は、このレベルを設定できない。

戻り値

成功した場合は DS_OK を返す。

失敗した場合は、次の表に示すエラー値のいずれかを返す。

リターン コード
DSERR_ALLOCATED
DSERR_INVALIDPARAM
DSERR_UNINITIALIZED
DSERR_UNSUPPORTED

注意

アプリケーションは、バッファを再生する前に、このメソッドを呼び出して協調レベルを設定しなければならない。推奨される協調レベルは DSSCL_PRIORITY である。

ロックされたバッファがある場合は、このメソッドを使ってはならない。

要件

**  ヘッダー:**dsound.h で宣言。

参照