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 |
---|---|
|
Indique que la valeur du paramètre handle n’est pas valide. |
|
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.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | hdaudio.h (inclure Hdaudio.h) |
IRQL | <=DISPATCH_LEVEL |