Функция NdisFreeMemoryWithTagPriority (ndis.h)

Функция NdisFreeMemoryWithTagPriority освобождает память, выделенную с помощью Функция NdisAllocateMemoryWithTagPriority .

Синтаксис

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

Параметры

[in] NdisHandle

Дескриптор драйвера или экземпляра NDIS, полученный во время инициализации вызывающего объекта. Это должен быть тот же дескриптор, который драйвер передал в Функция NdisAllocateMemoryWithTagPriority . Например, драйвер мини-порта может использовать дескриптор NDIS, полученный из Функция NdisMRegisterMiniportDriver или MiniportInitializeEx . Другие драйверы NDIS могут использовать дескрипторы из следующих функций:

NdisRegisterProtocolDriver

NdisOpenAdapterEx

NdisFRegisterFilterDriver

FilterAttach

[in] VirtualAddress

Указатель на базовый виртуальный адрес выделенной памяти. Этот адрес был возвращен Функция NdisAllocateMemoryWithTagPriority .

[in] Tag

Строка, разделенная одиночными кавычками и длиной до четырех символов, обычно указывается в обратном порядке. Предоставленный NDIS тег по умолчанию для этого вызова — maDN, но вызывающий объект может переопределить это значение по умолчанию, указав явное значение.

Возвращаемое значение

None

Remarks

Так как некэшированная память и непрерывная память редко освобождаются до выгрузки выделенного драйвера мини-порта, вызывающий объект NdisFreeMemoryWithTagPriority обычно выполняется в IRQL = PASSIVE_LEVEL для этих типов удаления. В любом случае:

  • Когда вызывающий объект NdisFreeMemoryWithTagPriority освобождает непрерывную память, он должен выполняться в среде IRQL = PASSIVE_LEVEL.
  • Когда вызывающий объект NdisFreeMemoryWithTagPriority освобождает некэшированную память, он должен выполняться на < DISPATCH_LEVEL IRQL.
  • Когда вызывающий объект NdisFreeMemoryWithTagPriority освобождает память, которая не является непрерывной или некэшированной, она должна выполняться в IRQL <= DISPATCH_LEVEL.

Требования

Требование Значение
Минимальная версия клиента Поддерживается в NDIS 6.20 и более поздних версиях.
Целевая платформа Универсальное
Верхняя часть ndis.h (включая Ndis.h)
Библиотека Ndis.lib
IRQL См. раздел "Примечания".
Правила соответствия DDI NdisAllocateMemoryWithTagPriority_Cleanup(ndis), NdisAllocateMemoryWithTagPriority_InitFail(ndis)

См. также раздел

FilterAttach

MiniportInitializeEx

NdisAllocateMemoryWithTagPriority

NdisFRegisterFilterDriver

NdisMRegisterMiniportDriver

NdisOpenAdapterEx

NdisRegisterProtocolDriver