次の方法で共有


DSCAPS

DSCAPS 構造体は、デバイスの能力を記述する。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 このデバイスは、dwMinSecondarySampleRatedwMaxSecondarySampleRate の各メンバ値の間のすべてのサンプリング レートをサポートする。一般にこれは、実際の出力レートが要求された周波数の ±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

ハードウェアでミキシングできるバッファの数。このメンバは、dwMaxHwMixingStaticBuffersdwMaxHwMixingStreamingBuffers の合計より小さくてもかまわない。リソースのトレードオフがしばしば発生する。

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/秒)。この速度と転送バイト数により、IDirectSoundBuffer8::Unlock メソッドを呼び出したときの実行時間が決まる。

dwPlayCpuOverheadSwBuffers

処理のオーバーヘッド。ソフトウェア バッファをミキシングするために必要なメイン プロセッサ サイクルのパーセンテージである。この値は、バス タイプ、プロセッサ タイプ、クロック速度に応じて変化する。

dwReserved1

未使用。

dwReserved2

未使用。

注意

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

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

要件

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

参照