WASAPI
read待ち/write済みバッファ長確認 - IAudioClient::GetCurrentPadding
パケットバッファ取得/ロック - IAudioCaptureClient::GetBuffer/IAudioRenderClient::GetBuffer
read/write - 取得したアドレスへのread/write
解放/送出 - IAudioCaptureClient::ReleaseBuffer/IAudioRenderClient::ReleaseBuffer
このように、WASAPIはクライアントとエンドポイントバッファ間のデータ転送を簡潔に記述できる。高レベルAPIと異なりバッファ取得を明示的に都度おこなうため、read/writeされるデータ量や転送頻度の調整を柔軟にプログラムできる。また初期化時の設定により排他モード/共有モード、バッファ全長、デバイス動作周期など、Windows OSが提供するストリーム管理の様々な側面を調整できる。