Compartir a través de


Función NdisFreeMemoryWithTagPriority (ndis.h)

La función NdisFreeMemoryWithTagPriority libera memoria asignada con Función NdisAllocateMemoryWithTagPriority .

Sintaxis

void NdisFreeMemoryWithTagPriority(
  [in] NDIS_HANDLE NdisHandle,
  [in] PVOID       VirtualAddress,
  [in] ULONG       Tag
);

Parámetros

[in] NdisHandle

Controlador o controlador NDIS que se obtuvo durante la inicialización del autor de la llamada. Debe ser el mismo identificador que el controlador pasado a . Función NdisAllocateMemoryWithTagPriority . Por ejemplo, un controlador de minipuerto puede usar el identificador NDIS que obtuvo del Función NdisMRegisterMiniportDriver o MiniportInitializeEx . Otros controladores NDIS pueden usar los identificadores de las siguientes funciones:

NdisRegisterProtocolDriver

NdisOpenAdapterEx

NdisFRegisterFilterDriver

FilterAttach

[in] VirtualAddress

Puntero a la dirección virtual base de la memoria asignada. Esta dirección fue devuelta por el Función NdisAllocateMemoryWithTagPriority .

[in] Tag

Una cadena, delimitada por comillas simples, con hasta cuatro caracteres, normalmente especificada en orden invertido. La etiqueta predeterminada proporcionada por NDIS para esta llamada es "maDN", pero el autor de la llamada puede invalidar este valor predeterminado proporcionando un valor explícito.

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 de asignación se descarga, un llamador de NdisFreeMemoryWithTagPriority normalmente se ejecuta en IRQL = PASSIVE_LEVEL para estos tipos de desasignación. En cualquier caso:

  • Cuando un llamador de NdisFreeMemoryWithTagPriority libera memoria contigua, debe ejecutarse en IRQL = PASSIVE_LEVEL.
  • Cuando un llamador de NdisFreeMemoryWithTagPriority libera memoria no almacenada en caché, debe ejecutarse en irQL < DISPATCH_LEVEL.
  • Cuando un llamador de NdisFreeMemoryWithTagPriority libera memoria que no es contigua ni no almacenada en caché, debe ejecutarse en IRQL <= DISPATCH_LEVEL.

Requisitos

Requisito Value
Cliente mínimo compatible Compatible con NDIS 6.20 y versiones posteriores.
Plataforma de destino Universal
Encabezado ndis.h (incluya Ndis.h)
Library Ndis.lib
IRQL vea la sección Comentarios.
Reglas de cumplimiento de DDI NdisAllocateMemoryWithTagPriority_Cleanup(ndis), NdisAllocateMemoryWithTagPriority_InitFail(ndis)

Consulte también

FilterAttach

MiniportInitializeEx

NdisAllocateMemoryWithTagPriority

NdisFRegisterFilterDriver

NdisMRegisterMiniportDriver

NdisOpenAdapterEx

NdisRegisterProtocolDriver