PFREE_DMA_ENGINE funzione di callback (hdaudio.h)
La routine FreeDmaEngine
libera un motore DMA allocato in precedenza da una chiamata a AllocateCaptureDmaEngine o AllocateRenderDmaEngine.
Il tipo di puntatore di funzione per una routine FreeDmaEngine
è definito come segue.
Sintassi
PFREE_DMA_ENGINE PfreeDmaEngine;
NTSTATUS PfreeDmaEngine(
[in] PVOID _context,
[in] HANDLE Handle
)
{...}
Parametri
[in] _context
Specifica il valore di contesto del membro context del HDAUDIO_BUS_INTERFACE, la struttura HDAUDIO_BUS_INTERFACE_V2 o HDAUDIO_BUS_INTERFACE_BDL.
[in] Handle
Gestire l'identificazione del motore DMA. Questo valore di handle è stato ottenuto da una chiamata precedente a AllocateCaptureDmaEngine o AllocateRenderDmaEngine.
Valore restituito
FreeDmaEngine
restituisce STATUS_SUCCESS se la chiamata riesce a liberare il motore DMA. In caso contrario, la routine restituisce un codice di errore appropriato. La tabella seguente illustra alcuni dei possibili codici di stato restituiti.
Codice restituito | Descrizione |
---|---|
|
Indica che l'handle valore del parametro non è valido. |
|
Indica che il flusso non è nello stato di reimpostazione o che un buffer è ancora allocato per il motore DMA. |
Osservazioni
Questa routine libera un motore DMA precedentemente riservato da una chiamata alla routine AllocateCaptureDmaEngine o AllocateRenderDmaEngine.
Questa routine ha esito negativo e restituisce il codice di errore STATUS_INVALID_DEVICE_REQUEST in una delle circostanze seguenti:
- Qualsiasi buffer DMA allocato in precedenza non è stato liberato (chiamando FreeDmaBuffer o FreeContiguousDmaBuffer).
- Il flusso è in uno stato diverso da reset.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Desktop |
intestazione | hdaudio.h (include Hdaudio.h) |
IRQL | <=DISPATCH_LEVEL |