Compartilhar via


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

A rotina FreeCommonBuffer libera um buffer comum alocado por AllocateCommonBuffer, juntamente com todos os recursos que o buffer usa.

Sintaxe

PFREE_COMMON_BUFFER PfreeCommonBuffer;

void PfreeCommonBuffer(
  [in] PDMA_ADAPTER DmaAdapter,
  [in] ULONG Length,
  [in] PHYSICAL_ADDRESS LogicalAddress,
  [in] PVOID VirtualAddress,
  [in] BOOLEAN CacheEnabled
)
{...}

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] Length

Especifica o número de bytes a serem desalocados.

[in] LogicalAddress

Especifica o endereço lógico do intervalo de memória alocado.

[in] VirtualAddress

Ponteiro para o endereço virtual correspondente do intervalo de memória alocado.

[in] CacheEnabled

Indica se a memória alocada está armazenada em cache.

Valor de retorno

Nenhum

Observações

FreeCommonBuffer 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.

Para liberar um buffer comum, um driver chama FreeCommonBuffer para desmapear seus endereços lógicos e virtuais. Os parâmetros passados para FreeCommonBuffer devem corresponder exatamente aos passados e retornados de AllocateCommonBuffer. Um driver não pode liberar parte de um buffer comum alocado.

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 PASSIVE_LEVEL
regras de conformidade de DDI IrqlDispatch(wdm)

Consulte também

AllocateCommonBuffer

DMA_ADAPTER

DMA_OPERATIONS

IoGetDmaAdapter