DirectX SDK

DSCAPS

The DSCAPS type specifies the capabilities of a DirectSound device for use by the DirectSound.GetCaps method.

Type DSCAPS
    lFlags As CONST_DSCAPSFLAGS
    lFreeHw3DAllBuffers As Long
    lFreeHw3DStaticBuffers As Long
    lFreeHw3DStreamingBuffers As Long
    lFreeHwMemBytes As Long
    lFreeHwMixingAllBuffers As Long
    lFreeHwMixingStaticBuffers As Long
    lFreeHwMixingStreamingBuffers As Long
    lMaxContigFreeHwMemBytes As Long
    lMaxHw3DAllBuffers As Long
    lMaxHw3DStaticBuffers As Long
    lMaxHw3DStreamingBuffers As Long
    lMaxHwMixingAllBuffers As Long
    lMaxHwMixingStaticBuffers As Long
    lMaxHwMixingStreamingBuffers As Long
    lMaxSecondarySampleRate As Long
    lMinSecondarySampleRate As Long
    lPlayCpuOverheadSwBuffers As Long
    lPrimaryBuffers As Long
    lReserved1 As Long
    lReserved2 As Long
    lTotalHwMemBytes As Long
    lUnlockTransferRateHwBuffers As Long
End Type

Members

lFlags
Specifies device capabilities. Can be one or more of the following flags of the CONST_DSCAPSFLAGS enumeration:
DSCAPS_CERTIFIED
This driver has been tested and certified by Microsoft.
DSCAPS_CONTINUOUSRATE
The device supports all sample rates between the lMinSecondarySampleRate and lMaxSecondarySampleRate 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 primary sound buffers 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.
lFreeHw3DAllBuffers, lFreeHw3DStaticBuffers, and lFreeHw3DStreamingBuffers
Description of the free, or unallocated, hardware 3-D positional capabilities of the device.
lFreeHwMemBytes
Size, in bytes, of the free memory on the sound card.
lFreeHwMixingAllBuffers, lFreeHwMixingStaticBuffers, and lFreeHwMixingStreamingBuffers
Description of the free, or unallocated, hardware mixing capabilities of the device. An application can use these values to determine whether hardware resources are available for allocation to a secondary sound buffer. Also, by comparing these values to the members that specify maximum mixing capabilities, the resources that are already allocated can be determined.
lMaxContigFreeHwMemBytes
Size, in bytes, of the largest contiguous block of free memory on the sound card.
lMaxHw3DAllBuffers, lMaxHw3DStaticBuffers, and lMaxHw3DStreamingBuffers
Description of the hardware 3-D positional capabilities of the device.
lMaxHwMixingAllBuffers
Specifies the total number of buffers that can be mixed in hardware. This member can be less than the sum of lMaxHwMixingStaticBuffers and lMaxHwMixingStreamingBuffers. Resource tradeoffs frequently occur.
lMaxHwMixingStaticBuffers
Specifies the maximum number of static sound buffers.
lMaxHwMixingStreamingBuffers
Specifies the maximum number of streaming sound buffers.
lMaxSecondarySampleRate and lMinSecondarySampleRate
Maximum and minimum sample rate specifications that are supported by this device's hardware secondary sound buffers.
lPlayCpuOverheadSwBuffers
Description of the processing overhead, as a percentage of the central processing unit, needed to mix software buffers (those located in main system memory). This varies according to the bus type, the processor type, and the clock speed.

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.

lPrimaryBuffers
Number of primary buffers supported. This value will always be 1.
lReserved1 and lReserved2
Reserved for future use.
lTotalHwMemBytes
Size, in bytes, of the amount of memory on the sound card that stores static sound buffers.
lUnlockTransferRateHwBuffers
Description of the rate, in kilobytes per second, at which data can be transferred to hardware static sound buffers.

See Also

DirectSound.GetCaps