Поделиться через


функция обратного вызова PHDAUDIO_BDL_ISR (hdaudio.h)

Подпрограмма HDAudioBdlIsr — это ISR, которую драйвер шины HD Audio вызывает при каждом прерывании IOC в потоке. Это указатель функции типа PHDAUDIO_BDL_ISR, который определяется следующим образом.

Синтаксис

PHDAUDIO_BDL_ISR PhdaudioBdlIsr;

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

Параметры

[in] Context

Драйвер шины HD Audio вызывает ISR с тем же значением контекста, которое указано клиентом в параметре контекста предыдущего вызова SetupDmaEngineWithBdl. Дополнительные сведения см. в разделе PSETUP_DMA_ENGINE_WITH_BDL.

[in] InterruptBitMask

Параметр interruptBitMask содержит биты из регистра состояния потока устройства контроллера HD Audio, указывающие причину прерывания. В следующей таблице показано значение отдельных битов в элементе interruptBitMask.

Битовые числа Значение
31:5 Не используется.
4 Ошибка дескриптора (DESE). Если во время выборки дескриптора буфера возникает ошибка, то контроллер HD Audio устанавливает бит DESE в значение 1.
3 Ошибка FIFO (FIFOE). Если возникает ошибка FIFO (переполнение выходного потока или недостаточное выполнение во входном потоке), контроллер HD Audio устанавливает бит FIFOE в значение 1.
2 Состояние прерывания завершения буфера (BCIS). Если бит IOC имеет значение 1 в байте команды дескриптора буфера, то контроллер HD Audio устанавливает бит BCIS в значение 1 после обработки последней выборки буфера.
1:0 Не используется.

Драйвер шины HD Audio устанавливает неиспользуемые биты равным нулю. Вместо того чтобы предполагать, что произошло прерывание IOC, ISR всегда должен проверка параметр interruptBitMask, чтобы определить, произошла ли ошибка потока. Дополнительные сведения о битах состояния прерывания, показанных в предыдущей таблице, см. в описании регистров состояния потока в спецификации Intel High Definition Audio.

Размер FIFO — это максимальное количество байтов, которое подсистема DMA может хранить во внутреннем буфере в любой момент времени.

В зависимости от аппаратной реализации размер FIFO подсистемы DMA может быть статическим или динамически изменяться в зависимости от изменений формата потока. Дополнительные сведения о размере FIFO см. в спецификации Intel High Definition Audio.

Возвращаемое значение

None

Remarks

Вызывающий объект должен выделить буферную память и BDL из непагрегированного пула.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть hdaudio.h (включая Hdaudio.h)
IRQL DIRQL

См. также раздел

PSETUP_DMA_ENGINE_WITH_BDL

hdaudio.h