8#ifndef __DPLOBBY_INCLUDED__
9#define __DPLOBBY_INCLUDED__
22DEFINE_GUID(IID_IDirectPlayLobby, 0xaf465c71, 0x9588, 0x11cf, 0xa0, 0x20, 0x0, 0xaa, 0x0, 0x61, 0x57, 0xac);
24DEFINE_GUID(IID_IDirectPlayLobbyA, 0x26c66a70, 0xb367, 0x11cf, 0xa0, 0x24, 0x0, 0xaa, 0x0, 0x61, 0x57, 0xac);
26DEFINE_GUID(IID_IDirectPlayLobby2, 0x194c220, 0xa303, 0x11d0, 0x9c, 0x4f, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
28DEFINE_GUID(IID_IDirectPlayLobby2A, 0x1bb4af80, 0xa303, 0x11d0, 0x9c, 0x4f, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
30DEFINE_GUID(CLSID_DirectPlayLobby, 0x2fe8f810, 0xb2a5, 0x11d0, 0xa7, 0x87, 0x0, 0x0, 0xf8, 0x3, 0xab, 0xfc);
96typedef BOOL (FAR PASCAL *LPDPENUMADDRESSCALLBACK)(
105typedef BOOL (FAR PASCAL *LPDPLENUMADDRESSTYPESCALLBACK)(
106 REFGUID guidDataType,
113typedef BOOL (FAR PASCAL * LPDPLENUMLOCALAPPLICATIONSCALLBACK)(
125#define DirectPlayLobbyCreate DirectPlayLobbyCreateW
127#define DirectPlayLobbyCreate DirectPlayLobbyCreateA
140#define INTERFACE IDirectPlayLobby
144 STDMETHOD(QueryInterface) (THIS_ REFIID riid,
LPVOID * ppvObj) PURE;
145 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
146 STDMETHOD_(ULONG,Release) (THIS) PURE;
150 STDMETHOD(CreateAddress) (THIS_ REFGUID, REFGUID, LPCVOID,
DWORD,
LPVOID, LPDWORD) PURE;
151 STDMETHOD(EnumAddress) (THIS_ LPDPENUMADDRESSCALLBACK, LPCVOID,
DWORD,
LPVOID) PURE;
152 STDMETHOD(EnumAddressTypes) (THIS_ LPDPLENUMADDRESSTYPESCALLBACK, REFGUID,
LPVOID,
DWORD) PURE;
153 STDMETHOD(EnumLocalApplications)(THIS_ LPDPLENUMLOCALAPPLICATIONSCALLBACK,
LPVOID,
DWORD) PURE;
154 STDMETHOD(GetConnectionSettings)(THIS_
DWORD,
LPVOID, LPDWORD) PURE;
155 STDMETHOD(ReceiveLobbyMessage) (THIS_
DWORD,
DWORD, LPDWORD,
LPVOID, LPDWORD) PURE;
159 STDMETHOD(SetLobbyMessageEvent) (THIS_
DWORD,
DWORD, HANDLE) PURE;
169#define INTERFACE IDirectPlayLobby2
173 STDMETHOD(QueryInterface) (THIS_ REFIID riid,
LPVOID * ppvObj) PURE;
174 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
175 STDMETHOD_(ULONG,Release) (THIS) PURE;
179 STDMETHOD(CreateAddress) (THIS_ REFGUID, REFGUID, LPCVOID,
DWORD,
LPVOID, LPDWORD) PURE;
180 STDMETHOD(EnumAddress) (THIS_ LPDPENUMADDRESSCALLBACK, LPCVOID,
DWORD,
LPVOID) PURE;
181 STDMETHOD(EnumAddressTypes) (THIS_ LPDPLENUMADDRESSTYPESCALLBACK, REFGUID,
LPVOID,
DWORD) PURE;
182 STDMETHOD(EnumLocalApplications)(THIS_ LPDPLENUMLOCALAPPLICATIONSCALLBACK,
LPVOID,
DWORD) PURE;
183 STDMETHOD(GetConnectionSettings)(THIS_
DWORD,
LPVOID, LPDWORD) PURE;
184 STDMETHOD(ReceiveLobbyMessage) (THIS_
DWORD,
DWORD, LPDWORD,
LPVOID, LPDWORD) PURE;
188 STDMETHOD(SetLobbyMessageEvent) (THIS_
DWORD,
DWORD, HANDLE) PURE;
200#if !defined(__cplusplus) || defined(CINTERFACE)
202#define IDirectPlayLobby_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
203#define IDirectPlayLobby_AddRef(p) (p)->lpVtbl->AddRef(p)
204#define IDirectPlayLobby_Release(p) (p)->lpVtbl->Release(p)
205#define IDirectPlayLobby_Connect(p,a,b,c) (p)->lpVtbl->Connect(p,a,b,c)
206#define IDirectPlayLobby_CreateAddress(p,a,b,c,d,e,f) (p)->lpVtbl->CreateAddress(p,a,b,c,d,e,f)
207#define IDirectPlayLobby_CreateCompoundAddress(p,a,b,c,d) (p)->lpVtbl->CreateCompoundAddress(p,a,b,c,d)
208#define IDirectPlayLobby_EnumAddress(p,a,b,c,d) (p)->lpVtbl->EnumAddress(p,a,b,c,d)
209#define IDirectPlayLobby_EnumAddressTypes(p,a,b,c,d) (p)->lpVtbl->EnumAddressTypes(p,a,b,c,d)
210#define IDirectPlayLobby_EnumLocalApplications(p,a,b,c) (p)->lpVtbl->EnumLocalApplications(p,a,b,c)
211#define IDirectPlayLobby_GetConnectionSettings(p,a,b,c) (p)->lpVtbl->GetConnectionSettings(p,a,b,c)
212#define IDirectPlayLobby_ReceiveLobbyMessage(p,a,b,c,d,e) (p)->lpVtbl->ReceiveLobbyMessage(p,a,b,c,d,e)
213#define IDirectPlayLobby_RunApplication(p,a,b,c,d) (p)->lpVtbl->RunApplication(p,a,b,c,d)
214#define IDirectPlayLobby_SendLobbyMessage(p,a,b,c,d) (p)->lpVtbl->SendLobbyMessage(p,a,b,c,d)
215#define IDirectPlayLobby_SetConnectionSettings(p,a,b,c) (p)->lpVtbl->SetConnectionSettings(p,a,b,c)
216#define IDirectPlayLobby_SetLobbyMessageEvent(p,a,b,c) (p)->lpVtbl->SetLobbyMessageEvent(p,a,b,c)
220#define IDirectPlayLobby_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
221#define IDirectPlayLobby_AddRef(p) (p)->AddRef()
222#define IDirectPlayLobby_Release(p) (p)->Release()
223#define IDirectPlayLobby_Connect(p,a,b,c) (p)->Connect(a,b,c)
224#define IDirectPlayLobby_CreateAddress(p,a,b,c,d,e,f) (p)->CreateAddress(a,b,c,d,e,f)
225#define IDirectPlayLobby_CreateCompoundAddress(p,a,b,c,d) (p)->lpVtbl->CreateCompoundAddress(a,b,c,d)
226#define IDirectPlayLobby_EnumAddress(p,a,b,c,d) (p)->EnumAddress(a,b,c,d)
227#define IDirectPlayLobby_EnumAddressTypes(p,a,b,c,d) (p)->EnumAddressTypes(a,b,c,d)
228#define IDirectPlayLobby_EnumLocalApplications(p,a,b,c) (p)->EnumLocalApplications(a,b,c)
229#define IDirectPlayLobby_GetConnectionSettings(p,a,b,c) (p)->GetConnectionSettings(a,b,c)
230#define IDirectPlayLobby_ReceiveLobbyMessage(p,a,b,c,d,e) (p)->ReceiveLobbyMessage(a,b,c,d,e)
231#define IDirectPlayLobby_RunApplication(p,a,b,c,d) (p)->RunApplication(a,b,c,d)
232#define IDirectPlayLobby_SendLobbyMessage(p,a,b,c,d) (p)->SendLobbyMessage(a,b,c,d)
233#define IDirectPlayLobby_SetConnectionSettings(p,a,b,c) (p)->SetConnectionSettings(a,b,c)
234#define IDirectPlayLobby_SetLobbyMessageEvent(p,a,b,c) (p)->SetLobbyMessageEvent(a,b,c)
249#define DPLMSG_SYSTEM 0x00000001
257#define DPLMSG_STANDARD 0x00000002
289#define DPL_NOCONFIRMATION 0
334#define DPLSYS_CONNECTIONSETTINGSREAD 0x00000001
339#define DPLSYS_DPLAYCONNECTFAILED 0x00000002
344#define DPLSYS_DPLAYCONNECTSUCCEEDED 0x00000003
349#define DPLSYS_APPTERMINATED 0x00000004
354#define DPLSYS_SETPROPERTY 0x00000005
359#define DPLSYS_SETPROPERTYRESPONSE 0x00000006
364#define DPLSYS_GETPROPERTY 0x00000007
369#define DPLSYS_GETPROPERTYRESPONSE 0x00000008
3880x762ccda1, 0xd916, 0x11d0, 0xba, 0x39, 0x0, 0xc0, 0x4f, 0xd7, 0xed, 0x67);
4000xf56920a0, 0xd218, 0x11d0, 0xba, 0x39, 0x0, 0xc0, 0x4f, 0xd7, 0xed, 0x67);
4120xb4319322, 0xd20d, 0x11d0, 0xba, 0x39, 0x0, 0xc0, 0x4f, 0xd7, 0xed, 0x67);
4360x48784000, 0xd219, 0x11d0, 0xba, 0x39, 0x0, 0xc0, 0x4f, 0xd7, 0xed, 0x67);
4860x1318f560, 0x912c, 0x11d0, 0x9d, 0xaa, 0x0, 0xa0, 0xc9, 0xa, 0x43, 0xcb);
4970x7d916c0, 0xe0af, 0x11cf, 0x9c, 0x4e, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
5080x59b95640, 0x9667, 0x11d0, 0xa7, 0x7d, 0x0, 0x0, 0xf8, 0x3, 0xab, 0xfc);
5190x78ec89a0, 0xe0af, 0x11cf, 0x9c, 0x4e, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
5230xba5a7a70, 0x9dbf, 0x11d0, 0x9c, 0xc1, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
5340xf6dcc200, 0xa2fe, 0x11d0, 0x9c, 0x4f, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
5380x1fd92e0, 0xa2ff, 0x11d0, 0x9c, 0x4f, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
5490xc4a54da0, 0xe0af, 0x11cf, 0x9c, 0x4e, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
5530xe63232a0, 0x9dbf, 0x11d0, 0x9c, 0xc1, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
563#define DPCPA_NOFLOW 0
564#define DPCPA_XONXOFFFLOW 1
565#define DPCPA_RTSFLOW 2
566#define DPCPA_DTRFLOW 3
567#define DPCPA_RTSDTRFLOW 4
5880xf2f0ce00, 0xe0af, 0x11cf, 0x9c, 0x4e, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
596#define DPLAD_SYSTEM DPLMSG_SYSTEM
LPSTR LPSTR LPVOID
Definition: d3dcaps.h:213
#define IUnknown
Definition: ddraw.h:28
typedef DWORD(FAR PASCAL *LPCLIPPERCALLBACK)(LPDIRECTDRAWCLIPPER lpDDClipper
long HRESULT
Definition: ddraw.h:115
struct IDirectPlay2 FAR * LPDIRECTPLAY2
Definition: dplay.h:73
struct DPLCONNECTION * LPDPLCONNECTION
struct DPCOMPOUNDADDRESSELEMENT DPCOMPOUNDADDRESSELEMENT
struct IDirectPlayLobby2 FAR * LPDIRECTPLAYLOBBY2
Definition: dplobby.h:45
DECLARE_INTERFACE_(IDirectPlayLobby, IUnknown)
Definition: dplobby.h:141
struct _DPLMSG_GETPROPERTYRESPONSE * LPDPLMSG_GETPROPERTYRESPONSE
LPVOID DWORD dwFlags
Definition: dplobby.h:108
DWORD LPCVOID lpData
Definition: dplobby.h:99
struct _DPLMSG_GETPROPERTYRESPONSE DPLMSG_GETPROPERTYRESPONSE
Standard message returned by a lobby in response to a DPLMSG_GETPROPERTY message.
typedef BOOL(FAR PASCAL *LPDPENUMADDRESSCALLBACK)(REFGUID guidDataType
struct _DPLMSG_GETPROPERTY * LPDPLMSG_GETPROPERTY
struct _DPLMSG_SETPROPERTYRESPONSE DPLMSG_SETPROPERTYRESPONSE
Standard message returned by a lobby to confirm a DPLMSG_SETPROPERTY message.
DPCOMPORTADDRESS FAR * LPDPCOMPORTADDRESS
Definition: dplobby.h:578
struct _DPADDRESS DPADDRESS
DEFINE_GUID(IID_IDirectPlayLobby, 0xaf465c71, 0x9588, 0x11cf, 0xa0, 0x20, 0x0, 0xaa, 0x0, 0x61, 0x57, 0xac)
const DPLAPPINFO FAR * LPCDPLAPPINFO
Definition: dplobby.h:69
struct _DPLDATA_PLAYERGUID DPLDATA_PLAYERGUID
HRESULT WINAPI DirectPlayLobbyCreateA(LPGUID, LPDIRECTPLAYLOBBYA *, IUnknown *, LPVOID, DWORD)
DPADDRESS FAR * LPDPADDRESS
Definition: dplobby.h:476
struct _DPLMSG_GENERIC * LPDPLMSG_GENERIC
struct _DPLMSG_SETPROPERTY * LPDPLMSG_SETPROPERTY
struct IDirectPlayLobby FAR * LPDIRECTPLAYLOBBYA
Definition: dplobby.h:42
const DPCOMPOUNDADDRESSELEMENT FAR * LPCDPCOMPOUNDADDRESSELEMENT
Definition: dplobby.h:84
struct _DPLMSG_SETPROPERTY DPLMSG_SETPROPERTY
Standard message sent by an application to a lobby to set a property.
HRESULT WINAPI DirectPlayLobbyCreateW(LPGUID, LPDIRECTPLAYLOBBY *, IUnknown *, LPVOID, DWORD)
struct _DPLDATA_PLAYERSCORE DPLDATA_PLAYERSCORE
struct DPLAPPINFO DPLAPPINFO
struct IDirectPlayLobby2 IDirectPlayLobby2A
Definition: dplobby.h:47
DWORD dwDataSize
Definition: dplobby.h:98
struct IDirectPlayLobby FAR * LPDIRECTPLAYLOBBY
Definition: dplobby.h:41
struct _DPLMSG_GETPROPERTY DPLMSG_GETPROPERTY
Standard message sent by an application to a lobby to request the current value of a property.
struct DPCOMPOUNDADDRESSELEMENT * LPDPCOMPOUNDADDRESSELEMENT
struct _DPCOMPORTADDRESS DPCOMPORTADDRESS
struct IDirectPlayLobby IDirectPlayLobbyA
Definition: dplobby.h:43
struct _DPLDATA_PLAYERGUID * LPDPLDATA_PLAYERGUID
struct _DPLDATA_PLAYERSCORE * LPDPLDATA_PLAYERSCORE
struct _DPLMSG_GENERIC DPLMSG_GENERIC
Generic message structure used to identify the message type.
struct IDirectPlayLobby2 FAR * LPDIRECTPLAYLOBBY2A
Definition: dplobby.h:46
struct _DPLMSG_SETPROPERTYRESPONSE * LPDPLMSG_SETPROPERTYRESPONSE
struct DPLAPPINFO * LPDPLAPPINFO
DWORD LPCVOID LPVOID lpContext
Definition: dplobby.h:100
LPVOID lpData
Definition: dplobby.h:78
DWORD dwDataSize
Definition: dplobby.h:77
GUID guidDataType
Definition: dplobby.h:76
DWORD dwSize
Size of this structure.
Definition: dplobby.h:56
GUID guidApplication
GUID of the Application.
Definition: dplobby.h:57
LPWSTR lpszAppName
Definition: dplobby.h:61
LPSTR lpszAppNameA
Pointer to the Application Name.
Definition: dplobby.h:60
Definition: dplobby.h:471
DWORD dwDataSize
Definition: dplobby.h:473
GUID guidDataType
Definition: dplobby.h:472
Definition: dplobby.h:570
DWORD dwComPort
COM port to use (1-4)
Definition: dplobby.h:571
DWORD dwFlowControl
flow control (none, xon/xoff, rts, dtr)
Definition: dplobby.h:575
DWORD dwParity
parity (none, odd, even, mark)
Definition: dplobby.h:574
DWORD dwStopBits
no. stop bits (1-2)
Definition: dplobby.h:573
DWORD dwBaudRate
baud rate (100-256k)
Definition: dplobby.h:572
Definition: dplobby.h:421
DWORD dwPlayerFlags
Definition: dplobby.h:423
GUID guidPlayer
Definition: dplobby.h:422
Definition: dplobby.h:445
LONG Score[1]
Definition: dplobby.h:447
DWORD dwScoreCount
Definition: dplobby.h:446
Generic message structure used to identify the message type.
Definition: dplobby.h:274
DWORD dwType
Message type.
Definition: dplobby.h:275
Standard message returned by a lobby in response to a DPLMSG_GETPROPERTY message.
Definition: dplobby.h:312
GUID guidPropertyTag
Property GUID.
Definition: dplobby.h:316
DWORD dwRequestID
Request ID.
Definition: dplobby.h:314
GUID guidPlayer
Player GUID.
Definition: dplobby.h:315
DWORD dwType
Message type.
Definition: dplobby.h:313
HRESULT hr
Return Code.
Definition: dplobby.h:317
DWORD dwDataSize
Size of data.
Definition: dplobby.h:318
DWORD dwPropertyData[1]
Buffer containing data.
Definition: dplobby.h:319
Standard message sent by an application to a lobby to request the current value of a property.
Definition: dplobby.h:303
GUID guidPlayer
Player GUID.
Definition: dplobby.h:306
GUID guidPropertyTag
Property GUID.
Definition: dplobby.h:307
DWORD dwType
Message type.
Definition: dplobby.h:304
DWORD dwRequestID
Request ID.
Definition: dplobby.h:305
Standard message returned by a lobby to confirm a DPLMSG_SETPROPERTY message.
Definition: dplobby.h:293
GUID guidPropertyTag
Property GUID.
Definition: dplobby.h:297
GUID guidPlayer
Player GUID.
Definition: dplobby.h:296
HRESULT hr
Return Code.
Definition: dplobby.h:298
DWORD dwType
Message type.
Definition: dplobby.h:294
DWORD dwRequestID
Request ID.
Definition: dplobby.h:295
Standard message sent by an application to a lobby to set a property.
Definition: dplobby.h:280
DWORD dwType
Message type.
Definition: dplobby.h:281
GUID guidPlayer
Player GUID.
Definition: dplobby.h:283
DWORD dwPropertyData[1]
Buffer containing data.
Definition: dplobby.h:286
DWORD dwDataSize
Size of data.
Definition: dplobby.h:285
DWORD dwRequestID
Request ID (DPL_NOCONFIRMATION if no confirmation desired)
Definition: dplobby.h:282
GUID guidPropertyTag
Property GUID.
Definition: dplobby.h:284