IDirectSoundBuffer::GetCaps

HRESULT GetCaps(LPDSBCAPS lpDSBufferCaps);

Retrieves the capabilities of the DirectSoundBuffer object.

·Returns DS_OK if successful, or DSERR_INVALIDPARAM otherwise.

lpDSBufferCaps

Address of a DSBCAPS structure to contain the capabilities of this sound buffer.

The DSBCAPS structure contains similar information to the DSBUFFERDESC structure passed to the IDirectSound::CreateSoundBuffer method, with some additional information. This additional information can include the buffer's location, either in hardware or software, and some cost measures. Examples of cost measures include the time it takes to download to a hardware buffer and the processing overhead required to mix and play the buffer when it is in the system memory.

The flags specified in the dwFlags member of the DSBCAPS structure are the same flags used by the DSBUFFERDESC structure. The only difference is that in the DSBCAPS structure, either DSBCAPS_LOCHARDWARE or DSBCAPS_LOCSOFTWARE will be specified according to the location of the buffer memory. In the DSBUFFERDESC structure, these flags are optional and, depending on which flag is specified, force the buffer to be located in either hardware or software.