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