Microsoft DirectX 8.1 (C++)

IDirectPlay8LobbiedApplication::Initialize

Registers a message handler function that receives notifications about changes in the state of the lobby client and receives messages from the lobby client.

HRESULT Initialize(
const PVOID pvUserContext,
const PFNDPNMESSAGEHANDLER pfn,
DPNHANDLE *const pdpnhConnection,
const DWORD dwFlags
);

Parameters

pvUserContext
[in] Pointer to the user-provided context value in calls to the message handler. Providing a user-context value is useful to differentiate messages from multiple interfaces to a common message handler.
pfn
[in] Pointer to a PFNDPNMESSAGEHANDLER callback function that receives all messages from the IDirectPlay8LobbyClient interface and indications of session changes from the IDirectPlay8LobbiedApplication interface.
pdpnhConnection
[out] Value used to detect if your application was lobby launched. If your application was lobby launched, this parameter will be set to the connection handle for the lobby client. If your process was not lobby launched, this parameter is set to NULL.
dwFlags
[in] The following flag can be specified.
DPLINITIALIZE_DISABLEPARAMVAL
Disables parameter validation.

Return Values

Returns S_OK if successful, or one of the following error values.

DPNERR_ALREADYINITIALIZED
DPNERR_INVALIDFLAGS
DPNERR_INVALIDPARAM
DPNERR_NOTALLOWED

Remarks

Call this method first after using CoCreateInstance to obtain the IDirectPlay8LobbiedApplication interface.

This method automatically establishes a connection to the lobby client if you were lobby launched. If you call Initialize and you were lobby launched and the lobbied application interface is unable to contact the lobby client process, Initialize will time out after four seconds. In this case, Initialize will return DPNERR_TIMEDOUT but will still succeed.

Note  Only one instance of IDirectPlay8LobbyClient and IDirectPlay8LobbiedApplication is allowed to be running for each process.

Requirements

  Windows NT/2000/XP: Available as a redistributable for Windows 2000 and later.
  Windows 98/Me: Available as a redistributable for Windows 98 and later.
  Header: Declared in Dplobby8.h.