Microsoft KB Archive/321463

= A DirectPlay Player Connection May Not Be Established and No Error Message May Occur =

Article ID: 321463

Article Last Modified on 5/21/2007

-

APPLIES TO


 * Microsoft Windows XP Home Edition
 * Microsoft Windows XP Professional

-



This article was previously published under Q321463



SYMPTOMS
If a peer (in peer-to-peer mode) calls IDirectPlay8Peer::Connect or if a client (in client/server mode) calls IDirectPlay8Client::Connect to connect with a DirectPlay8 session, the session is not established and you receive no error message.



CAUSE
For a peer, the connection is made to the host player for the peer-to-peer session. For a client, the connection is made to the server player for the client/server session. The connection process involves establishing a link between the peer (the client) and the host (the server), followed by a multiple-stage handshake over the link to validate the joining player's entry into the session. If the connection to the host or server player is lost while the connect process is still underway, the connect process should not succeed. This should result in the following behavior:
 * If IDirectPlay8Peer::Connect or IDirectPlay8Client::Connect is called synchronously, it should return an error.
 * If IDirectPlay8Peer::Connect or IDirectPlay8Client::Connect is called asynchronously, it should post a DPN_MSGID_CONNECT_COMPLETE notification to the program's message handler with an error.
 * DPN_MSGID_CREATE_PLAYER notifications that are generated before the connection is lost should be unwound with matching DPN_MSGID_DESTROY_PLAYER notifications.

In some cases, Microsoft DirectX 8.1 and the Windows XP client (you cannot install DirectX 8.1 on a Windows XP client) versions of DirectPlay 8.0 do not use this behavior. Instead, the connection to the host (or server) player is dropped silently and the following behavior occurs:
 * If IDirectPlay8Peer::Connect or IDirectPlay8Client::Connect is called synchronous, it returns successfully (DPN_OK).
 * If IDirectPlay8Peer::Connect or IDirectPlay8Client::Connect is called asynchronous, it posts a successful completion (DPN_MSGID_CONNECT_COMPLETE) notification to the program's message handler (DPN_OK).
 * No DPN_MSGID_DESTROY_PLAYER messages are posted to the program's message handler.



RESOLUTION
To resolve this problem, obtain the latest service pack for Windows XP. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

322389 How to Obtain the Latest Windows XP Service Pack

The English version of this fix should have the following file attributes or later:   Date         Time   Version      Size     File name ---  18-Apr-2002  17:05  5.1.2600.43  156,672  Dpnet.dll



STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was first corrected in Windows XP Service Pack 1.

Keywords: kbhotfixserver kbqfe kbbug kbfix kbmm kbwinxpsp1fix KB321463

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.