Lire en anglais

Partager via


PFREE_COMMON_BUFFER fonction de rappel (wdm.h)

La routine FreeCommonBuffer libère une mémoire tampon commune allouée par AllocateCommonBuffer, ainsi que toutes les ressources utilisées par la mémoire tampon.

Syntaxe

C++
PFREE_COMMON_BUFFER PfreeCommonBuffer;

void PfreeCommonBuffer(
  [in] PDMA_ADAPTER DmaAdapter,
  [in] ULONG Length,
  [in] PHYSICAL_ADDRESS LogicalAddress,
  [in] PVOID VirtualAddress,
  [in] BOOLEAN CacheEnabled
)
{...}

Paramètres

[in] DmaAdapter

Pointeur vers la structure DMA_ADAPTER retournée par IoGetDmaAdapter qui représente l’adaptateur maître de bus ou le contrôleur DMA.

[in] Length

Spécifie le nombre d’octets à libérer.

[in] LogicalAddress

Spécifie l’adresse logique de la plage de mémoire allouée.

[in] VirtualAddress

Pointeur vers l’adresse virtuelle correspondante de la plage de mémoire allouée.

[in] CacheEnabled

Indique si la mémoire allouée est mise en cache.

Valeur de retour

Aucun

Remarques

FreeCommonBuffer n’est pas une routine système qui peut être appelée directement par nom. Cette routine est appelante uniquement par le pointeur de l’adresse retournée dans une structure DMA_OPERATIONS. Les pilotes obtiennent l’adresse de cette routine en appelant IoGetDmaAdapter.

Pour libérer une mémoire tampon commune, un pilote appelle FreeCommonBuffer pour annuler le mappage de ses adresses logiques et virtuelles. Les paramètres passés à FreeCommonBuffer doivent correspondre exactement à ceux passés à AllocateCommonBuffer. Un pilote ne peut pas libérer une partie d’une mémoire tampon commune allouée.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows 2000.
plateforme cible Bureau
d’en-tête wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
IRQL PASSIVE_LEVEL
règles de conformité DDI irqlDispatch(wdm)

Voir aussi

AllocateCommonBuffer

DMA_ADAPTER

DMA_OPERATIONS

IoGetDmaAdapter