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