Condividi tramite


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
STATUS_INVALID_HANDLE
Indica che l'handle valore del parametro non è valido.
STATUS_INVALID_DEVICE_REQUEST
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:

Un driver audio chiama questa routine per chiudere il pin (e distruggere il flusso).

Fabbisogno

Requisito Valore
piattaforma di destinazione Desktop
intestazione hdaudio.h (include Hdaudio.h)
IRQL <=DISPATCH_LEVEL

Vedere anche

AllocateCaptureDmaEngine

AllocateRenderDmaEngine

FreeContiguousDmaBuffer

FreeDmaBuffer

HDAUDIO_BUS_INTERFACE

HDAUDIO_BUS_INTERFACE_BDL

HDAUDIO_BUS_INTERFACE_V2