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.
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.
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:
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
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.