你可以使用IDirectSoundCaptureBuffer8::GetCaps方法獲取"捕捉緩沖 區"的大小。在使用 DSCBCAPS 結構體做為參數傳遞前,確保已經對該結構 體的 dwSize 成員進行了初始化。
想要獲取緩沖區創建時的格式信息,可以調用 IDirectSoundCaptureBuffer8::GetFormat方法。該方法以一個WAVEFORMATEX結 構體的形式返回格式信息。
注意:你的應用程序能夠允許因第一次使用NULL作為 pwfxFormat 參數調用 這個 GetFormat 方法時 WAVEFORMATEX 結構體中存在額外的格式信息。在這種 情況下,由 lpdwSizeWritten 參數所指向的 DWORD 需要完整的格式信息才能接 收到這個結構體的大小。
想要探知一個捕捉緩沖區當前正在處理的操作,可以調用 IDirectSoundCaptureBuffer8::GetStatus方法。這個方法利用相結合的標志位 來填充一個 DWORD 類型的變量。這些標志位用於表明緩沖區當前是否忙於捕捉 ,如果是的話,那麼是否循環;如果循環,那麼在最後一次調用 IDirectSoundCaptureBuffer8::Start方法時 DSCBSTART_LOOPING 標志是否被設 置。
IDirectSoundCaptureBuffer8::GetCurrentPosition 方法返回讀指針和捕捉 指針在緩沖區內的偏移量。讀指針位於當前已經被完全捕捉到緩沖區的數據末尾 。捕捉指針位於當前將要從硬件中復制的數據塊的末尾。你可以安全地從小於讀 指針偏移量的緩沖區中拷貝數據。