Platform SDK: DirectX

Return Values

Errors are represented by negative values and cannot be combined. This table lists the values that can be returned by all IDirectPlay4 interface and IDirectPlayLobby3 interface methods. For a list of the error values each method can return, see the individual method descriptions.

Many of the DirectPlay samples include a GetDirectPlayErrStr function that converts HRESULT values to string names for the DirectPlay errors. Developers can copy this code into their own applications for diagnostic traces or error reports.

CLASS_E_NOAGGREGATION
A non-NULL value was passed for the pUnkOuter parameter in DirectPlayCreate, DirectPlayLobbyCreate, or IDirectPlayLobby3::Connect.
DP_OK
The request completed successfully.
DPERR_ABORTED
The operation was canceled before it could be completed.
DPERR_ACCESSDENIED
The session is full, or an incorrect password was supplied.
DPERR_ACTIVEPLAYERS
The requested operation cannot be performed because there are existing active players.
DPERR_ALREADYINITIALIZED
This object is already initialized.
DPERR_APPNOTSTARTED
The application has not been started yet.
DPERR_AUTHENTICATIONFAILED
The password or credentials supplied could not be authenticated.
DPERR_BUFFERTOOLARGE
The data buffer is too large to store.
DPERR_BUFFERTOOSMALL
The supplied buffer is not large enough to contain the requested data.
DPERR_BUSY
A message cannot be sent because the transmission medium is busy.
DPERR_CANCELFAILED
The message could not be canceled, possibly because it is a group message that has already been to sent to one or more members of the group.
DPERR_CANCELLED
The operation was canceled.
DPERR_CANNOTCREATESERVER
The server cannot be created for the new session.
DPERR_CANTADDPLAYER
The player cannot be added to the session.
DPERR_CANTCREATEGROUP
A new group cannot be created.
DPERR_CANTCREATEPLAYER
A new player cannot be created.
DPERR_CANTCREATEPROCESS
Cannot start the application.
DPERR_CANTCREATESESSION
A new session cannot be created.
DPERR_CANTLOADCAPI
No credentials were supplied and the CryptoAPI package (CAPI) to use for cryptography services cannot be loaded.
DPERR_CANTLOADSECURITYPACKAGE
The software security package cannot be loaded.
DPERR_CANTLOADSSPI
No credentials were supplied, and the Security Support Provider Interface (SSPI) that will prompt for credentials cannot be loaded.
DPERR_CAPSNOTAVAILABLEYET
The capabilities of the DirectPlay object have not been determined yet. This error will occur if the DirectPlay object is implemented on a connectivity solution that requires polling to determine available bandwidth and latency.
DPERR_CONNECTING
The method is in the process of connecting to the network. The application should keep using the method until it returns DP_OK, indicating successful completion, or until it returns a different error.
DPERR_CONNECTIONLOST
The service provider connection was reset while data was being sent.
DPERR_ENCRYPTIONFAILED
The requested information could not be digitally encrypted. Encryption is used for message privacy. This error is only relevant in a secure session.
DPERR_ENCRYPTIONNOTSUPPORTED
The type of encryption requested in the DPSECURITYDESC structure is not available. This error is only relevant in a secure session.
DPERR_EXCEPTION
An exception occurred when processing the request.
DPERR_GENERIC
An undefined error condition occurred.
DPERR_INVALIDFLAGS
The flags passed to this method are invalid.
DPERR_INVALIDGROUP
The group ID is not recognized as a valid group ID for this game session.
DPERR_INVALIDINTERFACE
The interface parameter is invalid.
DPERR_INVALIDOBJECT
The DirectPlay object pointer is invalid.
DPERR_INVALIDPARAMS
One or more of the parameters passed to the method are invalid.
DPERR_INVALIDPASSWORD
An invalid password was supplied when attempting to join a session that requires a password.
DPERR_INVALIDPLAYER
The player ID is not recognized as a valid player ID for this game session.
DPERR_INVALIDPRIORITY
The specified priority is not within the range of allowed priorities, which is inclusively 0-65535.
DPERR_LOGONDENIED
The session could not be opened because credentials are required, and either no credentials were supplied, or the credentials were invalid.
DPERR_NOCAPS
The communication link that DirectPlay is attempting to use is not capable of this function.
DPERR_NOCONNECTION
No communication link was established.
DPERR_NOINTERFACE
The interface is not supported.
DPERR_NOMESSAGES
There are no messages in the receive queue.
DPERR_NONAMESERVERFOUND
No name server (host) could be found or created. A host must exist to create a player.
DPERR_NONEWPLAYERS
The session is not accepting any new players.
DPERR_NOPLAYERS
There are no active players in the session.
DPERR_NOSESSIONS
There are no existing sessions for this game.
DPERR_NOTLOBBIED
Returned by the IDirectPlayLobby3::Connect method if the application was not started by using the IDirectPlayLobby3::RunApplication method, or if there is no DPLCONNECTION structure currently initialized for this DirectPlayLobby object.
DPERR_NOTLOGGEDIN
An action cannot be performed because a player or client application is not logged on. Returned by the IDirectPlay4::Send method when the client application tries to send a secure message without being logged on.
DPERR_OUTOFMEMORY
There is insufficient memory to perform the requested operation.
DPERR_PENDING
Not an error, this return indicates that an asynchronous send has reached the point where it is successfully queued. See IDirectPlay4::SendEx for more information.
DPERR_PLAYERLOST
A player has lost the connection to the session.
DPERR_SENDTOOBIG
The message being sent by the IDirectPlay4::Send method is too large.
DPERR_SESSIONLOST
The connection to the session has been lost.
DPERR_SIGNFAILED
The requested information could not be digitally signed. Digital signatures are used to establish the authenticity of messages.
DPERR_TIMEOUT
The operation could not be completed in the specified time.
DPERR_UNAVAILABLE
The requested function is not available at this time.
DPERR_UNINITIALIZED
The requested object has not been initialized.
DPERR_UNKNOWNAPPLICATION
An unknown application was specified.
DPERR_UNKNOWNMESSAGE
The message ID isn't valid. Returned from IDirectPlay4::CancelMessage if the ID of the message to be canceled is invalid.
DPERR_UNSUPPORTED
The function or feature is not available in this implementation or on this service provider. Returned from IDirectPlay4::GetGroupConnectionSettings and IDirectPlay4::SetGroupConnectionSettings if they are called from a session that is not a lobby session. Returned from IDirectPlay4::SendEx if the priority or time-out is set, and these are not supported by the service provider and DirectPlay protocol is not on. Returned from IDirectPlay4::GetMessageQueue if you check the send queue and this is not supported by the service provider and DirectPlay protocol is not on.
DPERR_USERCANCEL
Can be returned in two ways. 1) The user canceled the connection process during a call to the IDirectPlay4::Open method. 2) The user clicked Cancel in one of the DirectPlay service provider dialog boxes during a call to IDirectPlay4::EnumSessions.
E_UNKNOWN
Usually indicates a catastrophic failure of some sort; for example, the service provider cannot initialize correctly or a protocol such as IPX is not installed correctly on the machine.