Partager via


PFREE_DMA_BUFFER_WITH_NOTIFICATION fonction de rappel (hdaudio.h)

La routine FreeDmaBufferWithNotification 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 le MDL de la mémoire tampon. 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 de retour

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.

Retourner le code Description
STATUS_UNSUCCESSFUL
Indique que l’appelant est en cours d’exécution à un irQL trop élevé.
STATUS_INVALID_HANDLE
Indique que la valeur du paramètre de 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 pour le moteur DMA.

Remarques

La routine FreeDmaBufferWithNotification 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 s’exécuter à l’PASSIVE_LEVEL IRQL.

Exigences

Exigence Valeur
client minimum pris en charge Disponible dans Windows Vista et versions ultérieures de Windows.
plateforme cible Bureau
d’en-tête hdaudio.h (include Hdaudio.h)
IRQL PASSIVE_LEVEL

Voir aussi

AllocateCaptureDmaEngine

AllocateDmaBufferWithNotification

AllocateRenderDmaEngine

HDAUDIO_BUS_INTERFACE_V2