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

Retornar valor

Nenhum

Comentários

FreeCommonBuffer não é uma rotina do sistema que pode ser chamada diretamente pelo nome. Essa rotina pode ser chamada somente 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 àqueles passados para e retornados de AllocateCommonBuffer. Um driver não pode liberar parte de um buffer comum alocado.

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

Confira também

AllocateCommonBuffer

DMA_ADAPTER

DMA_OPERATIONS

IoGetDmaAdapter