Compartilhar via


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

A rotina 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 DMA_ADAPTER retornada por IoGetDmaAdapter que representa o adaptador de master de barramento ou o controlador de DMA.

[in] MapRegisterBase

Especifica os registros de mapa alocados para a operação de DMA. O sistema passa esse valor para a rotina AdapterControl 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.

Retornar valor

Nenhum

Comentários

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 DMA_OPERATIONS . Os drivers obtêm o endereço dessa rotina chamando IoGetDmaAdapter.

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

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 2000.
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)

Confira também

AllocateAdapterChannel

DMA_ADAPTER

DMA_OPERATIONS

IoGetDmaAdapter

MapTransfer