PHDAUDIO_BDL_ISR função de retorno de chamada (hdaudio.h)
A rotina HDAudioBdlIsr é o ISR que o motorista do barramento de áudio HD chama sempre que ocorre uma interrupção do IOC 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 de 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 fluxo do dispositivo controlador de áudio HD status registro 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 | Não utilizado. |
4 | Descriptor Error (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 | FIFO Error (FIFOE). Se ocorrer um erro FIFO (um estouro em um fluxo de saída ou um subexecutado em um fluxo de entrada), o controlador de áudio HD definirá o bit FIFOE como 1. |
2 | BCIS (Status de Interrupção de Conclusão do Buffer). Se o bit IOC for 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 | Não utilizado. |
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 deve sempre marcar o parâmetro interruptBitMask para determinar se ocorreu um erro de fluxo. Para obter mais informações sobre a interrupção status bits mostrados na tabela anterior, consulte a descrição do fluxo status registros na Especificação de Áudio de Alta Definição da Intel.
O tamanho do FIFO é o número máximo de bytes que o mecanismo de DMA pode conter em seu buffer interno a qualquer momento.
Dependendo da implementação de hardware, o tamanho FIFO de um mecanismo de 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.
Retornar valor
Nenhum
Comentários
O chamador deve alocar a memória do buffer e o BDL do pool nãopagado.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | hdaudio.h (inclua Hdaudio.h) |
IRQL | DIRQL |