Microsoft DirectX 8.1 (Visual Basic)

Buffer Control Options

When creating a sound buffer, your application must specify the control options needed for that buffer. This is done with the lFlags member of the DSBUFFERDESC type, which can contain one or more DSBCAPS_CTRL* flags.

The following controls are available:

To obtain the best performance on all sound cards, your application should specify only control options it will use.

DirectSound uses the control options in determining whether hardware resources can be allocated to sound buffers. For example, a device might support hardware buffers but provide no pan control on those buffers. In this case, DirectSound would use hardware acceleration only if the DSBCAPS_CTRLPAN flag was not specified.

Note that certain combinations of controls are not allowed. For example, pan and 3-D are mutually exclusive.

If your application attempts to use a control that a buffer lacks, the method call fails. For example, if you attempt to change the volume by using the DirectSoundSecondaryBuffer8.SetVolume method, the method can succeed only if the DSBCAPS_CTRLVOLUME flag was specified when the buffer was created. Otherwise, the method fails and raises the DSERR_CONTROLUNAVAIL error.

See also Playback Controls.