NdisMFreeSharedMemory 函数 (ndis.h)
NdisMFreeSharedMemory 释放以前由 NdisMAllocateSharedMemory 或 NdisMAllocateSharedMemoryAsyncEx,由 DMA NIC 的驱动程序。
语法
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 函数无法初始化 NIC,因此此函数必须在返回控制权之前释放该 NIC 的硬件资源上的所有现有声明。
- 微型端口驱动程序为其分配内存的 NIC。
- 驱动程序正在卸载,无论是因为系统正在关闭还是用户重新配置了计算机中使用的网络组件。
- 驱动程序在 NIC 上的 I/O 需求较高时,NdisMAllocateSharedMemoryAsyncEx 分配了额外的共享内存,但网络流量现在已消退到平均级别。
无法从 MiniportShutdownEx 函数调用 NdisMFreeSharedMemory。
Microsoft Windows Server 2003、Windows XP Service Pack 1 和更高版本的 Windows 允许总线主 DMA NIC 和从属 DMA NIC 调用 NdisMFreeSharedMemory。 以前的版本仅允许总线主 DMA NIC 调用 NdisMFreeSharedMemory。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows Vista 中支持 NDIS 6.0 和 NDIS 5.1 驱动程序(请参阅 NdisMFreeSharedMemory(NDIS 5.1)。 在 Windows XP 中支持 NDIS 5.1 驱动程序(请参阅 NdisMFreeSharedMemory (NDIS 5.1)。 |
目标平台 | 普遍 |
标头 | ndis.h (包括 Ndis.h) |
库 | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI 符合性规则 | Irql_Miniport_Driver_Function(ndis),NdisMFreeSharedMemory(ndis) |