共用方式為


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音訊控制器會在處理緩衝區的最後一個樣本之後,將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