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 で宣言。
参照