PFREE_DMA_ENGINE Rückruffunktion (hdaudio.h)
Die FreeDmaEngine
Routine gibt eine DMA-Engine frei, die zuvor durch einen Aufruf von AllocateCaptureDmaEngine oder AllocateRenderDmaEngine zugeordnet wurde.
Der Funktionszeigertyp für eine FreeDmaEngine
Routine ist wie folgt definiert.
Syntax
PFREE_DMA_ENGINE PfreeDmaEngine;
NTSTATUS PfreeDmaEngine(
[in] PVOID _context,
[in] HANDLE Handle
)
{...}
Parameter
[in] _context
Gibt den Kontextwert aus dem Context-Element der HDAUDIO_BUS_INTERFACE, der HDAUDIO_BUS_INTERFACE_V2 oder HDAUDIO_BUS_INTERFACE_BDL-Struktur an.
[in] Handle
Behandeln Sie die Identifizierung der DMA-Engine. Dieser Handlewert wurde aus einem vorherigen Aufruf von AllocateCaptureDmaEngine oder AllocateRenderDmaEngine abgerufen.
Rückgabewert
FreeDmaEngine
gibt STATUS_SUCCESS zurück, wenn der Aufruf die DMA-Engine erfolgreich freigeben kann. Andernfalls gibt die Routine einen geeigneten Fehlercode zurück. In der folgenden Tabelle sind einige der möglichen Rückgabecodes status aufgeführt.
Rückgabecode | Beschreibung |
---|---|
|
Gibt an, dass der Handle-Parameterwert ungültig ist. |
|
Gibt an, dass sich der Stream nicht im Zurücksetzungszustand befindet oder dass der DMA-Engine noch ein Puffer zugeordnet ist. |
Hinweise
Diese Routine gibt eine DMA-Engine frei, die zuvor durch einen Aufruf der AllocateCaptureDmaEngine- oder AllocateRenderDmaEngine-Routine reserviert wurde.
Diese Routine schlägt fehl und gibt den Fehlercode STATUS_INVALID_DEVICE_REQUEST in einem der folgenden Situationen zurück:
- Alle zuvor zugeordneten DMA-Puffer wurden nicht freigegeben (durch Aufrufen von FreeDmaBuffer oder FreeContiguousDmaBuffer).
- Der Stream befindet sich in einem anderen Zustand als "Zurücksetzen".
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | hdaudio.h (hdaudio.h einschließen) |
IRQL | <=DISPATCH_LEVEL |