Microsoft DirectX 8.0 (C++)

DSCAPS

DirectSound デバイスの能力を記述する。IDirectSound8::GetCaps メソッドで使われる。

typedef { 
    DWORD  dwSize; 
    DWORD  dwFlags;  
    DWORD  dwMinSecondarySampleRate; 
    DWORD  dwMaxSecondarySampleRate; 
    DWORD  dwPrimaryBuffers; 
    DWORD  dwMaxHwMixingAllBuffers; 
    DWORD  dwMaxHwMixingStaticBuffers; 
    DWORD  dwMaxHwMixingStreamingBuffers; 
    DWORD  dwFreeHwMixingAllBuffers; 
    DWORD  dwFreeHwMixingStaticBuffers; 
    DWORD  dwFreeHwMixingStreamingBuffers; 
    DWORD  dwMaxHw3DAllBuffers; 
    DWORD  dwMaxHw3DStaticBuffers; 
    DWORD  dwMaxHw3DStreamingBuffers; 
    DWORD  dwFreeHw3DAllBuffers; 
    DWORD  dwFreeHw3DStaticBuffers; 
    DWORD  dwFreeHw3DStreamingBuffers; 
    DWORD  dwTotalHwMemBytes; 
    DWORD  dwFreeHwMemBytes; 
    DWORD  dwMaxContigFreeHwMemBytes; 
    DWORD  dwUnlockTransferRateHwBuffers; 
    DWORD  dwPlayCpuOverheadSwBuffers; 
    DWORD  dwReserved1; 
    DWORD  dwReserved2; 
} DSCAPS, *LPDSCAPS; 
 
typedef const DSCAPS *LPCDSCAPS;

メンバ

dwSize
構造体のサイズ (バイト単位)。この構造体を使う前に、このメンバを初期化しなければならない。
dwFlags
デバイスの能力を記述するフラグ。次のいずれかの値となる。
DSCAPS_CERTIFIED
このドライバは Microsoft でテストされ、認定されている。このフラグは常に WDM ドライバに対して設定される。認証されているかどうかテストするには、IDirectSound8::VerifyCertification を使用する。
DSCAPS_CONTINUOUSRATE
このデバイスは、dwMinSecondarySampleRate dwMaxSecondarySampleRate の各メンバ値の間のすべてのサンプリング レートをサポートする。一般にこれは、実際の出力レートが要求された周波数の ±10 ヘルツ (Hz) 以内であることを意味する。
DSCAPS_EMULDRIVER
このデバイスには DirectSound ドライバがインストールされていない。ウェーブフォーム オーディオ機能を通してエミュレートされている。性能の低下が予想される。
DSCAPS_PRIMARY16BIT
このデバイスは 16 ビット サンプリングでプライマリ サウンド バッファをサポートする。
DSCAPS_PRIMARY8BIT
このデバイスは 8 ビット サンプリングでプライマリ バッファをサポートする。
DSCAPS_PRIMARYMONO
このデバイスはモノラルのプライマリ バッファをサポートする。
DSCAPS_PRIMARYSTEREO
このデバイスはステレオのプライマリ バッファをサポートする。
DSCAPS_SECONDARY16BIT
このデバイスは、16 ビット サンプリングでハードウェア ミキシングのセカンダリ サウンド バッファをサポートする。
DSCAPS_SECONDARY8BIT
このデバイスは、8 ビット サンプリングでハードウェア ミキシングのセカンダリ バッファをサポートする。
DSCAPS_SECONDARYMONO
このデバイスは、ハードウェア ミキシングのモノラル セカンダリ バッファをサポートする。
DSCAPS_SECONDARYSTEREO
このデバイスは、ハードウェア ミキシングのステレオ セカンダリ バッファをサポートする。
dwMinSecondarySampleRate、dwMaxSecondarySampleRate
このデバイスのハードウェア セカンダリ サウンド バッファがサポートする最小と最大のサンプリング レートの仕様。
dwPrimaryBuffers
サポートされているプライマリ バッファの数。この値は常に 1 である。
dwMaxHwMixingAllBuffers
ハードウェアでミキシングできるバッファの数。このメンバは dwMaxHwMixingStaticBuffers dwMaxHwMixingStreamingBuffers の合計より小さい値を取る。リソースのトレードオフがしばしば発生する。
dwMaxHwMixingStaticBuffers
スタティック バッファの最大数。
dwMaxHwMixingStreamingBuffers
ストリーム サウンド バッファの最大数。
dwFreeHwMixingAllBuffers
未割り当てバッファの数。WDM ドライバでは、dwFreeHw3DAllBuffers となる。
dwFreeHwMixingStaticBuffers
未割り当てのスタティック バッファの数。
dwFreeHwMixingStreamingBuffers
未割り当てのストリーム バッファの数。
dwMaxHw3DAllBuffers
3D バッファの最大数。
dwMaxHw3DStaticBuffers
スタティック 3D バッファの最大数。
dwMaxHw3DStreamingBuffers
ストリーム 3D バッファの最大数。
dwFreeHw3DAllBuffers
未割り当ての 3D バッファの数。
dwFreeHw3DStaticBuffers
未割り当てのスタティック 3D バッファの数。
dwFreeHw3DStreamingBuffers
未割り当てのストリーム 3D バッファの数。
dwTotalHwMemBytes
スタティック サウンド バッファを保持するサウンド カード上のメモリ容量のサイズ (バイト単位)。
dwFreeHwMemBytes
サウンド カード上の空きメモリのサイズ (バイト単位)。
dwMaxContigFreeHwMemBytes
サウンド カード上の空きメモリのうち、最大の連続ブロックのサイズ (バイト単位)。
dwUnlockTransferRateHwBuffers
ハードウェア スタティック サウンド バッファへのデータ転送速度。単位は 1 秒あたりのキロバイト (KB/s)。この速度と転送バイト数により、IDirectSoundBuffer8::Unlock メソッドを呼び出したときの実行時間が決まる。
dwPlayCpuOverheadSwBuffers
(メイン システム メモリ内の) ソフトウェア バッファをミキシングするために必要な処理オーバーヘッドを、CPU パーセンテージで記述した値。この値は、バス タイプ、プロセッサ タイプ、クロック速度に応じて変化する。

ソフトウェア バッファのアンロック転送速度は 0 である。データをどこにも転送する必要がないからである。同様に、ハードウェア バッファの再生オーバーヘッドも、ミキシングがサウンド デバイスによって処理されるため、0 である。

dwReserved1
未使用。
dwReserved2
未使用。

注意

いくつかのオーディオ サウンド カードは、利用可能なハードウェア バッファやその空きを正確に報告できない場合がある。これはたとえば、カードが、高いサンプリング レートよりも低いサンプリング レートでより多くのサウンドを再生できるときに発生する。通常、ハードウェア バッファの空き数に関係するメンバの値が 0 以外のとき、適切なタイプのハードウェア リソースが少なくとも 1 つ利用できることを示す。

動作環境

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

参照

IDirectSound8::GetCaps