Partager via


PFREE_MAP_REGISTERS fonction de rappel (wdm.h)

La routine FreeMapRegisters publie un ensemble de registres de carte qui ont été enregistrés à partir d’un appel à AllocateAdapterChannel.

Syntaxe

PFREE_MAP_REGISTERS PfreeMapRegisters;

void PfreeMapRegisters(
  [in] PDMA_ADAPTER DmaAdapter,
  [in] PVOID MapRegisterBase,
  [in] ULONG NumberOfMapRegisters
)
{...}

Paramètres

[in] DmaAdapter

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

[in] MapRegisterBase

Spécifie les registres cartographiques alloués à l’opération DMA. Le système transmet cette valeur à la routine AdapterControl du pilote.

[in] NumberOfMapRegisters

Spécifie le nombre de registres de carte à libérer. Cette valeur doit correspondre au numéro spécifié dans un appel précédent à AllocateAdapterChannel.

Valeur de retour

None

Remarques

FreeMapRegisters n’est pas une routine système qui peut être appelée directement par nom. Cette routine ne peut être appelée que par un pointeur à partir de l’adresse retournée dans une structure DMA_OPERATIONS . Les pilotes obtiennent l’adresse de cette routine en appelant IoGetDmaAdapter.

Lorsque le pilote d’un appareil master bus a terminé la demande de transfert DMA basée sur les paquets actuelle, il appelle FreeMapRegisters pour libérer les registres de carte précédemment alloués par un appel à AllocateAdapterChannel et conservés, car sa routine AdapterControl a renvoyé DeallocateObjectKeepRegisters. Le pilote doit appeler FreeMapRegisters après avoir appelé FlushAdapterBuffers.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 2000.
Plateforme cible Desktop (Expérience utilisateur)
En-tête wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
IRQL DISPATCH_LEVEL
Règles de conformité DDI IrqlDispatch(storport), IrqlDispatch(storport), IrqlDispatch(wdm)

Voir aussi

AllocateAdapterChannel

DMA_ADAPTER

DMA_OPERATIONS

IoGetDmaAdapter

MapTransfer