The DSCAPS structure describes the capabilities of a device. It is used by the IDirectSound8::GetCaps method.
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;
Value | Description |
---|---|
DSCAPS_CERTIFIED | The driver has been tested and certified by Microsoft. This flag is always set for WDM drivers. To test for certification, use IDirectSound8::VerifyCertification. |
DSCAPS_CONTINUOUSRATE | The device supports all sample rates between the dwMinSecondarySampleRate and dwMaxSecondarySampleRate member values. Typically, this means that the actual output rate will be within +/- 10 hertz (Hz) of the requested frequency. |
DSCAPS_EMULDRIVER | The device does not have a DirectSound driver installed, so it is being emulated through the waveform-audio functions. Performance degradation should be expected. |
DSCAPS_PRIMARY16BIT | The device supports a primary buffer with 16-bit samples. |
DSCAPS_PRIMARY8BIT | The device supports primary buffers with 8-bit samples. |
DSCAPS_PRIMARYMONO | The device supports monophonic primary buffers. |
DSCAPS_PRIMARYSTEREO | The device supports stereo primary buffers. |
DSCAPS_SECONDARY16BIT | The device supports hardware-mixed secondary sound buffers with 16-bit samples. |
DSCAPS_SECONDARY8BIT | The device supports hardware-mixed secondary buffers with 8-bit samples. |
DSCAPS_SECONDARYMONO | The device supports hardware-mixed monophonic secondary buffers. |
DSCAPS_SECONDARYSTEREO | The device supports hardware-mixed stereo secondary buffers. |
Some audio cards may be unable to report accurately the number of available or free hardware buffers. This can happen, for example, when the card can play more sounds at lower sampling rates than at higher rates. In general, a nonzero value in any of the members relating to number of free hardware buffers signifies that at least one hardware resource of the appropriate type is available.
The unlock transfer rate for software buffers is 0, because the data need not be transferred anywhere. Similarly, the play processing overhead for hardware buffers is 0 because the mixing is done by the sound device.
Header: Declared in Dsound.h.