Microsoft Windows CE 3.0  

DSCAPS

Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

The DSCAPSstructure specifies the capabilities of a DirectSound device for use by the IDirectSound::GetCapsmethod.

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;

Members

dwSize
Size of the structure, in bytes. This member must be initialized before the structure is used.
dwFlags
Specifies device capabilities. Can be one or more of the following:
Flag Description
DSCAPS_CERTIFIED This driver has been tested and certified by Microsoft.
DSCAPS_CONTINUOUSRATE The device supports all sample rates between the dwMinSecondarySampleRateand dwMaxSecondarySampleRatemember 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.
dwMinSecondarySampleRate
dwMaxSecondarySampleRate
Minimum and maximum sample rate specifications that are supported by this device's hardware secondary sound buffers.
dwPrimaryBuffers
Number of primary buffers supported. This value will always be 1.
dwMaxHwMixingAllBuffers
Specifies the total number of buffers that can be mixed in hardware. This member can be less than the sum of dwMaxHwMixingStaticBuffersand dwMaxHwMixingStreamingBuffers. Resource tradeoffs frequently occur.
dwMaxHwMixingStaticBuffers
Specifies the maximum number of static sound buffers.
dwMaxHwMixingStreamingBuffers
Specifies the maximum number of streaming sound buffer.
dwFreeHwMixingAllBuffers
dwFreeHwMixingStaticBuffers
dwFreeHwMixingStreamingBuffers
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. See Remarks.
dwMaxHw3DAllBuffers
dwMaxHw3DStaticBuffers
dwMaxHw3DStreamingBuffers
Description of the hardware 3-D positional capabilities of the device.
dwFreeHw3DAllBuffers
dwFreeHw3DStaticBuffers
dwFreeHw3DStreamingBuffers
Description of the free, or unallocated, hardware 3-D positional capabilities of the device. See Remarks.
dwTotalHwMemBytes
Size, in bytes, of the amount of memory on the sound card that stores static sound buffers.
dwFreeHwMemBytes
Size, in bytes, of the free memory on the sound card.
dwMaxContigFreeHwMemBytes
Size, in bytes, of the largest contiguous block of free memory on the sound card.
dwUnlockTransferRateHwBuffers
Description of the rate, in kilobytes per second, at which data can be transferred to hardware static sound buffers. This and the number of bytes transferred determines the duration of a call to the IDirectSoundBuffer::Unlockmethod.
dwPlayCpuOverheadSwBuffers
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.

dwReserved1
dwReserved2
Reserved for future use.

Remarks

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 non-zero 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.

Requirements

Runs On Versions Defined in Include Link to
Windows CE OS 2.12 or later. Version 2.12 requires DXPAK 1.0 or later. dsound.h    
Note   This API is part of the complete Windows CE OS package as provided by Microsoft. The functionality of a particular platform is determined by the original equipment manufacturer (OEM) and some devices may not support this API.

See Also

IDirectSound::GetCaps