PHDAUDIO_BDL_ISR função de retorno de chamada (hdaudio.h)
A rotina HDAudioBdlIsr é a ISR que o motorista do barramento de áudio HD chama sempre que ocorre uma interrupção do COI no fluxo. É um ponteiro de função do tipo PHDAUDIO_BDL_ISR, que é definido da seguinte maneira.
Sintaxe
PHDAUDIO_BDL_ISR PhdaudioBdlIsr;
void PhdaudioBdlIsr(
[in] VOID *Context,
[in] ULONG InterruptBitMask
)
{...}
Parâmetros
[in] Context
O driver do barramento de áudio HD chama o ISR com o mesmo valor de contexto especificado pelo cliente no parâmetro de contexto da chamada SetupDmaEngineWithBdl anterior. Para obter mais informações, consulte PSETUP_DMA_ENGINE_WITH_BDL.
[in] InterruptBitMask
O parâmetro interruptBitMask contém os bits do registro de status de fluxo do dispositivo do controlador de áudio HD que indicam o motivo da interrupção. A tabela a seguir mostra o significado dos bits individuais em interruptBitMask.
Números de bits | Significado |
---|---|
31:5 | Utilizadas. |
4 | Erro do descritor (DESE). Se ocorrer um erro durante a busca de um descritor de buffer, o controlador de áudio HD definirá o bit DESE como 1. |
3 | ERRO FIFO (FIFOE). Se ocorrer um erro FIFO (uma sobrecarga em um fluxo de saída ou uma subexecução em um fluxo de entrada), o controlador de áudio HD definirá o bit FIFOE como 1. |
2 | Status de interrupção da conclusão do buffer (BCIS). Se o bit IOC estiver definido como 1 no byte de comando do descritor de buffer, o controlador de áudio HD definirá o bit BCIS como 1 depois que o último exemplo de um buffer for processado. |
1:0 | Utilizadas. |
O driver do barramento de áudio HD define os bits não utilizados como zero. Em vez de assumir que ocorreu uma interrupção do COI, o ISR sempre deve verificar o parâmetro interruptBitMask para determinar se ocorreu um erro de fluxo. Para obter mais informações sobre os bits de status de interrupção mostrados na tabela anterior, consulte a descrição dos registros de status do fluxo na Especificação de Áudio de Alta Definição da Intel.
O tamanho fifo é o número máximo de bytes que o mecanismo DMA pode manter em seu buffer interno a qualquer momento.
Dependendo da implementação de hardware, o tamanho FIFO de um mecanismo DMA pode ser estático ou variar dinamicamente com alterações no formato de fluxo. Para obter mais informações sobre o tamanho do FIFO, consulte a Especificação de Áudio de Alta Definição da Intel.
Valor de retorno
Nenhum
Observações
O chamador deve alocar a memória do buffer e o BDL do pool nãopagado.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Área de trabalho |
cabeçalho | hdaudio.h (inclua Hdaudio.h) |
IRQL | DIRQL |