Функция 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.
Возвращаемое значение
None
Remarks
Если он уже успешно вызвал NdisMAllocateSharedMemory , или NdisMAllocateSharedMemoryAsyncEx, драйвер мини-порта устройства DMA вызывает NdisMFreeSharedMemory , если происходит одно из следующих действий:
- Ее функция MiniportInitializeEx не может инициализировать сетевой адаптер, поэтому эта функция должна освободить все существующие утверждения на аппаратных ресурсах для этой сетевой карты, прежде чем она вернет управление.
- Сетевой адаптер, для которого драйвер мини-порта выделил память, удаляется.
- Драйвер выгружается из-за завершения работы системы или из-за того, что пользователь перенастроил сетевые компоненты, используемые на компьютере.
- Драйвер выделил дополнительную общую память с NdisMAllocateSharedMemoryAsyncEx , когда спрос на ввод-вывод на сетевом адаптере был высоким, но сетевой трафик теперь утих до среднего уровня.
NdisMFreeSharedMemory нельзя вызвать из функции MiniportShutdownEx .
Microsoft Windows Server 2003, Windows XP с пакетом обновления 1 (SP1) и более поздние версии Windows позволяют вызывать NdisMFreeSharedMemory как сетевые адаптеры master шины DMA, так и подчиненные сетевые адаптеры DMA. Предыдущие выпуски разрешали вызов NdisMFreeSharedMemory только сетевым адаптерам DMA с master шины.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается для драйверов NDIS 6.0 и NDIS 5.1 (см. раздел NdisMFreeSharedMemory (NDIS 5.1)) в Windows Vista. Поддерживается для драйверов NDIS 5.1 (см. раздел NdisMFreeSharedMemory (NDIS 5.1)) в Windows XP. |
Целевая платформа | Универсальное |
Верхняя часть | ndis.h (включая Ndis.h) |
Библиотека | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
Правила соответствия DDI | Irql_Miniport_Driver_Function(ndis), NdisMFreeSharedMemory(ndis) |