PROTOCOL_CL_NOTIFY_CLOSE_AF回调函数 (ndis.h)
ProtocolClNotifyCloseAf 函数通知 CoNDIS 客户端客户端应关闭关联的地址系列(AF)。
语法
PROTOCOL_CL_NOTIFY_CLOSE_AF ProtocolClNotifyCloseAf;
NDIS_STATUS ProtocolClNotifyCloseAf(
[in] NDIS_HANDLE ClientAfContext
)
{...}
参数
[in] ClientAfContext
客户端为关联的 AF 的上下文区域提供句柄。 客户端分配了此上下文区域,并在对 NDIS 的调用中将此句柄传递给 NDIS NdisClOpenAddressFamilyEx 函数。
返回值
ProtocolClNotifyCloseAf 可以返回以下项之一:
返回代码 | 描述 |
---|---|
|
客户端已成功关闭地址系列。 |
|
客户端正在异步处理此请求,它将调用关闭作完成后, NdisClNotifyCloseAddressFamilyComplete 函数。 |
|
由于某些驱动程序确定的原因,客户端失败了请求。 |
言论
这CoNDIS 客户端需要 ProtocolClNotifyCloseAf 函数。 当调用管理器通知 NDIS 地址系列(AF)参数指定的 ProtocolAfContext 时,NDIS 调用 ProtocolClNotifyCloseAf。 作为响应,客户端应:
- 如果客户端有任何活动多点连接,请调用 NdisClDropParty 函数,直到只有一方在每个多点虚拟连接(VC)上保持活动状态。
- 根据需要多次调用 NdisCloseCall 函数以关闭所有仍在打开且与 AF 关联的调用。
- 根据需要多次调用 NdisClDeregisterSap 函数,以取消注册客户端向调用管理器注册的所有服务访问点(SAP)。
- 调用 NdisCloseAddressFamily 函数关闭 AF。
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 |