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 | このデバイスは、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/秒)。この速度と転送バイト数により、IDirectSoundBuffer8::Unlock メソッドを呼び出したときの実行時間が決まる。
dwPlayCpuOverheadSwBuffers
処理のオーバーヘッド。ソフトウェア バッファをミキシングするために必要なメイン プロセッサ サイクルのパーセンテージである。この値は、バス タイプ、プロセッサ タイプ、クロック速度に応じて変化する。
dwReserved1
未使用。
dwReserved2
未使用。
注意
オーディオ カードによっては、利用可能なハードウェア バッファやその空きが正確に報告されない場合がある。これはたとえば、カードが、高いサンプリング レートよりも低いサンプリング レートでより多くのサウンドを再生できるときに発生する。通常、ハードウェア バッファの空き数に関係するメンバの値が 0 以外の場合は、適切なタイプのハードウェア リソースが少なくとも 1 つ利用できることを示している。
ソフトウェア バッファのアンロック転送速度は 0 である。これは、データをどこにも転送する必要がないためである。同様に、ハードウェア バッファの再生処理オーバーヘッドも、ミキシングがサウンド デバイスによって処理されるため 0 である。
要件
** ヘッダー:**Dsound.h で宣言。
参照