共用方式為


PHDAUDIO_BDL_ISR hdaudio.h) (回呼函式

HDAudioBdlIsr 例程是 HD 音訊總線驅動程式每次在串流上發生 IOC 中斷時所呼叫的 ISR。 它是類型為 PHDAUDIO_BDL_ISR 的函式指標,其定義如下。

語法

PHDAUDIO_BDL_ISR PhdaudioBdlIsr;

void PhdaudioBdlIsr(
  [in] VOID *Context,
  [in] ULONG InterruptBitMask
)
{...}

參數

[in] Context

HD 音訊總線驅動程式會呼叫 ISR,其內容值與先前 SetupDmaEngineWithBdl 呼叫的內容參數中指定的用戶端相同。 如需詳細資訊,請參閱 PSETUP_DMA_ENGINE_WITH_BDL

[in] InterruptBitMask

interruptBitMask 參數包含來自 HD 音訊控制器裝置數據流狀態緩存器的位,指出中斷的原因。 下表顯示 interruptBitMask 中個別位的意義。

位數位 意義
31:5 未使用的。
4 描述項錯誤 (DESE) 。 如果在擷取緩衝區描述元期間發生錯誤,HD 音訊控制器會將 DESE 位設定為 1。
3 FIFO 錯誤 (FIFOE) 。 如果 FIFO 錯誤發生 (輸出數據流上的滿溢或輸入數據流) 不足,則 HD 音訊控制器會將 FIFOE 位設定為 1。
2 緩衝區完成中斷狀態 (BCIS) 。 如果在緩衝區描述元的命令位元組中將IOC位設定為1,則HD Audio控制器會在處理緩衝區的最後一個樣本之後,將BCIS位設定為1。
1:0 未使用的。

HD 音訊總線驅動程式會將未使用的位設定為零。 ISR 必須一律檢查 interruptBitMask 參數,以判斷是否發生數據流錯誤,而不是假設發生 IOC 中斷。 如需上表所示中斷狀態位的詳細資訊,請參閱 Intel 高階音訊規格中的串流狀態緩存器描述。

FIFO 大小是 DMA 引擎可以隨時在其內部緩衝區中保存的最大位元元組數目。

視硬體實作而定,DMA 引擎的 FIFO 大小可以是靜態的,或隨著數據流格式變更而動態改變。 如需 FIFO 大小的詳細資訊,請參閱 Intel 高畫質音訊規格。

傳回值

備註

呼叫端必須從非分頁集區配置緩衝區內存和 BDL。

規格需求

需求
目標平台 桌面
標頭 hdaudio.h (包含 Hdaudio.h)
IRQL DIRQL

另請參閱

PSETUP_DMA_ENGINE_WITH_BDL

hdaudio.h