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