I've used winmm library to access the waveform information before with syntax like this waveInAddBuffer(hwi, &wh[i], sizeof(WAVEHDR));
So I've to pass the pointer that point to the memory block (&wh[i]) where I want to store the waveform data, In order to access it I just have do this wh[i].lpData
Are there a similar function like this in WASAPI?
It's IAudioCaptureClient::GetBuffer
method:
Retrieves a pointer to the next available packet of data in the capture endpoint buffer.
[…]
BYTE **ppData
Pointer to a pointer variable into which the method writes the starting address of the next data packet that is available for the client to read.
See also:
For a code example that calls the GetBuffer method, see Capturing a Stream.