Поделиться через


Функция 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, но вызывающий объект может переопределить это значение по умолчанию, указав явное значение.

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

Никакой

Замечания

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

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Поддерживается в NDIS 6.20 и более поздних версиях.
целевая платформа Всеобщий
заголовка ndis.h (include Ndis.h)
библиотеки Ndis.lib
IRQL См. раздел "Примечания".
правил соответствия DDI NdisAllocateMemoryWithTagPriority_Cleanup(ndis), NdisAllocateMemoryWithTagPriority_InitFail(ndis)

См. также

FilterAttach

MiniportInitializeEx

NdisAllocateMemoryWithTagPriority

NdisFRegisterFilterDriver

NdisMRegisterMiniportDriver

NdisOpenAdapterEx

NdisRegisterProtocolDriver