// ksmedia.h
typedef struct {
ULONG Flags;
ULONG Control;
WAVEFORMATEX WaveFormatEx;
} KSDSOUND_BUFFERDESC, *PKSDSOUND_BUFFERDESC;
View the official Windows Driver Kit DDI referenceNo description available.
The KSDSOUND_BUFFERDESC structure describes a DirectSound buffer.
FlagsSpecifies the buffer configuration. This member can be set to the bitwise OR of one or more of the following flag bits:
Indicates that the buffer is a primary sound buffer (the buffer the user hears when a game is playing).
Indicates that the buffer will be used for static sound data.
Forces the buffer to use hardware mixing.
Forces the buffer to be stored in system memory and use software mixing.
ControlSpecifies the capabilities of the buffer. The capabilities of a buffer are represented by a set of control flags. This member can be set to the bitwise OR of one or more of the following flag bits:
Indicates that the buffer is either a primary buffer or a secondary buffer with 3D-control capability. If this bit is set, the KS pin representing the buffer implements a 3D node (KSNODETYPE_3D_EFFECTS). If the KSDSOUND_BUFFER_CTRL_HRTF_3D bit is set, the 3D node supports the optional KSPROPSETID_Hrtf3d property set.
Indicates that the buffer has frequency-control capability. If this bit is set, the pin representing the buffer implements a sample-rate conversion (KSNODETYPE_SRC) node.
Indicates that the buffer uses a head-related transfer function (HRTF) for 3D control. If this bit is set, then the KSDSOUND_BUFFER_CTRL_3D bit must also be set.
Indicates that the buffer has pan-control capability. If this bit is set, the pin representing the buffer implements a volume node (KSNODETYPE_VOLUME) to control panning. For more information, see DirectSound Node-Ordering Requirements.
Indicates that the buffer has volume-control capability. If this bit is set, the pin representing the buffer implements a volume node (KSNODETYPE_VOLUME) to control the stream's volume level.
Indicates that the buffer has position-notification capability. If this bit is set, the pin representing the buffer supports the KSPROPERTY_AUDIO_POSITION property.
WaveFormatExSpecifies the wave-data format of the buffer. This member is a structure of type WAVEFORMATEX.
The KSDATAFORMAT_DSOUND structure contains a BufferDesc member that is a KSDSOUND_BUFFERDESC structure.
Note that the WaveFormatEx member of the KSDSOUND_BUFFERDESC structure can be extended to include additional format information (for example, a channel configuration mask). For details, see WAVEFORMATEXTENSIBLE.