Condividi tramite


PFREE_DMA_BUFFER_WITH_NOTIFICATION funzione di callback (hdaudio.h)

La routine FreeDmaBufferWithNotification libera un buffer DMA allocato in precedenza da una chiamata a AllocateDmaBufferWithNotification.

Il tipo di puntatore di funzione per una routine FreeDmaBufferWithNotification è definito come segue.

Sintassi

PFREE_DMA_BUFFER_WITH_NOTIFICATION PfreeDmaBufferWithNotification;

NTSTATUS PfreeDmaBufferWithNotification(
  [in] PVOID _context,
  [in] HANDLE Handle,
  [in] PMDL BufferMdl,
  [in] SIZE_T BufferSize
)
{...}

Parametri

[in] _context

Specifica il valore di contesto del membro Context della struttura HDAUDIO_BUS_INTERFACE_V2.

[in] Handle

Handle che identifica il motore DMA. Questo valore di handle è stato ottenuto da una chiamata precedente a AllocateCaptureDmaEngine o AllocateRenderDmaEngine.

[in] BufferMdl

Puntatore al file MDL del buffer. Questo valore è stato ottenuto da una chiamata precedente a AllocateDmaBufferWithNotification.

[in] BufferSize

Dimensione del buffer da liberare. Questo valore è stato ottenuto da una chiamata precedente a AllocateDmaBufferWithNotification.

Valore restituito

FreeDmaBufferWithNotification restituisce STATUS_SUCCESS se la chiamata ha esito positivo. In caso contrario, FreeDmaBufferWithNotification restituisce un codice di errore appropriato. La tabella seguente illustra alcuni dei possibili codici di errore restituiti.

Codice restituito Descrizione
STATUS_UNSUCCESSFUL
Indica che il chiamante è in esecuzione in un runtime di integrazione troppo elevato.
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 non è attualmente allocato alcun buffer per il motore DMA.

Osservazioni

La routine FreeDmaBufferWithNotification viene utilizzata insieme alla routine AllocateDmaBufferWithNotification. Queste due routine sono disponibili solo nella versione HDAUDIO_BUS_INTERFACE_V2 di HD Audio DDI.

I chiamanti di FreeDmaBufferWithNotification devono essere in esecuzione in irQL PASSIVE_LEVEL.

Fabbisogno

Requisito Valore
client minimo supportato Disponibile in Windows Vista e versioni successive di Windows.
piattaforma di destinazione Desktop
intestazione hdaudio.h (include Hdaudio.h)
IRQL PASSIVE_LEVEL

Vedere anche

AllocateCaptureDmaEngine

AllocateDmaBufferWithNotification

AllocateRenderDmaEngine

HDAUDIO_BUS_INTERFACE_V2