Platform SDK: DirectX |
The IDirectPlayLobby3::RunApplication method starts an application and passes to it all the information necessary to connect it to a session. This method is used by a lobby client.
HRESULT RunApplication( DWORD dwFlags, LPDWORD lpdwAppID, LPDPLCONNECTION lpConn, HANDLE hReceiveEvent );
Returns DP_OK if successful, or one of the following error values otherwise:
DPERR_CANTCREATEPROCESS |
DPERR_GENERIC |
DPERR_INVALIDINTERFACE |
DPERR_INVALIDOBJECT |
DPERR_INVALIDPARAMS |
DPERR_OUTOFMEMORY |
DPERR_UNKNOWNAPPLICATION |
This method will return after the application process has been created. The lobby client will receive a system message indicating the status of the application. If the lobby client is starting an application that will be hosting a session, it should wait until it receives a DPLSYS_DPLAYCONNECTSUCCEEDED system message before starting the other applications that will be joining the session. If the application was unable to create or join a session, a DPLSYS_DPLAYCONNECTFAILED message will be generated. The lobby client will also receive a DPLSYS_CONNECTIONSETTINGSREAD system message when the application has read the connection settings and a DPLSYS_APPTERMINATED system message when the application terminates.
It is important that the lobby client not release its IDirectPlayLobby3 interface before it receives a DPLSYS_CONNECTIONSETTINGSREAD system message. The lobby client can either check IDirectPlayLobby3::ReceiveLobbyMessage in a loop until it is received, or supply a synchronization event.
Windows NT/2000: Requires Windows 2000.
Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
Header: Declared in dplobby.h.
Import Library: Use dplayx.lib.
IDirectPlayLobby3::ReceiveLobbyMessage, IDirectPlayLobby3::GetConnectionSettings, IDirectPlayLobby3::SetLobbyMessageEvent