PHDAUDIO_BDL_ISR Rückruffunktion (hdaudio.h)
Die HDAudioBdlIsr-Routine ist der ISR, den der HD-Audiobustreiber jedes Mal aufruft, wenn ein IOC-Interrupt im Stream auftritt. Es handelt sich um einen Funktionszeiger vom Typ PHDAUDIO_BDL_ISR, der wie folgt definiert ist.
Syntax
PHDAUDIO_BDL_ISR PhdaudioBdlIsr;
void PhdaudioBdlIsr(
[in] VOID *Context,
[in] ULONG InterruptBitMask
)
{...}
Parameter
[in] Context
Der HD-Audiobustreiber ruft den ISR mit demselben Kontextwert auf, den der Client im Kontextparameter des vorherigen SetupDmaEngineWithBdl-Aufrufs angegeben hat. Weitere Informationen finden Sie unter PSETUP_DMA_ENGINE_WITH_BDL.
[in] InterruptBitMask
Der parameter interruptBitMask enthält die Bits aus dem Streamstatus des HD-Audiocontrollergeräts, das den Grund für den Interrupt angibt. Die folgende Tabelle zeigt die Bedeutung der einzelnen Bits in interruptBitMask.
Bitnummern | Bedeutung |
---|---|
31:5 | Unbenutzt. |
4 | Deskriptorfehler (DESE). Wenn beim Abrufen eines Pufferdeskriptors ein Fehler auftritt, legt der HD-Audiocontroller das DESE-Bit auf 1 fest. |
3 | FIFO-Fehler (FIFOE). Wenn ein FIFO-Fehler auftritt (ein Überlauf für einen Ausgabedatenstrom oder einen Unterlauf für einen Eingabedatenstrom), legt der HD-Audiocontroller das FIFOE-Bit auf 1 fest. |
2 | Pufferabschluss-Interruptstatus (BCIS). Wenn das IOC-Bit im Befehlsbyte des Pufferdeskriptors auf 1 festgelegt ist, legt der HD-Audiocontroller das BCIS-Bit auf 1 fest, nachdem das letzte Beispiel eines Puffers verarbeitet wurde. |
1:0 | Unbenutzt. |
Der HD-Audiobustreiber legt die nicht verwendeten Bits auf Null fest. Anstatt davon auszugehen, dass ein IOC-Interrupt aufgetreten ist, muss der ISR immer den parameter interruptBitMask überprüfen, um festzustellen, ob ein Datenstromfehler aufgetreten ist. Weitere Informationen zu den unterbrechungsstatusbits, die in der vorherigen Tabelle angezeigt werden, finden Sie in der Beschreibung des Streamstatusregisters in der Intel High Definition Audio Specification.
Die FIFO-Größe ist die maximale Anzahl von Bytes, die das DMA-Modul jederzeit im internen Puffer enthalten kann.
Je nach Hardwareimplementierung kann die FIFO-Größe eines DMA-Moduls statisch sein oder dynamisch mit Änderungen im Datenstromformat variieren. Weitere Informationen zur FIFO-Größe finden Sie in der Intel High Definition Audio Specification.
Rückgabewert
Nichts
Bemerkungen
Der Aufrufer muss den Pufferspeicher und die BDL aus dem nicht ausgelagerten Pool zuordnen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Desktop |
Header- | hdaudio.h (einschließlich Hdaudio.h) |
IRQL- | DIRQL |