Platform SDK: DirectX

IDirectPlay4::StartSession

The IDirectPlay4::StartSession method launches a DirectPlay session from a staging area. Call SetGroupConnectionSettings first to specify what application to launch, which service provider to use, and what session description to use.

When StartSession is called, each player in the group receives a DPMSG_STARTSESSION instructing the player to launch the session.

HRESULT StartSession(
  DWORD dwFlags,
  DPID idGroup
);

Parameters

dwFlags
Not used. Must be 0.
idGroup
The ID of the group to send start session commands to. The group must be a staging area.

Return Values

Returns DP_OK if successful or one of the following error values:

DPERR_ACCESSDENIED
DPERR_CONNECTIONLOST
DPERR_INVALIDFLAGS
DPERR_INVALIDGROUP
DPERR_INVALIDPARAMS

This method returns DPERR_INVALIDGROUP if the given group ID is not a valid staging area.

Remarks

A player joining a staging area group for which the session has already started can call this method to join the session. The player will receive a DPMSG_STARTSESSION message instructing it how to join the session.

You can determine if a session is already in progress by calling IDirectPlay4::GetGroupConnectionSettings and examining the guidInstance parameter it returns through a pointer in the DPLCONNECTION structure to the DPSESSIONDESC2 structure. If guidInstance is GUID_NULL, no session is in progress. If it is any other value, a session is already in progress.

Requirements

  Windows NT/2000: Requires Windows 2000.
  Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
  Header: Declared in dplay.h.
  Import Library: Use dplayx.lib.

See Also

Synchronized Launching