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) |