NdisFreeMemoryWithTagPriority 函数 (ndis.h)

NdisFreeMemoryWithTagPriority 函数释放使用 分配的内存 NdisAllocateMemoryWithTagPriority 函数。

语法

void NdisFreeMemoryWithTagPriority(
  [in] NDIS_HANDLE NdisHandle,
  [in] PVOID       VirtualAddress,
  [in] ULONG       Tag
);

参数

[in] NdisHandle

在调用方初始化期间获取的 NDIS 驱动程序或实例句柄。 此句柄应与驱动程序传递给 的句柄相同 NdisAllocateMemoryWithTagPriority 函数。 例如,微型端口驱动程序可以使用它从 获取的 NDIS 句柄 NdisMRegisterMiniportDriverMiniportInitializeEx 函数。 其他 NDIS 驱动程序可以使用以下函数中的句柄:

NdisRegisterProtocolDriver

NdisOpenAdapterEx

NdisFRegisterFilterDriver

FilterAttach

[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 (包括 Ndis.h)
Library Ndis.lib
IRQL 请参见“备注”部分。
DDI 符合性规则 NdisAllocateMemoryWithTagPriority_Cleanup (ndis) ,NdisAllocateMemoryWithTagPriority_InitFail (ndis)

另请参阅

FilterAttach

MiniportInitializeEx

NdisAllocateMemoryWithTagPriority

NdisFRegisterFilterDriver

NdisMRegisterMiniportDriver

NdisOpenAdapterEx

NdisRegisterProtocolDriver