Función MmFreeContiguousMemory (ntddk.h)

La rutina MmFreeContiguousMemory libera un intervalo de memoria físicamente contigua asignada por una rutina MmAllocateContiguousMemoryXxx .

Sintaxis

void MmFreeContiguousMemory(
  [in] PVOID BaseAddress
);

Parámetros

[in] BaseAddress

Puntero a la dirección virtual de la memoria que se va a liberar.

Valor devuelto

None

Observaciones

La rutina MmFreeContiguousMemory libera un bloque de memoria físicamente contigua asignada por una llamada anterior a la rutina MmAllocateContiguousMemory, MmAllocateContiguousMemorySpecifyCache o MmAllocateContiguousMemorySpecifyCacheNode . El parámetro BaseAddress debe ser la dirección base que se obtuvo de la llamada anterior a la rutina MmAllocateContiguousMemoryXxx .

Un controlador de dispositivo que debe usar memoria contigua solo debe asignar lo que necesita durante la inicialización del controlador, ya que es probable que la memoria física se fragmente a medida que se ejecuta el sistema. Este controlador debe desasignar la memoria cuando el controlador haya terminado de usar la memoria.

Los autores de llamadas de MmFreeContiguousMemory deben ejecutarse en IRQL = APC_LEVEL. Para Windows Server 2008 y versiones posteriores del sistema operativo Windows, también puedes llamar a MmFreeContiguousMemory con IRQL <= DISPATCH_LEVEL. Sin embargo, puede mejorar el rendimiento del controlador llamando a APC_LEVEL o a continuación.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 2000.
Plataforma de destino Universal
Encabezado ntddk.h (incluya Wdm.h, Ntddk.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL vea la sección Comentarios.
Reglas de cumplimiento de DDI HwStorPortProhibitedDIs(storport), IrqlMmDispatch(wdm)

Consulte también

MmAllocateContiguousMemory

MmAllocateContiguousMemorySpecifyCache

MmAllocateContiguousMemorySpecifyCacheNode