PHDAUDIO_BDL_ISR funzione di callback (hdaudio.h)
La routine HDAudioBdlIsr è l'ISR che il driver del bus audio HD chiama ogni volta che si verifica un interrupt IOC nel flusso. Si tratta di un puntatore a funzione di tipo PHDAUDIO_BDL_ISR, definito come segue.
Sintassi
PHDAUDIO_BDL_ISR PhdaudioBdlIsr;
void PhdaudioBdlIsr(
[in] VOID *Context,
[in] ULONG InterruptBitMask
)
{...}
Parametri
[in] Context
Il driver del bus audio HD chiama l'ISR con lo stesso valore di contesto specificato dal client nel parametro di contesto della chiamata precedente SetupDmaEngineWithBdl. Per altre informazioni, vedere PSETUP_DMA_ENGINE_WITH_BDL.
[in] InterruptBitMask
Il parametro interruptBitMask contiene i bit del registro di stato del dispositivo del controller audio HD che indicano il motivo dell'interrupt. La tabella seguente illustra il significato dei singoli bit in interruptBitMask.
Numeri di bit | Significato |
---|---|
31:5 | Inutilizzato. |
4 | Errore del descrittore (DESE). Se si verifica un errore durante il recupero di un descrittore di buffer, il controller audio HD imposta il bit DESE su 1. |
3 | Errore FIFO (FIFOE). Se si verifica un errore FIFO (un overrun in un flusso di output o un sottorun in un flusso di input), il controller AUDIO HD imposta il bit FIFOE su 1. |
2 | Stato di interruzione del completamento del buffer (BCIS). Se il bit IOC è impostato su 1 nel byte del descrittore del buffer, il controller audio HD imposta il bit BCIS su 1 dopo l'elaborazione dell'ultimo campione di un buffer. |
1:0 | Inutilizzato. |
Il driver del bus audio HD imposta i bit inutilizzati su zero. Invece di presumere che si sia verificato un interrupt IOC, l'ISR deve sempre controllare il parametro interruptBitMask per determinare se si è verificato un errore del flusso. Per altre informazioni sui bit di stato di interrupt illustrati nella tabella precedente, vedere la descrizione dei registri di stato del flusso in Intel High Definition Audio Specification.For more information about the interrupt status bits shown in the precedente table, see the description of the stream status registers in the Intel High Definition Audio Specification.
Le dimensioni FIFO sono il numero massimo di byte che il motore DMA può contenere nel buffer interno in qualsiasi momento.
A seconda dell'implementazione hardware, le dimensioni FIFO di un motore DMA possono essere statiche o variano dinamicamente con le modifiche nel formato del flusso. Per altre informazioni sulle dimensioni FIFO, vedere La specifica audio intel ad alta definizione.
Valore restituito
Nessuno
Osservazioni
Il chiamante deve allocare la memoria del buffer e BDL dal pool non di paging.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Desktop |
intestazione | hdaudio.h (include Hdaudio.h) |
IRQL | DIRQL |