PFREE_DMA_ENGINE fonction de rappel (hdaudio.h)

La FreeDmaEngine routine libère un moteur DMA précédemment alloué par un appel à AllocateCaptureDmaEngine ou AllocateRenderDmaEngine.

Le type de pointeur de fonction pour une FreeDmaEngine routine est défini comme suit.

Syntaxe

PFREE_DMA_ENGINE PfreeDmaEngine;

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

Paramètres

[in] _context

Spécifie la valeur de contexte du membre Context du HDAUDIO_BUS_INTERFACE, de la structure HDAUDIO_BUS_INTERFACE_V2 ou HDAUDIO_BUS_INTERFACE_BDL .

[in] Handle

Gérer l’identification du moteur DMA. Cette valeur de handle a été obtenue à partir d’un appel précédent à AllocateCaptureDmaEngine ou AllocateRenderDmaEngine.

Valeur retournée

FreeDmaEngine retourne STATUS_SUCCESS si l’appel réussit à libérer le moteur DMA. Sinon, la routine retourne un code d’erreur approprié. Le tableau suivant présente certains des codes de retour possibles status.

Code de retour Description
STATUS_INVALID_HANDLE
Indique que la valeur du paramètre handle n’est pas valide.
STATUS_INVALID_DEVICE_REQUEST
Indique que le flux n’est pas dans l’état de réinitialisation ou qu’une mémoire tampon est toujours allouée au moteur DMA.

Remarques

Cette routine libère un moteur DMA précédemment réservé par un appel à la routine AllocateCaptureDmaEngine ou AllocateRenderDmaEngine .

Cette routine échoue et retourne le code d’erreur STATUS_INVALID_DEVICE_REQUEST dans l’une des circonstances suivantes :

  • Aucune mémoire tampon DMA précédemment allouée n’a été libérée (en appelant FreeDmaBuffer ou FreeContiguousDmaBuffer).
  • Le flux est dans un état différent de la réinitialisation.
Un pilote audio appelle cette routine pour fermer la broche (et détruire le flux).

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête hdaudio.h (inclure Hdaudio.h)
IRQL <=DISPATCH_LEVEL

Voir aussi

AllocateCaptureDmaEngine

AllocateRenderDmaEngine

FreeContiguousDmaBuffer

FreeDmaBuffer

HDAUDIO_BUS_INTERFACE

HDAUDIO_BUS_INTERFACE_BDL

HDAUDIO_BUS_INTERFACE_V2