Функция 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 могут использовать дескриптор из следующих функций:
[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) |