Função MmFreeContiguousMemory (wdm.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 | wdm.h (include 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) |