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
A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix.
If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, contact Microsoft Customer Service and Support to obtain the hotfix. Note
If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft Web site: Note
The "Hotfix download available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.
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.
for other considerations.