PFREE_DMA_ENGINE funzione di callback (hdaudio.h)

La FreeDmaEngine routine libera un motore DMA allocato in precedenza da una chiamata a AllocateCaptureDmaEngine o AllocateRenderDmaEngine.

Il tipo di puntatore alla funzione per una FreeDmaEngine routine è definito come indicato di seguito.

Sintassi

PFREE_DMA_ENGINE PfreeDmaEngine;

NTSTATUS PfreeDmaEngine(
  [in] PVOID _context,
  [in] HANDLE Handle
)
{...}

Parametri

[in] _context

Specifica il valore di contesto dal membro Contesto della HDAUDIO_BUS_INTERFACE, dalla 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 mostra alcuni dei possibili codici di stato restituiti.

Codice restituito Descrizione
STATUS_INVALID_HANDLE
Indica che il valore del parametro handle 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.

Commenti

Questa routine libera un motore DMA riservato in precedenza 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 precedentemente allocato non è stato liberato (chiamando FreeDmaBuffer o FreeContiguousDmaBuffer).
  • Il flusso si trova in uno stato diverso da reimpostazione.
Un driver audio chiama questa routine per chiudere il pin (e distruggere il flusso).

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione hdaudio.h (includere Hdaudio.h)
IRQL <=DISPATCH_LEVEL

Vedi anche

AllocateCaptureDmaEngine

AllocateRenderDmaEngine

FreeContiguousDmaBuffer

FreeDmaBuffer

HDAUDIO_BUS_INTERFACE

HDAUDIO_BUS_INTERFACE_BDL

HDAUDIO_BUS_INTERFACE_V2