209 lines
		
	
	
		
			8.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			209 lines
		
	
	
		
			8.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/*==========================================================================
 | 
						|
 *
 | 
						|
 *  Copyright (C) 1999 Microsoft Corporation.  All Rights Reserved.
 | 
						|
 *
 | 
						|
 *  File:		dputils.cpp
 | 
						|
 *  Content:
 | 
						|
 *		This module contains the implementation of the  of the DirectPlay
 | 
						|
 *		related definitions, structures and utility functions.
 | 
						|
 *		The directplay utility module maintains a list of providers 
 | 
						|
 *		support so that we don't need to continue to enumerate the 
 | 
						|
 *		providers when we want a list.	
 | 
						|
 *
 | 
						|
 *  History:
 | 
						|
 *   Date		By		Reason
 | 
						|
 *   ====		==		======
 | 
						|
 * 07/16/99		rodtoll	Created
 | 
						|
 * 09/21/99		rodtoll	Updated to remove strings from retail build
 | 
						|
 *
 | 
						|
 ***************************************************************************/
 | 
						|
 | 
						|
#include "stdafx.h"
 | 
						|
#include <iostream.h>
 | 
						|
#include "dputils.h"
 | 
						|
#include "OSInd.h"
 | 
						|
 | 
						|
#define MODULE_ID   DIRECTPLAYUTILS
 | 
						|
 | 
						|
#undef DPF_MODNAME
 | 
						|
#define DPF_MODNAME "MapResultToString"
 | 
						|
// MapResultToString
 | 
						|
//
 | 
						|
// This function maps an HRESULT returned from a DirectPlay function
 | 
						|
// and stored in this exception to it's string equivalent in 
 | 
						|
// m_szErrorString.
 | 
						|
//
 | 
						|
// Parameters:
 | 
						|
// N/A
 | 
						|
//
 | 
						|
// Returns:
 | 
						|
// N/A
 | 
						|
//
 | 
						|
