PFREE_DMA_BUFFER Rückruffunktion (hdaudio.h)
Die FreeDmaBuffer
Routine gibt einen DMA-Puffer frei, der zuvor durch einen Aufruf von AllocateDmaBufferzugewiesen wurde.
Der Funktionszeigertyp für eine FreeDmaBuffer
Routine wird wie folgt definiert.
Syntax
PFREE_DMA_BUFFER PfreeDmaBuffer;
NTSTATUS PfreeDmaBuffer(
[in] PVOID _context,
[in] HANDLE Handle
)
{...}
Parameter
[in] _context
Gibt den Kontextwert aus dem Context Member des HDAUDIO_BUS_INTERFACE oder der HDAUDIO_BUS_INTERFACE_V2-Struktur an.
[in] Handle
Behandeln Sie die Identifizierung des DMA-Moduls. Dieser Handlewert wurde aus einem vorherigen Aufruf von AllocateCaptureDmaEngine oder AllocateRenderDmaEngineabgerufen.
Rückgabewert
FreeDmaBuffer
gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich ist. Andernfalls gibt die Routine einen geeigneten Fehlercode zurück. In der folgenden Tabelle sind einige der möglichen Rückgabestatuscodes aufgeführt.
Rückgabecode | Beschreibung |
---|---|
|
Gibt an, dass der Aufrufer bei einer IRQL ausgeführt wird, die zu hoch ist. |
|
Gibt an, dass der Handle-Parameterwert ungültig ist. |
|
Gibt an, dass sich der Datenstrom nicht im Zurücksetzungszustand befindet oder dass derzeit kein Puffer für das DMA-Modul zugeordnet ist. |
Bemerkungen
Die FreeDmaBuffer
Routine wird in Verbindung mit der AllocateDmaBuffer Routine verwendet. Diese beiden Routinen sind nur in der HDAUDIO_BUS_INTERFACE Version des HD Audio DDI verfügbar. Dieser DDI enthält nicht die AllocateContiguousDmaBuffer, SetupDmaEngineWithBdlund FreeContiguousDmaBuffer Routinen, die nie in Verbindung mit AllocateDmaBuffer und FreeDmaBuffer
verwendet werden. Im Gegensatz zu SetupDmaEngineWithBdl, das das DMA-Modul für die Verwendung eines zuvor zugewiesenen DMA-Puffers konfiguriert, AllocateDmaBuffer beide einen DMA-Puffer zuordnet und das DMA-Modul für die Verwendung des Puffers konfiguriert.
Die Routine schlägt fehl und gibt fehlercode STATUS_INVALID_DEVICE_REQUEST in einem der folgenden Situationen zurück:
-
Der Client ruft
FreeDmaBuffer
auf, wenn derzeit kein Puffer für das DMA-Modul zugeordnet ist. - Der Datenstrom befindet sich in einem anderen Zustand als "Zurücksetzen".
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Desktop |
Header- | hdaudio.h (einschließlich Hdaudio.h) |
IRQL- | PASSIVE_LEVEL |