The Unlock method unlocks the buffer.
HRESULT Unlock( LPVOID pvAudioPtr1, DWORD dwAudioBytes1, LPVOID pvAudioPtr2, DWORD dwAudioBytes2 );
If the method succeeds, the return value is DS_OK. If the method fails, the return value may be one of the following values:
Return code |
DSERR_INVALIDPARAM |
DSERR_INVALIDCALL |
An application must pass both pointers, pvAudioPtr1 and pvAudioPtr2, returned by the IDirectSoundCaptureBuffer8::Lock method to ensure the correct pairing of IDirectSoundCaptureBuffer8::Lock and IDirectSoundCaptureBuffer8::Unlock. The second pointer is needed even if zero bytes were written to the second pointer.
The values in dwAudioBytes1 and dwAudioBytes2 must specify the number of bytes actually read from each part of the buffer, which might be less than the size of the lock. DirectSound uses these values to determine how much data to transfer from the device.
Make sure that the capture buffer does not remain locked for long periods of time.
Header: Declared in Dsound.h.
Import Library: Use Dsound3d.dll.