The IDirectSound::Compact method moves the unused portions of on-board sound memory, if any, to a contiguous block so that the largest portion of free memory will be available.
HRESULT Compact();
None.
If the method succeeds, the return value is DS_OK.
If the method fails, the return value may be one of the following error values:
DSERR_INVALIDPARAM
DSERR_PRIOLEVELNEEDED
DSERR_UNINITIALIZED
If the application calls this method, it must have exclusive cooperation with the DirectSound object. (To get exclusive access, specify DSSCL_EXCLUSIVE in a call to the IDirectSound::SetCooperativeLevel method.) This method will fail if any operations are in progress.