| Platform SDK: DirectX |
This tutorial pertains only to applications written in C++. See DirectPlay Visual Basic Tutorials.
If the user wants to create a new session, your application can create it by using the IDirectPlay4::Open method and specifying the DPOPEN_CREATE flag. Again, the service provider might display a dialog box requesting information from the user before it can create the session.
The following example shows how to create a new session:
ZeroMemory( &dpsd, sizeof(dpsd) );
dpsd.dwSize = sizeof(dpsd);
dpsd.guidApplication = g_AppGUID;
dpsd.lpszSessionNameA = g_strSessionName;
dpsd.dwMaxPlayers = 10;
// The DPSESSION_KEEPALIVE flag keeps the session alive
// if players abnormally exit.
dpsd.dwFlags = DPSESSION_KEEPALIVE | DPSESSION_MIGRATEHOST;
if ( g_bUseProtocol )
dpsd.dwFlags |= DPSESSION_DIRECTPLAYPROTOCOL;
// Create a new session.
g_bHostPlayer = TRUE;
if ( FAILED( hr = g_pDP->Open( &dpsd, DPOPEN_CREATE ) ) )
return hr;