DirectPlay 玩家连接可能未建立而且可能不出现错误消息

文章翻译 文章翻译
文章编号: 321463 - 查看本文应用于的产品
展开全部 | 关闭全部

症状

如果一个对等玩家(在对等模式中)调用 IDirectPlay8Peer::Connect 或者如果一个客户机(在客户机/服务器模式中)调用 IDirectPlay8Client::Connect 以连接 DirectPlay8 会话,会话不建立,而且您也收不到错误消息。

原因

对于对等玩家,连接目标是主玩家,以便建立对等会话。对于客户机玩家,连接目标是服务器玩家,以便建立“客户机/服务器”会话。连接过程涉及在对等/客户机玩家和主/服务器玩家之间建立一个链路,接着通过此链路进行多阶段握手以对加入者进入会话加以验证。如果在连接过程仍在进行中时到主玩家或服务器玩家的连接丢失,则连接过程将不会成功。这会导致下面的情况:
  • 如果同时调用了 IDirectPlay8Peer::ConnectIDirectPlay8Client::Connect,它将返回一个错误消息。
  • 如果异步调用了 IDirectPlay8Peer::ConnectIDirectPlay8Client::Connect,它将向程序的消息处理器发送一个 DPN_MSGID_CONNECT_COMPLETE 通知并附带一个错误消息。
  • 在丢失连接前创建的 DPN_MSGID_CREATE_PLAYER 通知应与匹配的 DPN_MSGID_DESTROY_PLAYER 通知一起展现。
在某些情况下,Microsoft DirectX 8.1 和用于 Windows XP 客户机的 DirectPlay 8.0 版本(不能在 Windows XP 客户机上安装 DirectX 8.1)不使用这一行为,而是让到主(或服务器)玩家的连接悄然断开,并且发生以下现象:
  • 如果同步调用了 IDirectPlay8Peer::ConnectIDirectPlay8Client::Connect,它将成功返回 (DPN_OK)。
  • 如果异步调用了 IDirectPlay8Peer::ConnectIDirectPlay8Client::Connect,它将向程序的消息处理器 (DPN_OK) 发送一个表明成功完成的 (DPN_MSGID_CONNECT_COMPLETE) 通知。
  • 将不向程序的消息处理器发送 DPN_MSGID_DESTROY_PLAYER 消息。

解决方案

要解决此问题,请获取最新的 Windows XP Service Pack。有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
322389 How to Obtain the Latest Windows XP Service Pack
该修复程序的英文版应具有如下文件属性或更新的属性:
Date         Time   Version      Size     File name
   ---------------------------------------------------
18-Apr-2002  17:05  5.1.2600.43  156,672  Dpnet.dll
				

状态

Microsoft 已经确认这是在本文开头列出的 Microsoft 产品中存在的问题。 这个问题已在 Windows XP Service Pack 1 中得到纠正。

属性

文章编号: 321463 - 最后修改: 2006年4月3日 - 修订: 1.1
这篇文章中的信息适用于:
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional Edition
关键字:?
kbbug kbfix kbqfe kbmm kbwinxpsp1fix kbhotfixserver KB321463
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com