Функция NdisMFreeSharedMemory (ndis.h)
NdisMFreeSharedMemory освобождает память, выделенную ранее NdisMAllocateSharedMemory или NdisMAllocateSharedMemoryAsyncEx драйвером сетевой карты DMA.
Синтаксис
void NdisMFreeSharedMemory(
[in] NDIS_HANDLE MiniportAdapterHandle,
[in] ULONG Length,
[in] BOOLEAN Cached,
[in] PVOID VirtualAddress,
[in] NDIS_PHYSICAL_ADDRESS PhysicalAddress
);
Параметры
[in] MiniportAdapterHandle
Указывает дескриптор первоначально входных данных для MiniportInitializeEx.
[in] Length
Указывает количество байтов, первоначально выделенных.
[in] Cached
Указывает TRUE, если исходное выделение было кэшируемым.
[in] VirtualAddress
Указывает базовый виртуальный адрес, возвращаемый NdisMAllocateSharedMemory или NdisMAllocateSharedMemoryAsyncEx.
[in] PhysicalAddress
Задает соответствующий физический адрес, возвращаемый NdisMAllocateSharedMemory или NdisMAllocateSharedMemoryAsyncEx.
Возвращаемое значение
Никакой
Замечания
Если он уже сделал успешный вызов NdisMAllocateSharedMemory или NdisMAllocateSharedMemoryAsyncEx, минипорт-драйвер устройства DMA вызывает NdisMFreeSharedMemory, если возникает одно из следующих действий:
- Его функция MiniportInitializeEx не может инициализировать сетевой адаптер, поэтому эта функция должна освободить все существующие утверждения на аппаратных ресурсах для этой сетевой карты, прежде чем она возвращает контроль.
- Сетевой адаптер, для которого драйвер минипорта выделил память, удаляется.
- Драйвер выгружается, независимо от того, завершается ли работа системы или из-за того, что пользователь перенастроил сетевые компоненты, используемые на компьютере.
- Драйвер выделил дополнительную общую память с NdisMAllocateSharedMemoryAsyncEx, когда спрос на сетевой адаптер был высоким, но сетевой трафик теперь снизился до среднего уровня.
NdisMFreeSharedMemory нельзя вызывать из функции MiniportShutdownEx.
Microsoft Windows Server 2003, Windows XP с пакетом обновления 1 (SP1) и более поздних версий Windows позволяют сетевым адаптерам DMA и подчиненным сетевым адаптерам DMA вызывать NdisMFreeSharedMemory. Предыдущие выпуски позволяют вызывать только сетевые адаптеры DMA для шины NdisMFreeSharedMemory.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Поддерживается для драйверов NDIS 6.0 и NDIS 5.1 (см. NdisMFreeSharedMemory (NDIS 5.1)) в Windows Vista. Поддерживается для драйверов NDIS 5.1 (см. NdisMFreeSharedMemory (NDIS 5.1)) в Windows XP. |
целевая платформа | Всеобщий |
заголовка | ndis.h (include Ndis.h) |
библиотеки | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
правил соответствия DDI | Irql_Miniport_Driver_Function(ndis), NdisMFreeSharedMemory(ndis) |