次の方法で共有


DSCAPS

DSCAPS 構造体はデバイスの能力を表します。この構造体は、IDirectSound8::GetCaps メソッドで使用されます。

typedef struct DSCAPS {
    DWORD dwSize;
    DWORD dwFlags;
    DWORD dwMinSecondarySampleRate, 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;

メンバ

  • dwSize
    構造体のサイズ (バイト単位) です。構造体を使用する前に、このメンバーを初期化する必要があります。

  • dwFlags
    デバイスの機能を表すフラグです。次の表に示す値を含むことができます。

    説明
    DSCAPS_CERTIFIEDドライバーはテストされ、Microsoft により認証されています。このフラグは常に WDM ドライバーに対して設定されます。認証をテストするには、IDirectSound8::VerifyCertification を使用します。
    DSCAPS_CONTINUOUSRATEデバイスは、dwMinSecondarySampleRate メンバー値と dwMaxSecondarySampleRate メンバー値の間のすべてのサンプル レートをサポートします。一般に、実際の出力レートは要求された周波数の +/- 10 Hz 以内です。
    DSCAPS_EMULDRIVERデバイスには DirectSound ドライバーがインストールされていません。このため、Wave フォーム オーディオ関数を使用してエミュレートされています。パフォーマンスの低下が予想されます。
    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
    使用されません。

解説 

一部のオーディオ カードは、使用可能なハードウェア バッファーまたは空いているハードウェア バッファーの数を正確に報告できないことがあります。これは、カードが、高速なサンプリング レートよりも低速なサンプリング レートでより多くのサウンドを再生できる場合などに発生する可能性があります。通常、空きハードウェア バッファーの数に関連するいずれかのメンバーがゼロ以外の値であれば、適切なタイプのハードウェア リソースが 1 つ以上使用可能であることを表します。

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

要件

ヘッダー: DSound.h 宣言

関連項目

IDirectSound8::GetCaps