Partilhar via


PFREE_MAP_REGISTERS função de retorno de chamada (wdm.h)

O FreeMapRegisters libera um conjunto de registros de mapa que foram salvos de uma chamada para AllocateAdapterChannel.

Sintaxe

PFREE_MAP_REGISTERS PfreeMapRegisters;

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

Parâmetros

[in] DmaAdapter

Ponteiro para a estrutura de DMA_ADAPTER retornada por IoGetDmaAdapter que representa o adaptador mestre do barramento ou o controlador DMA.

[in] MapRegisterBase

Especifica os registros de mapa alocados para a operação de DMA. O sistema passa esse valor para a rotina de adapterControl do do driver.

[in] NumberOfMapRegisters

Especifica o número de registros de mapa a serem liberados. Esse valor deve corresponder ao número especificado em uma chamada anterior para AllocateAdapterChannel.

Valor de retorno

Nenhum

Observações

FreeMapRegisters não é uma rotina do sistema que pode ser chamada diretamente pelo nome. Essa rotina só pode ser chamada por ponteiro do endereço retornado em uma estrutura de DMA_OPERATIONS. Os drivers obtêm o endereço dessa rotina chamando IoGetDmaAdapter.

Quando o driver de um dispositivo mestre de ônibus tiver concluído a solicitação de transferência DMA baseada em pacote atual, ele chama FreeMapRegisters para liberar os registros de mapa previamente alocados por uma chamada para AllocateAdapterChannel e retidos porque sua rotina AdapterControl retornada DeallocateObjectKeepRegisters . O driver deve chamar FreeMapRegisters depois de chamar FlushAdapterBuffers.

Requisitos

Requisito Valor
de cliente com suporte mínimo Disponível a partir do Windows 2000.
da Plataforma de Destino Área de trabalho
cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
IRQL DISPATCH_LEVEL
regras de conformidade de DDI IrqlDispatch(storport), IrqlDispatch(storport), IrqlDispatch(wdm)

Consulte também

AllocateAdapterChannel

DMA_ADAPTER

DMA_OPERATIONS

IoGetDmaAdapter

MapTransfer