WindowsXP-SP1/termsrv/remdsk/msngr/directplayconnection.h
2020-09-30 16:53:49 +02:00

76 lines
1.8 KiB
C++

/*++
Copyright (c) 2000 Microsoft Corporation
Module Name:
DirectPlayConnection
Abstract:
DirectPlayConnection is a wrapper around the direct play interfaces
to just do what is needed for this application. It takes care of
connecting to the remote machine and sending/recieving the connction
paramters.
Author:
Marc Reyhner 7/5/2000
--*/
#ifndef __DIRECTPLAYCONNECTION_H__
#define __DIRECTPLAYCONNECTION_H__
#include "dplobby.h"
// We want to wait 15 seconds for the remote instance to start
#define GETREMOTEPLAYERTIMEOUT (60*1000)
// We want to wait 15 seconds for the message to show up
#define GETPARMSTIMEOUT (60*1000)
////////////////////////////////////////////////
//
// CDirectPlayConnection
//
// Class for dealing with all the direct play APIs.
//
class CDirectPlayConnection
{
private:
DPID m_PlayerID;
BOOL m_bConnected;
LPDIRECTPLAY2 m_rDirectPlay;
LPDPLCONNECTION m_rSettings;
LPDIRECTPLAYLOBBY m_rLobby;
HANDLE m_hEventHandle;
DPID xGetOtherPlayerID();
LPDPMSG_GENERIC xReceiveMessage(DPID from, DPID to, DWORD dwFlags);
public:
// Constructor/Destructor
CDirectPlayConnection();
virtual ~CDirectPlayConnection();
// This returns whether or not this is the server session.
BOOL IsServer();
// This fetches the connection parms from the server session.
BSTR ReceiveConnectionParameters();
// This sends the connection parms to the client session,
VOID SendConnectionParameters(BSTR parms);
// This connections you to the remote session.
VOID ConnectToRemoteApplication();
// This disconnects you from the remote session
VOID DisconnectRemoteApplication();
};
#endif