Step 4: Creating a Session

If the user wants to create a new session, your application can create it by using the IDirectPlay3::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:

// Host a new session.

ZeroMemory(&sessionDesc, sizeof(DPSESSIONDESC2));

sessionDesc.dwSize = sizeof(DPSESSIONDESC2);

sessionDesc.dwFlags = DPSESSION_MIGRATEHOST | DPSESSION_KEEPALIVE;

sessionDesc.guidApplication = DPCHAT_GUID;

sessionDesc.dwMaxPlayers = MAXPLAYERS;

sessionDesc.lpszSessionNameA = lpszSessionName;

hr = lpDirectPlay3A->Open(&sessionDesc, DPOPEN_CREATE);

if FAILED(hr)

goto OPEN_FAILURE;