Condividi tramite


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 indicato di seguito.

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 setupDmaEngineWithBdl precedente. Per altre informazioni, vedere PSETUP_DMA_ENGINE_WITH_BDL.

[in] InterruptBitMask

Il parametro interruptBitMask contiene i bit dal registro di stato del dispositivo del controller audio HD che indica il motivo dell'interrupt. La tabella seguente illustra il significato dei singoli bit in interruptBitMask.

Numeri di bit Significato
31:5 Non utilizzato.
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 di comando del descrittore di buffer, il controller audio HD imposta il bit BCIS su 1 dopo l'elaborazione dell'ultimo campione di un buffer.
1:0 Non utilizzato.

Il driver del bus audio HD imposta i bit inutilizzati su zero. Invece di presupporre 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 interruzione mostrati nella tabella precedente, vedere la descrizione dei registri di stato del flusso nella specifica audio intel ad alta definizione.

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 variare in modo dinamico 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.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione hdaudio.h (include Hdaudio.h)
IRQL DIRQL

Vedi anche

PSETUP_DMA_ENGINE_WITH_BDL

hdaudio.h