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 NdisClOpenAddressFamilyEx 函数。

返回值

ProtocolClNotifyCloseAf 可以返回下列值之一:

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

注解

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

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

NDIS 在 IRQL <= DISPATCH_LEVEL 调用 ProtocolClNotifyCloseAf

当 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 及更高版本中受支持。
目标平台 Windows
标头 ndis.h (包括 Ndis.h)
IRQL <= DISPATCH_LEVEL

另请参阅

NdisClCloseAddressFamily

NdisClCloseCall

NdisClDeregisterSap

NdisClDropParty

NdisClNotifyCloseAddressFamilyComplete

NdisClOpenAddressFamilyEx