Función NdisFreeMemory (ndis.h)
La función NdisFreeMemory libera un bloque de memoria que se asignó anteriormente con la función NdisAllocateMemoryWithTagPriority .
Sintaxis
void NdisFreeMemory(
[in] PVOID VirtualAddress,
[in] UINT Length,
[in] UINT MemoryFlags
);
Parámetros
[in] VirtualAddress
Puntero a la dirección virtual base de la memoria asignada. La función NdisAllocateMemoryWithTagPriority devolvió esta dirección.
[in] Length
Tamaño, en bytes, del bloque de memoria que se va a liberar. Si la memoria se asignó con NdisAllocateMemoryWithTagPriority o el parámetro MemoryFlags es cero, este parámetro se omite.
[in] MemoryFlags
Conjunto de marcas que especifican el tipo de memoria que se va a liberar. Este valor debe ser cero si la memoria se asignó con NdisAllocateMemoryWithTagPriority. Con NDIS 6.0 y versiones posteriores, NdisAllocateMemoryWithTagPriority siempre se usa para asignar memoria.
Valor devuelto
None
Observaciones
Dado que la memoria no almacenada en caché y la memoria contigua rara vez se liberan hasta que el controlador de miniporte asignado se descarga, un llamador de NdisFreeMemory normalmente se ejecuta en IRQL = PASSIVE_LEVEL para estos tipos de desasignaciones. En cualquier caso:
- Al liberar memoria contigua, un llamador de NdisFreeMemory debe ejecutarse en IRQL = PASSIVE_LEVEL.
- Al liberar memoria no almacenada en caché, un llamador de NdisFreeMemory debe ejecutarse en irQL < DISPATCH_LEVEL.
- Al liberar memoria que no sea contigua ni no almacenada en caché, un autor de llamada de NdisFreeMemory debe ejecutarse en IRQL <= DISPATCH_LEVEL.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Compatible con controladores NDIS 6.0 y NDIS 5.1 (consulte NdisFreeMemory (NDIS 5.1)) en Windows Vista. Compatible con los controladores NDIS 5.1 (consulte NdisFreeMemory (NDIS 5.1)) en Windows XP. |
Plataforma de destino | Universal |
Encabezado | ndis.h (incluya Ndis.h) |
Library | Ndis.lib |
IRQL | Consulte la sección Comentarios. |
Reglas de cumplimiento de DDI | Irql_Miscellaneous_Function(ndis),NdisAllocateMemoryWithTagPriority_Cleanup(ndis), NdisAllocateMemoryWithTagPriority_InitFail(ndis), NdisQueryBindInstanceName(ndis) |