void DirectPlayException::MapResultToString()
 | 
						|
{
 | 
						|
#ifdef _DEBUG
 | 
						|
    switch( m_result )
 | 
						|
    {
 | 
						|
    case DP_OK: 
 | 
						|
        _tcscpy( m_szErrorString, _T( "The request completed successfully." ) );   
 | 
						|
        break;
 | 
						|
    case DPERR_ACCESSDENIED: 
 | 
						|
        _tcscpy( m_szErrorString, _T( "The session is full or an incorrect password was supplied." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_ACTIVEPLAYERS:
 | 
						|
        _tcscpy( m_szErrorString, _T( "The requested operation cannot be performed because there are existing active players." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_ALREADYINITIALIZED:
 | 
						|
        _tcscpy( m_szErrorString, _T( "This object is already initialized." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_APPNOTSTARTED:
 | 
						|
        _tcscpy( m_szErrorString, _T( "The application has not been started yet." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_AUTHENTICATIONFAILED:
 | 
						|
        _tcscpy( m_szErrorString, _T( "The password or credentials supplied could not be authenticated." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_BUFFERTOOLARGE:
 | 
						|
        _tcscpy( m_szErrorString, _T( "The data buffer is too large to store." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_BUSY:
 | 
						|
        _tcscpy( m_szErrorString, _T( "A message cannot be sent because the transmission medium is busy." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_BUFFERTOOSMALL:
 | 
						|
        _tcscpy( m_szErrorString, _T( "The supplied buffer is not large enough to contain the requested data." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_CANTADDPLAYER:
 | 
						|
        _tcscpy( m_szErrorString, _T( "The player cannot be added to the session." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_CANTCREATEGROUP:
 | 
						|
        _tcscpy( m_szErrorString, _T( "A new group cannot be created." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_CANTCREATEPLAYER:
 | 
						|
        _tcscpy( m_szErrorString, _T( "A new player cannot be created." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_CANTCREATEPROCESS:
 | 
						|
        _tcscpy( m_szErrorString, _T( "Cannot start the application." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_CANTCREATESESSION:
 | 
						|
        _tcscpy( m_szErrorString, _T( "A new session cannot be created." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_CANTLOADCAPI:
 | 
						|
        _tcscpy( m_szErrorString, _T( "No credentials were supplied and the CryptoAPI package (CAPI) to use for cryptography." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_CANTLOADSECURITYPACKAGE:
 | 
						|
        _tcscpy( m_szErrorString, _T( "The software security package cannot be loaded." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_CANTLOADSSPI:
 | 
						|
        _tcscpy( m_szErrorString, _T( "No credentials were supplied and  (SSPI) cannot be loaded." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_CAPSNOTAVAILABLEYET:
 | 
						|
        _tcscpy( m_szErrorString, _T( "The capabilities of the DirectPlay object have not been determined yet." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_CONNECTING:
 | 
						|
        _tcscpy( m_szErrorString, _T( "The method is in the process of connecting to the network." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_ENCRYPTIONFAILED:
 | 
						|
        _tcscpy( m_szErrorString, _T( "The requested information could not be digitally encrypted." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_EXCEPTION:
 | 
						|
        _tcscpy( m_szErrorString, _T( "An exception occurred when processing the request." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_GENERIC:
 | 
						|
        _tcscpy( m_szErrorString, _T( "An undefined error condition occurred." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_INVALIDFLAGS:
 | 
						|
        _tcscpy( m_szErrorString, _T( "The flags passed to this method are invalid." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_INVALIDGROUP:
 | 
						|
        _tcscpy( m_szErrorString, _T( "The group ID is not recognized as a valid group ID for this game session." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_INVALIDINTERFACE:
 | 
						|
        _tcscpy( m_szErrorString, _T( "The interface parameter is invalid." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_INVALIDOBJECT:
 | 
						|
        _tcscpy( m_szErrorString, _T( "The DirectPlay object pointer is invalid." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_INVALIDPARAMS:
 | 
						|
        _tcscpy( m_szErrorString, _T( "One or more of the parameters passed to the method are invalid." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_INVALIDPASSWORD:
 | 
						|
        _tcscpy( m_szErrorString, _T( "An invalid password was supplied when attempting to join a session that requires one." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_INVALIDPLAYER:
 | 
						|
        _tcscpy( m_szErrorString, _T( "The player ID is not recognized as a valid player ID for this game session." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_LOGONDENIED:
 | 
						|
        _tcscpy( m_szErrorString, _T( "The session could not be opened because credentials are required." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_NOCAPS:
 | 
						|
        _tcscpy( m_szErrorString, _T( "The communication link that DirectPlay is attempting to use is not capable of this function." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_NOCONNECTION:
 | 
						|
        _tcscpy( m_szErrorString, _T( "No communication link was established." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_NOINTERFACE:
 | 
						|
        _tcscpy( m_szErrorString, _T( "The interface is not supported." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_NOMESSAGES:
 | 
						|
        _tcscpy( m_szErrorString, _T( "There are no messages in the receive queue." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_NONAMESERVERFOUND:
 | 
						|
        _tcscpy( m_szErrorString, _T( "No name server (host) could be found or created. A host must exist to create a player." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_NONEWPLAYERS:
 | 
						|
        _tcscpy( m_szErrorString, _T( "The session is not accepting any new players." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_NOPLAYERS:
 | 
						|
        _tcscpy( m_szErrorString, _T( "There are no active players in the session." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_NOSESSIONS:
 | 
						|
        _tcscpy( m_szErrorString, _T( "There are no existing sessions for this game." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_NOTLOBBIED:
 | 
						|
        _tcscpy( m_szErrorString, _T( "Application was not started by using the IDirectPlayLobby2::RunApplication .." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_NOTLOGGEDIN:
 | 
						|
        _tcscpy( m_szErrorString, _T( "An action cannot be performed because a player or client application is not logged in." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_OUTOFMEMORY:
 | 
						|
        _tcscpy( m_szErrorString, _T( "There is insufficient memory to perform the requested operation." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_PLAYERLOST:
 | 
						|
        _tcscpy( m_szErrorString, _T( "A player has lost the connection to the session." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_SENDTOOBIG:
 | 
						|
        _tcscpy( m_szErrorString, _T( "The message being sent by the IDirectPlay3::Send method is too large." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_SESSIONLOST:
 | 
						|
        _tcscpy( m_szErrorString, _T( "The connection to the session has been lost." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_SIGNFAILED:
 | 
						|
        _tcscpy( m_szErrorString, _T( "The requested information could not be digitally signed." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_TIMEOUT:
 | 
						|
        _tcscpy( m_szErrorString, _T( "The operation could not be completed in the specified time." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_UNAVAILABLE:
 | 
						|
        _tcscpy( m_szErrorString, _T( "The requested function is not available at this time." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_UNINITIALIZED:
 | 
						|
        _tcscpy( m_szErrorString, _T( "The requested object has not been initialized." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_UNKNOWNAPPLICATION:
 | 
						|
        _tcscpy( m_szErrorString, _T( "An unknown application was specified." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_UNSUPPORTED:
 | 
						|
        _tcscpy( m_szErrorString, _T( "The function is not available in this implementation." ) );
 | 
						|
        break;
 | 
						|
    case DPERR_USERCANCEL:
 | 
						|
        _tcscpy( m_szErrorString, _T( "1) The user canceled the connection process..." ) );
 | 
						|
        break;
 | 
						|
    default:
 | 
						|
        _tcscpy( m_szErrorString, _T( "Unknown" ) );
 | 
						|
        break;
 | 
						|
    }
 | 
						|
#else
 | 
						|
	_tcscpy( m_szErrorString, _T( "" ) );
 | 
						|
#endif
 | 
						|
}
 | 
						|
 |