source: trunk/include/win/dplobby.h@ 689

Last change on this file since 689 was 4, checked in by ktk, 26 years ago

Import

File size: 7.0 KB
Line 
1/* $Id: dplobby.h,v 1.1 1999-05-24 20:19:11 ktk Exp $ */
2
3#ifndef __WINE_DPLOBBY_H
4#define __WINE_DPLOBBY_H
5
6#include "dplay.h"
7
8
9#pragma pack(1)
10
11/*****************************************************************************
12 * Predeclare the interfaces
13 */
14DEFINE_GUID(CLSID_DirectPlayLobby, 0x2fe8f810, 0xb2a5, 0x11d0, 0xa7, 0x87, 0x0, 0x0, 0xf8, 0x3, 0xab, 0xfc);
15
16DEFINE_GUID(IID_IDirectPlayLobby, 0xaf465c71, 0x9588, 0x11cf, 0xa0, 0x20, 0x0, 0xaa, 0x0, 0x61, 0x57, 0xac);
17typedef struct IDirectPlayLobby IDirectPlayLobby,*LPDIRECTPLAYLOBBY;
18
19DEFINE_GUID(IID_IDirectPlayLobbyA, 0x26c66a70, 0xb367, 0x11cf, 0xa0, 0x24, 0x0, 0xaa, 0x0, 0x61, 0x57, 0xac);
20typedef struct IDirectPlayLobby IDirectPlayLobbyA,*LPDIRECTPLAYLOBBYA;
21
22DEFINE_GUID(IID_IDirectPlayLobby2, 0x194c220, 0xa303, 0x11d0, 0x9c, 0x4f, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
23typedef struct IDirectPlayLobby2 IDirectPlayLobby2, *LPDIRECTPLAYLOBBY2;
24
25DEFINE_GUID(IID_IDirectPlayLobby2A, 0x1bb4af80, 0xa303, 0x11d0, 0x9c, 0x4f, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
26typedef struct IDirectPlayLobby2 IDirectPlayLobby2A, *LPDIRECTPLAYLOBBY2A;
27
28
29/*****************************************************************************
30 * Miscellaneous
31 */
32
33typedef struct tagDPLAPPINFO
34{
35 DWORD dwSize;
36 GUID guidApplication;
37
38 union appName
39 {
40 LPSTR lpszAppNameA;
41 LPWSTR lpszAppName;
42 };
43
44} DPLAPPINFO, *LPDPLAPPINFO;
45typedef const DPLAPPINFO *LPCDPLAPPINFO;
46
47typedef struct DPCOMPOUNDADDRESSELEMENT
48{
49 GUID guidDataType;
50 DWORD dwDataSize;
51 LPVOID lpData;
52} DPCOMPOUNDADDRESSELEMENT, *LPDPCOMPOUNDADDRESSELEMENT;
53typedef const DPCOMPOUNDADDRESSELEMENT *LPCDPCOMPOUNDADDRESSELEMENT;
54
55
56extern HRESULT WINAPI DirectPlayLobbyCreateW(LPGUID, LPDIRECTPLAYLOBBY *, IUnknown *, LPVOID, DWORD );
57extern HRESULT WINAPI DirectPlayLobbyCreateA(LPGUID, LPDIRECTPLAYLOBBYA *, IUnknown *, LPVOID, DWORD );
58
59
60
61typedef BOOL (CALLBACK* LPDPENUMADDRESSCALLBACK)(
62 REFGUID guidDataType,
63 DWORD dwDataSize,
64 LPCVOID lpData,
65 LPVOID lpContext );
66
67typedef BOOL (CALLBACK* LPDPLENUMADDRESSTYPESCALLBACK)(
68 REFGUID guidDataType,
69 LPVOID lpContext,
70 DWORD dwFlags );
71
72typedef BOOL (CALLBACK* LPDPLENUMLOCALAPPLICATIONSCALLBACK)(
73 LPCDPLAPPINFO lpAppInfo,
74 LPVOID lpContext,
75 DWORD dwFlags );
76
77
78/*****************************************************************************
79 * IDirectPlayLobby interface
80 */
81#define ICOM_INTERFACE IDirectPlayLobby
82#define IDirectPlayLobby_METHODS \
83 ICOM_METHOD3(HRESULT,Connect, DWORD,, LPDIRECTPLAY2*,, IUnknown*,) \
84 ICOM_METHOD6(HRESULT,CreateAddress, REFGUID,, REFGUID,, LPCVOID,, DWORD,, LPVOID,, LPDWORD,) \
85 ICOM_METHOD4(HRESULT,EnumAddress, LPDPENUMADDRESSCALLBACK,, LPCVOID,, DWORD,, LPVOID,) \
86 ICOM_METHOD4(HRESULT,EnumAddressTypes, LPDPLENUMADDRESSTYPESCALLBACK,, REFGUID,, LPVOID,, DWORD,) \
87 ICOM_METHOD3(HRESULT,EnumLocalApplications, LPDPLENUMLOCALAPPLICATIONSCALLBACK,, LPVOID,, DWORD,) \
88 ICOM_METHOD3(HRESULT,GetConnectionSettings, DWORD,, LPVOID,, LPDWORD,) \
89 ICOM_METHOD5(HRESULT,ReceiveLobbyMessage, DWORD,, DWORD,, LPDWORD,, LPVOID,, LPDWORD,) \
90 ICOM_METHOD4(HRESULT,RunApplication, DWORD,, LPDWORD,, LPDPLCONNECTION,, HANDLE,) \
91 ICOM_METHOD4(HRESULT,SendLobbyMessage, DWORD,, DWORD,, LPVOID,, DWORD,) \
92 ICOM_METHOD3(HRESULT,SetConnectionSettings, DWORD,, DWORD,, LPDPLCONNECTION,) \
93 ICOM_METHOD3(HRESULT,SetLobbyMessageEvent, DWORD,, DWORD,, HANDLE,)
94#define IDirectPlayLobby_IMETHODS \
95 IUnknown_IMETHODS \
96 IDirectPlayLobby_METHODS
97ICOM_DEFINE(IDirectPlayLobby,IUnknown)
98#undef ICOM_INTERFACE
99
100#ifdef ICOM_CINTERFACE
101/*** IUnknown methods ***/
102#define IDirectPlayLobby_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
103#define IDirectPlayLobby_AddRef(p) ICOM_CALL (AddRef,p)
104#define IDirectPlayLobby_Release(p) ICOM_CALL (Release,p)
105/*** IDirectPlayLobby methods ***/
106#define IDirectPlayLobby_Connect(p,a,b,c) ICOM_CALL3(Connect,p,a,b,c)
107#define IDirectPlayLobby_CreateAddress(p,a,b,c,d,e,f) ICOM_CALL6(CreateAddress,p,a,b,c,d,e,f)
108#define IDirectPlayLobby_EnumAddress(p,a,b,c,d) ICOM_CALL4(EnumAddress,p,a,b,c,d)
109#define IDirectPlayLobby_EnumAddressTypes(p,a,b,c,d) ICOM_CALL4(EnumAddressTypes,p,a,b,c,d)
110#define IDirectPlayLobby_EnumLocalApplications(p,a,b,c) ICOM_CALL3(EnumLocalApplications,p,a,b,c)
111#define IDirectPlayLobby_GetConnectionSettings(p,a,b,c) ICOM_CALL3(GetConnectionSettings,p,a,b,c)
112#define IDirectPlayLobby_ReceiveLobbyMessage(p,a,b,c,d,e) ICOM_CALL5(ReceiveLobbyMessage,p,a,b,c,d,e)
113#define IDirectPlayLobby_RunApplication(p,a,b,c,d) ICOM_CALL4(RunApplication,p,a,b,c,d)
114#define IDirectPlayLobby_SendLobbyMessage(p,a,b,c,d) ICOM_CALL4(SendLobbyMessage,p,a,b,c,d)
115#define IDirectPlayLobby_SetConnectionSettings(p,a,b,c) ICOM_CALL3(SetConnectionSettings,p,a,b,c)
116#define IDirectPlayLobby_SetLobbyMessageEvent(p,a,b,c) ICOM_CALL3(SetLobbyMessageEvent,p,a,b,c)
117#endif
118
119
120/*****************************************************************************
121 * IDirectPlayLobby2 interface
122 */
123#define ICOM_INTERFACE IDirectPlayLobby2
124#define IDirectPlayLobby2_METHODS \
125 ICOM_METHOD4(HRESULT,CreateCompoundAddress, LPCDPCOMPOUNDADDRESSELEMENT,, DWORD,, LPVOID,, LPDWORD,)
126#define IDirectPlayLobby2_IMETHODS \
127 IDirectPlayLobby_IMETHODS \
128 IDirectPlayLobby2_METHODS
129ICOM_DEFINE(IDirectPlayLobby2,IDirectPlayLobby)
130#undef ICOM_INTERFACE
131
132#ifdef ICOM_CINTERFACE
133/*** IUnknown methods ***/
134#define IDirectPlayLobby2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
135#define IDirectPlayLobby2_AddRef(p) ICOM_CALL (AddRef,p)
136#define IDirectPlayLobby2_Release(p) ICOM_CALL (Release,p)
137/*** IDirectPlayLobby methods ***/
138#define IDirectPlayLobby2_Connect(p,a,b,c) ICOM_CALL3(Connect,p,a,b,c)
139#define IDirectPlayLobby2_CreateAddress(p,a,b,c,d,e,f) ICOM_CALL6(CreateAddress,p,a,b,c,d,e,f)
140#define IDirectPlayLobby2_EnumAddress(p,a,b,c,d) ICOM_CALL4(EnumAddress,p,a,b,c,d)
141#define IDirectPlayLobby2_EnumAddressTypes(p,a,b,c,d) ICOM_CALL4(EnumAddressTypes,p,a,b,c,d)
142#define IDirectPlayLobby2_EnumLocalApplications(p,a,b,c) ICOM_CALL3(EnumLocalApplications,p,a,b,c)
143#define IDirectPlayLobby2_GetConnectionSettings(p,a,b,c) ICOM_CALL3(GetConnectionSettings,p,a,b,c)
144#define IDirectPlayLobby2_ReceiveLobbyMessage(p,a,b,c,d,e) ICOM_CALL5(ReceiveLobbyMessage,p,a,b,c,d,e)
145#define IDirectPlayLobby2_RunApplication(p,a,b,c,d) ICOM_CALL4(RunApplication,p,a,b,c,d)
146#define IDirectPlayLobby2_SendLobbyMessage(p,a,b,c,d) ICOM_CALL4(SendLobbyMessage,p,a,b,c,d)
147#define IDirectPlayLobby2_SetConnectionSettings(p,a,b,c) ICOM_CALL3(SetConnectionSettings,p,a,b,c)
148#define IDirectPlayLobby2_SetLobbyMessageEvent(p,a,b,c) ICOM_CALL3(SetLobbyMessageEvent,p,a,b,c)
149/*** IDirectPlayLobby2 methods ***/
150#define IDirectPlayLobby2_CreateCompoundAddress(p,a,b,c,d) ICOM_CALL4(CreateCompoundAddress,p,a,b,c,d)
151#endif
152
153#pragma pack(4)
154
155
156#endif /* __WINE_DPLOBBY_H */
Note: See TracBrowser for help on using the repository browser.