DirectSound Structures

This section contains reference information about structures provided by the Microsoft DirectSound API.

Structure Description
D3DVECTOR Describes a vector.
DS3DBUFFER Contains all information necessary to uniquely describe the location, orientation, and motion of a 3D sound buffer.
DS3DLISTENER Describes the 3D world parameters and position of the listener.
DSBCAPS Describes the capabilities of a DirectSound buffer object.
DSBPOSITIONNOTIFY Describes a notification position.
DSBUFFERDESC Describes the characteristics of a buffer.
DSCAPS Describes the capabilities of a device.
DSCBCAPS Describes the capabilities of a capture buffer.
DSCBUFFERDESC Describes a capture buffer.
DSCCAPS Describes the capabilities of a capture device.
DSCEFFECTDESC Contains parameters for an effect associated with a capture buffer.
DSCFXAec Contains parameters for acoustic echo cancellation in a capture buffer.
DSCFXNoiseSuppress Contains parameters for noise suppression in a capture buffer.
DSEFFECTDESC Describes an effect associated with a buffer.
DSFXI3DL2Reverb Contains parameters for an I3DL2 (Interactive 3D Audio Level 2) reverberation effect.
DSFXChorus Contains parameters for a chorus effect.
DSFXCompressor Contains parameters for a compression effect.
DSFXDistortion Contains parameters for a distortion effect.
DSFXEcho Contains parameters for an echo effect.
DSFXFlanger Contains parameters for a flange effect.
DSFXGargle Contains parameters for an amplitude modulation effect.
DSFXParamEq Contains parameters for a parametric equalizer effect.
DSFXWavesReverb Contains parameters for a Waves reverberation effect.
WAVEFORMATEX Defines the format of waveform-audio data.
WAVEFORMATEXTENSIBLE Defines the format of waveform-audio data for formats having more than two channels or higher resolutions than allowed by WAVEFORMATEX.


The memory for all DirectX structures must be initialized to 0 before use. In addition, all structures that contain a dwSize member must set the member to the size of the structure, in bytes, before use. The following example performs these tasks on a common structure, DSCAPS:

 DSCAPS dscaps;   ZeroMemory(&dscaps, sizeof(dscaps)); dscaps.dwSize = sizeof(dscaps);