(p2p.h) PEER_EVENT_CONNECTION_CHANGE_DATA 结构

如果触发了以下对等事件之一,则 PEER_GRAPH_EVENT_DATA 结构指向 PEER_EVENT_CONNECTION_CHANGE_DATA 结构:

  • PEER_GRAPH_EVENT_NEIGHBOR_CONNECTION
  • PEER_GRAPH_EVENT_DIRECT_CONNECTION
  • PEER_GROUP_EVENT_NEIGHBOR_CONNECTION
  • PEER_GROUP_EVENT_DIRECT_CONNECTION
PEER_EVENT_CONNECTION_CHANGE_DATA结构包含更新的信息,其中包括对邻居或直接连接的更改。

语法

typedef struct peer_event_connection_change_data_tag {
  DWORD                  dwSize;
  PEER_CONNECTION_STATUS status;
  ULONGLONG              ullConnectionId;
  ULONGLONG              ullNodeId;
  ULONGLONG              ullNextConnectionId;
  HRESULT                hrConnectionFailedReason;
} PEER_EVENT_CONNECTION_CHANGE_DATA, *PPEER_EVENT_CONNECTION_CHANGE_DATA;

成员

dwSize

指定结构的大小。

status

指定相邻连接或直接连接中的更改类型。 有效值如下。

含义
PEER_CONNECTED
已与本地节点建立新的传入或传出连接。
PEER_CONNECTION_FAILED
尝试连接到本地节点失败。

一次尝试连接可能会导致多个连接失败。 在初始连接失败后,当对等基础结构将 ullNextConnectionId 成员设置为节点 ID 并尝试新连接时,就会发生这种情况。 如果 ullNextConnectionId 成员为 0,则不会尝试进一步连接。

PEER_DISCONNECTED
现有连接已断开连接。

ullConnectionId

指定已更改的连接的唯一 ID。

ullNodeId

指定已更改的节点的唯一 ID。

ullNextConnectionId

Windows Vista 或更高版本。 包含下一个可用节点 ID,分组或图形 API 将在连接失败时尝试连接到该 ID。 如果此成员的值为 0,则不会尝试进一步连接。

hrConnectionFailedReason

Windows Vista 或更高版本。 指定连接失败时的错误类型。 hrConnectionFailedReason 可能会返回以下错误代码。

说明
PEER_E_CONNECTION_REFUSED 已建立并拒绝连接。 远程节点已达到最大连接数或连接已存在。
PEER_E_CONNECTION_FAILED 尝试连接到远程节点失败。
PEER_E_CONNECTION_NOT_AUTHENTICATED 在身份验证阶段,连接丢失。 这是网络故障或远程节点中断连接的结果。

要求

   
最低受支持的客户端 具有 SP2 的 Windows XP [仅限桌面应用],具有 SP1 的 Windows XP 与高级网络包 forWindows XP
最低受支持的服务器 无受支持的版本
标头 p2p.h

请参阅

PEER_GRAPH_EVENT_DATA

PEER_GROUP_EVENT_DATA