Freigeben über


PFREE_MAP_REGISTERS Rückruffunktion (wdm.h)

Die FreeMapRegisters-Routine gibt eine Reihe von Kartenregistern frei, die aus einem Aufruf von AllocateAdapterChannel gespeichert wurden.

Syntax

PFREE_MAP_REGISTERS PfreeMapRegisters;

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

Parameter

[in] DmaAdapter

Zeiger auf die DMA_ADAPTER Struktur, die von IoGetDmaAdapter zurückgegeben wird und den Bus-master-Adapter oder DMA-Controller darstellt.

[in] MapRegisterBase

Gibt die Zuordnungsregister an, die für den DMA-Vorgang zugewiesen sind. Das System übergibt diesen Wert an die AdapterControl-Routine des Treibers.

[in] NumberOfMapRegisters

Gibt die Anzahl der Kartenregister an, die freigegeben werden sollen. Dieser Wert muss mit der Nummer übereinstimmen, die in einem früheren Aufruf von AllocateAdapterChannel angegeben wurde.

Rückgabewert

Keine

Bemerkungen

FreeMapRegisters ist keine Systemroutine, die direkt mit dem Namen aufgerufen werden kann. Diese Routine kann nur über den Zeiger von der Adresse aufgerufen werden, die in einer DMA_OPERATIONS-Struktur zurückgegeben wird. Treiber erhalten die Adresse dieser Routine, indem sie IoGetDmaAdapter aufrufen.

Wenn der Treiber eines Bus-master-Geräts die aktuelle paketbasierte DMA-Übertragungsanforderung abgeschlossen hat, ruft er FreeMapRegisters auf, um die Kartenregister freizugeben, die zuvor durch einen Aufruf von AllocateAdapterChannel zugewiesen und beibehalten wurden, da die AdapterControl-RoutineDeallocateObjectKeepRegisters zurückgegeben hat. Der Treiber muss FreeMapRegisters aufrufen, nachdem FlushAdapterBuffers aufgerufen wurde.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 2000.
Zielplattform Desktop
Header wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)
IRQL DISPATCH_LEVEL
DDI-Complianceregeln IrqlDispatch(storport), IrqlDispatch(storport), IrqlDispatch(wdm)

Weitere Informationen

AllocateAdapterChannel

DMA_ADAPTER

DMA_OPERATIONS

IoGetDmaAdapter

MapTransfer