Função MmFreeContiguousMemory (ntddk.h)

A rotina MmFreeContiguousMemory libera um intervalo de memória fisicamente contígua alocada por uma rotina MmAllocateContiguousMemoryXxx .

Sintaxe

void MmFreeContiguousMemory(
  [in] PVOID BaseAddress
);

Parâmetros

[in] BaseAddress

Ponteiro para o endereço virtual da memória a ser liberada.

Retornar valor

Nenhum

Comentários

A rotina MmFreeContiguousMemory libera um bloco de memória fisicamente contígua que foi alocado por uma chamada anterior para a rotina MmAllocateContiguousMemory, MmAllocateContiguousMemorySpecifyCache ou MmAllocateContiguousMemorySpecifyCacheNode . O parâmetro BaseAddress deve ser o endereço base obtido da chamada anterior para a rotina MmAllocateContiguousMemoryXxx .

Um driver de dispositivo que deve usar memória contígua deve alocar apenas o que precisa durante a inicialização do driver porque a memória física provavelmente ficará fragmentada à medida que o sistema for executado. Esse driver deve desalocar a memória quando o driver terminar de usar a memória.

Os chamadores de MmFreeContiguousMemory devem estar em execução em IRQL = APC_LEVEL. Para o Windows Server 2008 e versões posteriores do sistema operacional Windows, você também pode chamar MmFreeContiguousMemory com IRQL <= DISPATCH_LEVEL. No entanto, você pode melhorar o desempenho do driver chamando em APC_LEVEL ou abaixo.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 2000.
Plataforma de Destino Universal
Cabeçalho ntddk.h (inclua Wdm.h, Ntddk.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Consulte a seção Observações.
Regras de conformidade da DDI HwStorPortProhibitedDIs(storport), IrqlMmDispatch(wdm)

Confira também

MmAllocateContiguousMemory

MmAllocateContiguousMemorySpecifyCache

MmAllocateContiguousMemorySpecifyCacheNode