PROTOCOL_CL_NOTIFY_CLOSE_AF回调函数 (ndis.h)

ProtocolClNotifyCloseAf 函数通知 CoNDIS 客户端客户端应关闭关联的地址系列(AF)。

注意 必须使用 PROTOCOL_CL_NOTIFY_CLOSE_AF 类型声明函数。 有关详细信息,请参阅以下示例部分。
 

语法

PROTOCOL_CL_NOTIFY_CLOSE_AF ProtocolClNotifyCloseAf;

NDIS_STATUS ProtocolClNotifyCloseAf(
  [in] NDIS_HANDLE ClientAfContext
)
{...}

参数

[in] ClientAfContext

客户端为关联的 AF 的上下文区域提供句柄。 客户端分配了此上下文区域,并在对 NDIS 的调用中将此句柄传递给 NDIS NdisClOpenAddressFamilyEx 函数。

返回值

ProtocolClNotifyCloseAf 可以返回以下项之一:

返回代码 描述
NDIS_STATUS_SUCCESS
客户端已成功关闭地址系列。
NDIS_STATUS_PENDING
客户端正在异步处理此请求,它将调用关闭作完成后, NdisClNotifyCloseAddressFamilyComplete 函数。
NDIS_STATUS_XXX
由于某些驱动程序确定的原因,客户端失败了请求。

言论

这CoNDIS 客户端需要 ProtocolClNotifyCloseAf 函数。 当调用管理器通知 NDIS 地址系列(AF)参数指定的 ProtocolAfContext 时,NDIS 调用 ProtocolClNotifyCloseAf。 作为响应,客户端应:

  1. 如果客户端有任何活动多点连接,请调用 NdisClDropParty 函数,直到只有一方在每个多点虚拟连接(VC)上保持活动状态。
  2. 根据需要多次调用 NdisCloseCall 函数以关闭所有仍在打开且与 AF 关联的调用。
  3. 根据需要多次调用 NdisClDeregisterSap 函数,以取消注册客户端向调用管理器注册的所有服务访问点(SAP)。
  4. 调用 NdisCloseAddressFamily 函数关闭 AF。
客户端可以通过返回NDIS_STATUS_PENDING异步完成这些作。 如果客户端异步完成调用,则它随后必须调用关闭作完成后, NdisClNotifyCloseAddressFamilyComplete 函数。 如果客户端未返回NDIS_STATUS_PENDING,则关闭作在 ProtocolClNotifyCloseAf 返回。

NDIS 在 IRQL = DISPATCH_LEVEL 调用 <。

客户端可以在 AF 打开或打开时使用 NdisAfHandle ProtocolClNotifyCloseAf作挂起。 如果 ProtocolClNotifyCloseAf 函数返回NDIS_STATUS_PENDING,请使用关闭作完成后, NdisClNotifyCloseAddressFamilyComplete 调用。

示例

若要定义 ProtocolClNotifyCloseAf 函数,必须先提供一个函数声明来标识要定义的函数的类型。 Windows 为驱动程序提供了一组函数类型。 使用函数类型声明函数有助于 驱动程序代码分析静态驱动程序验证程序(SDV)和其他验证工具查找错误,这是为 Windows作系统编写驱动程序的要求。

例如,若要定义名为“MyClNotifyCloseAf”的 ProtocolClNotifyCloseAf 函数,请使用 PROTOCOL_CL_NOTIFY_CLOSE_AF 类型,如以下代码示例所示:

PROTOCOL_CL_NOTIFY_CLOSE_AF MyClNotifyCloseAf;

然后,按如下所示实现函数:

_Use_decl_annotations_
NDIS_STATUS
 MyClNotifyCloseAf(
    NDIS_HANDLE  ProtocolAfContext
    )
  {...}

PROTOCOL_CL_NOTIFY_CLOSE_AF 函数类型在 Ndis.h 头文件中定义。 若要在运行代码分析工具时更准确地识别错误,请务必将 Use_decl_annotations 注释添加到函数定义。 Use_decl_annotations 批注可确保使用应用于头文件中 PROTOCOL_CL_NOTIFY_CLOSE_AF 函数类型的批注。 有关函数声明要求的详细信息,请参阅 使用 NDIS 驱动程序的函数角色类型声明函数。

有关 Use_decl_annotations的信息,请参阅 批注函数行为

要求

要求 价值
最低支持的客户端 NDIS 6.0 及更高版本中受支持。
目标平台 窗户
标头 ndis.h (包括 Ndis.h)
IRQL <= DISPATCH_LEVEL

另请参阅

NdisCloseAddressFamily

NdisCloseCall

NdisClDeregisterSap

NdisClDropParty

NdisClNotifyCloseAddressFamilyComplete

NdisClOpenAddressFamilyEx