PROTOCOL_CL_INCOMING_DROP_PARTY回调函数 (ndis.h)

ProtocolClIncomingDropParty 函数由设置多点连接的面向连接的 NDIS 客户端使用。 此类客户端必须具有 ProtocolClIncomingDropParty 函数。 否则,此类协议驱动程序的注册 ProtocolClIncomingDropParty 函数只需返回控制权。

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

语法

PROTOCOL_CL_INCOMING_DROP_PARTY ProtocolClIncomingDropParty;

void ProtocolClIncomingDropParty(
  [in] NDIS_STATUS DropStatus,
  [in] NDIS_HANDLE ProtocolPartyContext,
  [in] PVOID CloseData,
  [in] UINT Size
)
{...}

参数

[in] DropStatus

指示删除方的原因。 通常,如果远程笔记上的参与方发起了关闭其连接,则这是NDIS_STATUS_SUCCESS,但如果调用管理器由于发现的网络问题而启动了此删除方作,则可能是任何 CM 确定的状态。

[in] ProtocolPartyContext

指定要删除的参与方的客户端每方上下文区域的句柄。 客户端最初在调用 NdisClAddPartyNdisClMakeCall时向 NDIS 提供此句柄。

[in] CloseData

指向包含特定于协议的关闭消息的缓冲区的指针,可能是由调用管理器通过网络接收的远程客户端提供的,也可以 NULL

NDIS_STATUS_SUCCESS DropStatus 时,如果基础网络介质不支持在关闭连接时传输数据,则此参数 NULL。 但是,任何特定的调用管理器都可能定义一个结构,以将其他诊断信息传递给客户端,以处理由网络上的问题导致的下一方作。

[in] Size

指定 CloseData处缓冲区的长度(以字节为单位)。如果 CloseDataNULL,则为零。

返回值

没有

言论

调用 ProtocolClIncomingDropParty 表示发生了以下情况之一:

  • 调用管理器已通过网络收到关闭已建立连接的请求,该请求由 NdisPartyHandle 标识, 客户端存储在其每方上下文区域中的 ProtocolPartyContext
  • 呼叫管理器检测到网络问题将阻止在已建立的连接上进行进一步的数据传输。
在任一情况下,ProtocolClIncomingDropParty 应执行任何协议确定的作,以便从客户端的多点 VC 中删除参与方。 ProtocolClIncomingDropParty 必须调用 NdisClDropParty,或者,如果这是客户端的多点 VC 上的最后一个剩余方,NdisCloseCall

ProtocolClIncomingDropParty 应考虑从 NdisClAddPartyNdisClMakeCall 无效的客户端获得的 NdisPartyHandleProtocolClIncomingDropParty 可以释放客户端的每方上下文区域,或准备在后续调用 NdisClAddParty中重复使用。

示例

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

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

PROTOCOL_CL_INCOMING_DROP_PARTY MyClIncomingDropParty;

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

_Use_decl_annotations_
VOID
 MyClIncomingDropParty(
    NDIS_STATUS  DropStatus,
    NDIS_HANDLE  ProtocolPartyContext,
    PVOID  CloseData,
    UINT  Size
    )
  {...}

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

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

要求

要求 价值
最低支持的客户端 Windows Vista 中支持 NDIS 6.0 和 NDIS 5.1 驱动程序(请参阅 ProtocolClIncomingDropParty (NDIS 5.1) 。 支持 NDIS 5.1 驱动程序(请参阅 Windows XP 中的 ProtocolClIncomingDropParty (NDIS 5.1) 。
目标平台 窗户
标头 ndis.h (包括 Ndis.h)
IRQL <= DISPATCH_LEVEL

另请参阅

NdisClAddParty

NdisCloseCall

NdisClDropParty

NdisClMakeCall

NdisCmDispatchIncomingDropParty

NdisFreeMemory

NdisFreeToNPagedLookasideList NdisMCmDispatchIncomingDropParty