共用方式為


PFREE_MAP_REGISTERS回呼函式 (wdm.h)

FreeMapRegisters 例程會釋放一組從 AllocateAdapterChannel 呼叫儲存的地圖緩存器。

語法

PFREE_MAP_REGISTERS PfreeMapRegisters;

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

參數

[in] DmaAdapter

IoGetDmaAdapter 所傳回之DMA_ADAPTER結構的指標,代表總線主要適配卡或 DMA 控制器。

[in] MapRegisterBase

指定配置給 DMA 作業的對應緩存器。 系統會將此值傳遞至驅動程式的 AdapterControl 例程。

[in] NumberOfMapRegisters

指定要釋放的地圖緩存器數目。 此值必須符合先前呼叫 AllocateAdapterChannel 中指定的數位。

傳回值

備註

FreeMapRegisters 不是可直接依名稱呼叫的系統例程。 這個例程只能透過指標從 DMA_OPERATIONS 結構中傳回的位址呼叫。 驅動程式會藉由呼叫 IoGetDmaAdapter來取得此例程的位址。

當總線主機裝置的驅動程式已完成目前的封包型 DMA 傳輸要求時,它會呼叫 FreeMapRegisters 來釋放先前由 AllocateAdapterChannel 呼叫所配置的對應緩存器,並保留,因為其 AdapterControl 例程傳回 DeallocateObjectKeepRegisters。 驅動程式必須在呼叫 FlushAdapterBuffers 之後呼叫 FreeMapRegisters

規格需求

需求
最低支援的用戶端 從 Windows 2000 開始提供。
目標平台 桌面
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
IRQL DISPATCH_LEVEL
DDI 合規性規則 IrqlDispatch (storport) 、IrqlDispatch (storport) 、 IrqlDispatch (wdm)

另請參閱

AllocateAdapterChannel

DMA_ADAPTER

DMA_OPERATIONS

IoGetDmaAdapter

MapTransfer