Partager via


PFREE_DMA_BUFFER_WITH_NOTIFICATION fonction de rappel (hdaudio.h)

La FreeDmaBufferWithNotification routine libère une mémoire tampon DMA précédemment allouée par un appel à AllocateDmaBufferWithNotification.

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

Syntaxe

PFREE_DMA_BUFFER_WITH_NOTIFICATION PfreeDmaBufferWithNotification;

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

Paramètres

[in] _context

Spécifie la valeur de contexte du membre Context de la structure HDAUDIO_BUS_INTERFACE_V2 .

[in] Handle

Handle qui identifie le moteur DMA. Cette valeur de handle a été obtenue à partir d’un appel précédent à AllocateCaptureDmaEngine ou AllocateRenderDmaEngine.

[in] BufferMdl

Pointeur vers la mémoire tampon MDL. Cette valeur a été obtenue à partir d’un appel précédent à AllocateDmaBufferWithNotification.

[in] BufferSize

Taille de la mémoire tampon à libérer. Cette valeur a été obtenue à partir d’un appel précédent à AllocateDmaBufferWithNotification.

Valeur retournée

FreeDmaBufferWithNotification retourne STATUS_SUCCESS si l’appel réussit. Sinon, FreeDmaBufferWithNotification retourne un code d’erreur approprié. Le tableau suivant présente certains des codes d’erreur de retour possibles.

Code de retour Description
STATUS_UNSUCCESSFUL
Indique que l’appelant s’exécute sur un IRQL trop élevé.
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’aucune mémoire tampon n’est actuellement allouée au moteur DMA.

Remarques

La FreeDmaBufferWithNotification routine est utilisée avec la routine AllocateDmaBufferWithNotification. Ces deux routines sont disponibles uniquement dans la version HDAUDIO_BUS_INTERFACE_V2 de hd Audio DDI.

Les appelants de FreeDmaBufferWithNotification doivent être en cours d’exécution au PASSIVE_LEVEL IRQL.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows Vista et les versions plus récentes de Windows.
Plateforme cible Desktop (Expérience utilisateur)
En-tête hdaudio.h (inclure Hdaudio.h)
IRQL PASSIVE_LEVEL

Voir aussi

AllocateCaptureDmaEngine

AllocateDmaBufferWithNotification

AllocateRenderDmaEngine

HDAUDIO_BUS_INTERFACE_V2