NdisMFreePort 函数 (ndis.h)
NdisMFreePort 函数释放以前使用 NdisMAllocatePort 函数分配的 NDIS 端口。
语法
NDIS_STATUS NdisMFreePort(
NDIS_HANDLE NdisMiniportHandle,
[in] NDIS_PORT_NUMBER PortNumber
);
参数
NdisMiniportHandle
微型端口适配器处理 NDIS 传递给 MiniportAdapterHandle 参数的 MiniportInitializeEx 函数。
[in] PortNumber
NDIS 应释放的 NDIS 端口数。 PortNumber 值是具有 ULONG 数据类型的 NDIS_PORT_NUMBER 值。 NDIS 在 的 PortNumber 成员中提供了端口号 当 微型端口驱动程序调用 NdisMAllocatePort 函数时,NDIS_PORT_CHARACTERISTICS结构。
端口号可以是 1 到 0xffffff的数字。 不能将 PortNumber 设置为零,这表示默认端口。
返回值
NdisMFreePort 可以返回以下值之一:
返回代码 | 说明 |
---|---|
|
NDIS 已成功释放端口的资源。 |
|
NDIS 无法释放端口的资源,因为端口号无效。 |
|
NDIS 无法释放端口的资源,因为端口处于自由操作无效的状态。 若要释放端口,端口必须处于已分配状态。 |
|
在 PortNumber 参数中提供的端口号无效。 |
注解
如果微型端口驱动程序通过调用 NdisMAllocatePort 函数分配了端口,则驱动程序必须先释放该端口,然后才能从其 MiniportHaltEx 函数返回。 如果微型端口驱动程序通过发出 NetEventPortActivation 即插即用 (PnP) 事件来激活端口,则在释放端口之前,驱动程序必须为该端口发出 NetEventPortDeactivation PnP 事件。
当微型端口驱动程序调用 NdisMFreePort 以释放端口时,NDIS 还会释放分配给已释放端口的端口号,以便 NDIS 可以重复使用端口号。
微型端口驱动程序不得尝试释放默认端口。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 NDIS 6.0 及更高版本中受支持。 |
目标平台 | 通用 |
标头 | ndis.h (包括 Ndis.h) |
Library | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI 符合性规则 | Irql_Miniport_Driver_Function (ndis) |