Sync with trunk r63786.
[reactos.git] / dll / directx / wine / dplayx / lobbysp.h
1 /*
2 * Copyright 2001 Peter Hunnisett
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19 #ifndef __WINE_LOBBY_SP_H
20 #define __WINE_LOBBY_SP_H
21
22 /* GUID for IDPLobbySP {5A4E5A20-2CED-11d0-A889-00A0C905433C} */
23 DEFINE_GUID(IID_IDPLobbySP, 0x5a4e5a20, 0x2ced, 0x11d0, 0xa8, 0x89, 0x0, 0xa0, 0xc9, 0x5, 0x43, 0x3c);
24 typedef struct IDPLobbySP *LPDPLOBBYSP;
25
26 /* For SP. Top 16 bits is dplay, bottom 16 is SP */
27 #define DPLSP_MAJORVERSION 0x00050000
28
29 typedef struct SPDATA_ADDGROUPTOGROUP
30 {
31 DWORD dwSize;
32 LPDPLOBBYSP lpISP;
33 DWORD dwParentID;
34 DWORD dwGroupID;
35 } SPDATA_ADDGROUPTOGROUP, *LPSPDATA_ADDGROUPTOGROUP;
36
37 typedef struct SPDATA_ADDPLAYERTOGROUP
38 {
39 DWORD dwSize;
40 LPDPLOBBYSP lpISP;
41 DWORD dwGroupID;
42 DWORD dwPlayerID;
43 } SPDATA_ADDPLAYERTOGROUP, *LPSPDATA_ADDPLAYERTOGROUP;
44
45 typedef struct SPDATA_ADDREMOTEGROUPTOGROUP
46 {
47 DWORD dwSize;
48 LPDPLOBBYSP lpISP;
49 DWORD dwAnchorID;
50 DWORD dwGroupID;
51 DWORD dwParentID;
52 LPDPNAME lpName;
53 DWORD dwGroupFlags;
54 } SPDATA_ADDREMOTEGROUPTOGROUP, *LPSPDATA_ADDREMOTEGROUPTOGROUP;
55
56 typedef struct SPDATA_ADDREMOTEPLAYERTOGROUP
57 {
58 DWORD dwSize;
59 LPDPLOBBYSP lpISP;
60 DWORD dwGroupID;
61 DWORD dwPlayerID;
62 DWORD dwPlayerFlags;
63 LPDPNAME lpName;
64 } SPDATA_ADDREMOTEPLAYERTOGROUP, *LPSPDATA_ADDREMOTEPLAYERTOGROUP;
65
66 typedef struct SPDATA_BUILDPARENTALHIERARCHY
67 {
68 DWORD dwSize;
69 LPDPLOBBYSP lpISP;
70 DWORD dwGroupID;
71 DWORD dwMessage;
72 DWORD dwParentID;
73 } SPDATA_BUILDPARENTALHIERARCHY, *LPSPDATA_BUILDPARENTALHIERARCHY;
74
75 typedef struct SPDATA_CLOSE
76 {
77 DWORD dwSize;
78 LPDPLOBBYSP lpISP;
79 } SPDATA_CLOSE, *LPSPDATA_CLOSE;
80
81 typedef struct SPDATA_CREATEGROUP
82 {
83 DWORD dwSize;
84 LPDPLOBBYSP lpISP;
85 DWORD dwGroupID;
86 LPDPNAME lpName;
87 LPVOID lpData;
88 DWORD dwDataSize;
89 DWORD dwFlags;
90 } SPDATA_CREATEGROUP, *LPSPDATA_CREATEGROUP;
91
92 typedef struct SPDATA_CREATEGROUPINGROUP
93 {
94 DWORD dwSize;
95 LPDPLOBBYSP lpISP;
96 DWORD dwParentID;
97 DWORD dwGroupID;
98 LPDPNAME lpName;
99 LPVOID lpData;
100 DWORD dwDataSize;
101 DWORD dwFlags;
102 } SPDATA_CREATEGROUPINGROUP, *LPSPDATA_CREATEGROUPINGROUP;
103
104 typedef struct SPDATA_CREATEREMOTEGROUP
105 {
106 DWORD dwSize;
107 LPDPLOBBYSP lpISP;
108 DWORD dwGroupID;
109 LPDPNAME lpName;
110 LPVOID lpData;
111 DWORD dwDataSize;
112 DWORD dwFlags;
113 } SPDATA_CREATEREMOTEGROUP, *LPSPDATA_CREATEREMOTEGROUP;
114
115 typedef struct SPDATA_CREATEREMOTEGROUPINGROUP
116 {
117 DWORD dwSize;
118 LPDPLOBBYSP lpISP;
119 DWORD dwParentID;
120 DWORD dwGroupID;
121 LPDPNAME lpName;
122 DWORD dwFlags;
123 } SPDATA_CREATEREMOTEGROUPINGROUP, *LPSPDATA_CREATEREMOTEGROUPINGROUP;
124
125 typedef struct SPDATA_CREATEPLAYER
126 {
127 DWORD dwSize;
128 LPDPLOBBYSP lpISP;
129 DWORD dwPlayerID;
130 LPDPNAME lpName;
131 LPVOID lpData;
132 DWORD dwDataSize;
133 DWORD dwFlags;
134 } SPDATA_CREATEPLAYER, *LPSPDATA_CREATEPLAYER;
135
136 typedef struct SPDATA_DELETEGROUPFROMGROUP
137 {
138 DWORD dwSize;
139 LPDPLOBBYSP lpISP;
140 DWORD dwParentID;
141 DWORD dwGroupID;
142 } SPDATA_DELETEGROUPFROMGROUP, *LPSPDATA_DELETEGROUPFROMGROUP;
143
144 typedef struct SPDATA_DELETEPLAYERFROMGROUP
145 {
146 DWORD dwSize;
147 LPDPLOBBYSP lpISP;
148 DWORD dwGroupID;
149 DWORD dwPlayerID;
150 } SPDATA_DELETEPLAYERFROMGROUP, *LPSPDATA_DELETEPLAYERFROMGROUP;
151
152 typedef struct SPDATA_DELETEREMOTEGROUPFROMGROUP
153 {
154 DWORD dwSize;
155 LPDPLOBBYSP lpISP;
156 DWORD dwParentID;
157 DWORD dwGroupID;
158 } SPDATA_DELETEREMOTEGROUPFROMGROUP, *LPSPDATA_DELETEREMOTEGROUPFROMGROUP;
159
160 typedef struct SPDATA_DELETEREMOTEPLAYERFROMGROUP
161 {
162 DWORD dwSize;
163 LPDPLOBBYSP lpISP;
164 DWORD dwGroupID;
165 DWORD dwPlayerID;
166 } SPDATA_DELETEREMOTEPLAYERFROMGROUP, *LPSPDATA_DELETEREMOTEPLAYERFROMGROUP;
167
168 typedef struct SPDATA_DESTROYGROUP
169 {
170 DWORD dwSize;
171 LPDPLOBBYSP lpISP;
172 DWORD dwGroupID;
173 } SPDATA_DESTROYGROUP, *LPSPDATA_DESTROYGROUP;
174
175 typedef struct SPDATA_DESTROYREMOTEGROUP
176 {
177 DWORD dwSize;
178 LPDPLOBBYSP lpISP;
179 DWORD dwGroupID;
180 } SPDATA_DESTROYREMOTEGROUP, *LPSPDATA_DESTROYREMOTEGROUP;
181
182 typedef struct SPDATA_DESTROYPLAYER
183 {
184 DWORD dwSize;
185 LPDPLOBBYSP lpISP;
186 DWORD dwPlayerID;
187 } SPDATA_DESTROYPLAYER, *LPSPDATA_DESTROYPLAYER;
188
189 typedef struct SPDATA_ENUMSESSIONS
190 {
191 DWORD dwSize;
192 LPDPLOBBYSP lpISP;
193 LPDPSESSIONDESC2 lpsd;
194 DWORD dwTimeout;
195 DWORD dwFlags;
196 } SPDATA_ENUMSESSIONS, *LPSPDATA_ENUMSESSIONS;
197
198 typedef struct SPDATA_ENUMSESSIONSRESPONSE
199 {
200 DWORD dwSize;
201 LPDPSESSIONDESC2 lpsd;
202 } SPDATA_ENUMSESSIONSRESPONSE, *LPSPDATA_ENUMSESSIONSRESPONSE;
203
204 typedef struct SPDATA_GETCAPS
205 {
206 DWORD dwSize;
207 LPDPLOBBYSP lpISP;
208 DWORD dwFlags;
209 LPDPCAPS lpcaps;
210 } SPDATA_GETCAPS, *LPSPDATA_GETCAPS;
211
212 typedef struct SPDATA_GETGROUPCONNECTIONSETTINGS
213 {
214 DWORD dwSize;
215 DWORD dwFlags;
216 LPDPLOBBYSP lpISP;
217 DWORD dwGroupID;
218 LPDWORD lpdwBufferSize;
219 LPVOID lpBuffer;
220 } SPDATA_GETGROUPCONNECTIONSETTINGS, *LPSPDATA_GETGROUPCONNECTIONSETTINGS;
221
222 typedef struct SPDATA_GETGROUPDATA
223 {
224 DWORD dwSize;
225 LPDPLOBBYSP lpISP;
226 DWORD dwGroupID;
227 LPDWORD lpdwDataSize;
228 LPVOID lpData;
229 } SPDATA_GETGROUPDATA, *LPSPDATA_GETGROUPDATA;
230
231 typedef struct SPDATA_GETPLAYERCAPS
232 {
233 DWORD dwSize;
234 LPDPLOBBYSP lpISP;
235 DWORD dwFlags;
236 DWORD dwPlayerID;
237 LPDPCAPS lpcaps;
238 } SPDATA_GETPLAYERCAPS, *LPSPDATA_GETPLAYERCAPS;
239
240 typedef struct SPDATA_GETPLAYERDATA
241 {
242 DWORD dwSize;
243 LPDPLOBBYSP lpISP;
244 DWORD dwPlayerID;
245 LPDWORD lpdwDataSize;
246 LPVOID lpData;
247 } SPDATA_GETPLAYERDATA, *LPSPDATA_GETPLAYERDATA;
248
249 typedef struct SPDATA_HANDLEMESSAGE
250 {
251 DWORD dwSize;
252 DWORD dwFromID;
253 DWORD dwToID;
254 LPVOID lpBuffer;
255 DWORD dwBufSize;
256 } SPDATA_HANDLEMESSAGE, *LPSPDATA_HANDLEMESSAGE;
257
258 typedef struct SPDATA_OPEN
259 {
260 DWORD dwSize;
261 LPDPLOBBYSP lpISP;
262 LPDPSESSIONDESC2 lpsd;
263 DWORD dwFlags;
264 LPCDPCREDENTIALS lpCredentials;
265 } SPDATA_OPEN, *LPSPDATA_OPEN;
266
267 typedef struct SPDATA_SEND
268 {
269 DWORD dwSize;
270 LPDPLOBBYSP lpISP;
271 DWORD dwFromID;
272 DWORD dwToID;
273 DWORD dwFlags;
274 LPVOID lpBuffer;
275 DWORD dwBufSize;
276 } SPDATA_SEND, *LPSPDATA_SEND;
277
278 typedef struct SPDATA_CHATMESSAGE
279 {
280 DWORD dwSize;
281 LPDPLOBBYSP lpISP;
282 DWORD dwFromID;
283 DWORD dwToID;
284 DWORD dwFlags;
285 LPDPCHAT lpChat;
286 } SPDATA_CHATMESSAGE, *LPSPDATA_CHATMESSAGE;
287
288 typedef struct SPDATA_SETGROUPCONNECTIONSETTINGS
289 {
290 DWORD dwSize;
291 DWORD dwFlags;
292 LPDPLOBBYSP lpISP;
293 DWORD dwGroupID;
294 LPDPLCONNECTION lpConn;
295 } SPDATA_SETGROUPCONNECTIONSETTINGS, *LPSPDATA_SETGROUPCONNECTIONSETTINGS;
296
297 typedef struct SPDATA_SETGROUPDATA
298 {
299 DWORD dwSize;
300 LPDPLOBBYSP lpISP;
301 DWORD dwGroupID;
302 LPVOID lpData;
303 DWORD dwDataSize;
304 DWORD dwFlags;
305 } SPDATA_SETGROUPDATA, *LPSPDATA_SETGROUPDATA;
306
307 typedef struct SPDATA_SETGROUPNAME
308 {
309 DWORD dwSize;
310 LPDPLOBBYSP lpISP;
311 DWORD dwGroupID;
312 LPDPNAME lpName;
313 DWORD dwFlags;
314 } SPDATA_SETGROUPNAME, *LPSPDATA_SETGROUPNAME;
315
316 typedef struct SPDATA_SETREMOTEGROUPNAME
317 {
318 DWORD dwSize;
319 LPDPLOBBYSP lpISP;
320 DWORD dwGroupID;
321 LPDPNAME lpName;
322 DWORD dwFlags;
323 } SPDATA_SETREMOTEGROUPNAME, *LPSPDATA_SETREMOTEGROUPNAME;
324
325 typedef struct SPDATA_SETPLAYERDATA
326 {
327 DWORD dwSize;
328 LPDPLOBBYSP lpISP;
329 DWORD dwPlayerID;
330 LPVOID lpData;
331 DWORD dwDataSize;
332 DWORD dwFlags;
333 } SPDATA_SETPLAYERDATA, *LPSPDATA_SETPLAYERDATA;
334
335 typedef struct SPDATA_SETPLAYERNAME
336 {
337 DWORD dwSize;
338 LPDPLOBBYSP lpISP;
339 DWORD dwPlayerID;
340 LPDPNAME lpName;
341 DWORD dwFlags;
342 } SPDATA_SETPLAYERNAME, *LPSPDATA_SETPLAYERNAME;
343
344 typedef struct SPDATA_SETREMOTEPLAYERNAME
345 {
346 DWORD dwSize;
347 LPDPLOBBYSP lpISP;
348 DWORD dwPlayerID;
349 LPDPNAME lpName;
350 DWORD dwFlags;
351 } SPDATA_SETREMOTEPLAYERNAME, *LPSPDATA_SETREMOTEPLAYERNAME;
352
353 typedef struct SPDATA_SETSESSIONDESC
354 {
355 DWORD dwSize;
356 LPDPSESSIONDESC2 lpsd;
357 } SPDATA_SETSESSIONDESC, *LPSPDATA_SETSESSIONDESC;
358
359 typedef struct SPDATA_SHUTDOWN
360 {
361 DWORD dwSize;
362 LPDPLOBBYSP lpISP;
363 } SPDATA_SHUTDOWN, *LPSPDATA_SHUTDOWN;
364
365 typedef struct SPDATA_STARTSESSION
366 {
367 DWORD dwSize;
368 LPDPLOBBYSP lpISP;
369 DWORD dwFlags;
370 DWORD dwGroupID;
371 } SPDATA_STARTSESSION, *LPSPDATA_STARTSESSION;
372
373 typedef struct SPDATA_STARTSESSIONCOMMAND
374 {
375 DWORD dwFlags;
376 DWORD dwGroupID;
377 DWORD dwHostID;
378 LPDPLCONNECTION lpConn;
379 } SPDATA_STARTSESSIONCOMMAND, *LPSPDATA_STARTSESSIONCOMMAND;
380
381 /* Prototypes for callbacks returned by DPLSPInit */
382 typedef HRESULT (WINAPI *LPSP_ADDGROUPTOGROUP)(LPSPDATA_ADDGROUPTOGROUP);
383 typedef HRESULT (WINAPI *LPSP_ADDPLAYERTOGROUP)(LPSPDATA_ADDPLAYERTOGROUP);
384 typedef HRESULT (WINAPI *LPSP_BUILDPARENTALHIERARCHY)(LPSPDATA_BUILDPARENTALHIERARCHY);
385 typedef HRESULT (WINAPI *LPSP_CLOSE)(LPSPDATA_CLOSE);
386 typedef HRESULT (WINAPI *LPSP_CREATEGROUP)(LPSPDATA_CREATEGROUP);
387 typedef HRESULT (WINAPI *LPSP_CREATEGROUPINGROUP)(LPSPDATA_CREATEGROUPINGROUP);
388 typedef HRESULT (WINAPI *LPSP_CREATEPLAYER)(LPSPDATA_CREATEPLAYER);
389 typedef HRESULT (WINAPI *LPSP_DELETEGROUPFROMGROUP)(LPSPDATA_DELETEGROUPFROMGROUP);
390 typedef HRESULT (WINAPI *LPSP_DELETEPLAYERFROMGROUP)(LPSPDATA_DELETEPLAYERFROMGROUP);
391 typedef HRESULT (WINAPI *LPSP_DESTROYGROUP)(LPSPDATA_DESTROYGROUP);
392 typedef HRESULT (WINAPI *LPSP_DESTROYPLAYER)(LPSPDATA_DESTROYPLAYER);
393 typedef HRESULT (WINAPI *LPSP_ENUMSESSIONS)(LPSPDATA_ENUMSESSIONS);
394 typedef HRESULT (WINAPI *LPSP_GETCAPS)(LPSPDATA_GETCAPS);
395 typedef HRESULT (WINAPI *LPSP_GETGROUPCONNECTIONSETTINGS)(LPSPDATA_GETGROUPCONNECTIONSETTINGS);
396 typedef HRESULT (WINAPI *LPSP_GETGROUPDATA)(LPSPDATA_GETGROUPDATA);
397 typedef HRESULT (WINAPI *LPSP_GETPLAYERCAPS)(LPSPDATA_GETPLAYERCAPS);
398 typedef HRESULT (WINAPI *LPSP_GETPLAYERDATA)(LPSPDATA_GETPLAYERDATA);
399 typedef HRESULT (WINAPI *LPSP_HANDLEMESSAGE)(LPSPDATA_HANDLEMESSAGE);
400 typedef HRESULT (WINAPI *LPSP_OPEN)(LPSPDATA_OPEN);
401 typedef HRESULT (WINAPI *LPSP_SEND)(LPSPDATA_SEND);
402 typedef HRESULT (WINAPI *LPSP_SENDCHATMESSAGE)(LPSPDATA_CHATMESSAGE);
403 typedef HRESULT (WINAPI *LPSP_SETGROUPCONNECTIONSETTINGS)(LPSPDATA_SETGROUPCONNECTIONSETTINGS);
404 typedef HRESULT (WINAPI *LPSP_SETGROUPDATA)(LPSPDATA_SETGROUPDATA);
405 typedef HRESULT (WINAPI *LPSP_SETGROUPNAME)(LPSPDATA_SETGROUPNAME);
406 typedef HRESULT (WINAPI *LPSP_SETPLAYERDATA)(LPSPDATA_SETPLAYERDATA);
407 typedef HRESULT (WINAPI *LPSP_SETPLAYERNAME)(LPSPDATA_SETPLAYERNAME);
408 typedef HRESULT (WINAPI *LPSP_SHUTDOWN)(LPSPDATA_SHUTDOWN);
409 typedef HRESULT (WINAPI *LPSP_STARTSESSION)(LPSPDATA_STARTSESSION);
410
411 /* Callback table for dplay to call into service provider */
412 typedef struct SP_CALLBACKS
413 {
414 DWORD dwSize;
415 DWORD dwFlags;
416 LPSP_ADDGROUPTOGROUP AddGroupToGroup;
417 LPSP_ADDPLAYERTOGROUP AddPlayerToGroup;
418 LPSP_BUILDPARENTALHIERARCHY BuildParentalHierarchy;
419 LPSP_CLOSE Close;
420 LPSP_CREATEGROUP CreateGroup;
421 LPSP_CREATEGROUPINGROUP CreateGroupInGroup;
422 LPSP_CREATEPLAYER CreatePlayer;
423 LPSP_DELETEGROUPFROMGROUP DeleteGroupFromGroup;
424 LPSP_DELETEPLAYERFROMGROUP DeletePlayerFromGroup;
425 LPSP_DESTROYGROUP DestroyGroup;
426 LPSP_DESTROYPLAYER DestroyPlayer;
427 LPSP_ENUMSESSIONS EnumSessions;
428 LPSP_GETCAPS GetCaps;
429 LPSP_GETGROUPCONNECTIONSETTINGS GetGroupConnectionSettings;
430 LPSP_GETGROUPDATA GetGroupData;
431 LPSP_GETPLAYERCAPS GetPlayerCaps;
432 LPSP_GETPLAYERDATA GetPlayerData;
433 LPSP_OPEN Open;
434 LPSP_SEND Send;
435 LPSP_SENDCHATMESSAGE SendChatMessage;
436 LPSP_SETGROUPCONNECTIONSETTINGS SetGroupConnectionSettings;
437 LPSP_SETGROUPDATA SetGroupData;
438 LPSP_SETGROUPNAME SetGroupName;
439 LPSP_SETPLAYERDATA SetPlayerData;
440 LPSP_SETPLAYERNAME SetPlayerName;
441 LPSP_SHUTDOWN Shutdown;
442 LPSP_STARTSESSION StartSession;
443 } SP_CALLBACKS, *LPSP_CALLBACKS;
444
445 typedef struct SPDATA_INIT
446 {
447 LPSP_CALLBACKS lpCB;
448 DWORD dwSPVersion;
449 LPDPLOBBYSP lpISP;
450 LPDPADDRESS lpAddress;
451 } SPDATA_INIT, *LPSPDATA_INIT;
452
453 typedef HRESULT (WINAPI *LPSP_INIT)(LPSPDATA_INIT);
454
455 /* Define the COM interface */
456 #define INTERFACE IDPLobbySP
457 DECLARE_INTERFACE_(IDPLobbySP,IUnknown)
458 {
459 /*** IUnknown methods ***/
460 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
461 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
462 STDMETHOD_(ULONG,Release)(THIS) PURE;
463 /*** IDPLobbySP methods ***/
464 STDMETHOD(AddGroupToGroup)(THIS_ LPSPDATA_ADDREMOTEGROUPTOGROUP argtg ) PURE;
465 STDMETHOD(AddPlayerToGroup)(THIS_ LPSPDATA_ADDREMOTEPLAYERTOGROUP arptg ) PURE;
466 STDMETHOD(CreateGroup)(THIS_ LPSPDATA_CREATEREMOTEGROUP crg ) PURE;
467 STDMETHOD(CreateGroupInGroup)(THIS_ LPSPDATA_CREATEREMOTEGROUPINGROUP crgig ) PURE;
468 STDMETHOD(DeleteGroupFromGroup)(THIS_ LPSPDATA_DELETEREMOTEGROUPFROMGROUP drgfg ) PURE;
469 STDMETHOD(DeletePlayerFromGroup)(THIS_ LPSPDATA_DELETEREMOTEPLAYERFROMGROUP drpfg ) PURE;
470 STDMETHOD(DestroyGroup)(THIS_ LPSPDATA_DESTROYREMOTEGROUP drg ) PURE;
471 STDMETHOD(EnumSessionsResponse)(THIS_ LPSPDATA_ENUMSESSIONSRESPONSE er ) PURE;
472 STDMETHOD(GetSPDataPointer)(THIS_ LPVOID * lplpData ) PURE;
473 STDMETHOD(HandleMessage)(THIS_ LPSPDATA_HANDLEMESSAGE hm ) PURE;
474 STDMETHOD(SendChatMessage)(THIS_ LPSPDATA_CHATMESSAGE cm ) PURE;
475 STDMETHOD(SetGroupName)(THIS_ LPSPDATA_SETREMOTEGROUPNAME srgn ) PURE;
476 STDMETHOD(SetPlayerName)(THIS_ LPSPDATA_SETREMOTEPLAYERNAME srpn ) PURE;
477 STDMETHOD(SetSessionDesc)(THIS_ LPSPDATA_SETSESSIONDESC ssd ) PURE;
478 STDMETHOD(SetSPDataPointer)(THIS_ LPVOID lpData ) PURE;
479 STDMETHOD(StartSession)(THIS_ LPSPDATA_STARTSESSIONCOMMAND ssc ) PURE;
480 };
481 #undef INTERFACE
482
483 #if !defined (__cplusplus) || defined(CINTERFACE)
484 /*** IUnknown methods ***/
485 #define IDPLobbySP_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
486 #define IDPLobbySP_AddRef(p) (p)->lpVtbl->AddRef(p)
487 #define IDPLobbySP_Release(p) (p)->lpVtbl->Release(p)
488
489 /*** IDPLobbySP methods ***/
490 #define IDPLobbySP_AddGroupToGroup(p,a) (p)->lpVtbl->AddGroupToGroup(p,a)
491 #define IDPLobbySP_AddPlayerToGroup(p,a) (p)->lpVtbl->AddPlayerToGroup(p,a)
492 #define IDPLobbySP_CreateGroup(p,a) (p)->lpVtbl->CreateGroup(p,a)
493 #define IDPLobbySP_CreateGroupInGroup(p,a) (p)->lpVtbl->CreateGroupInGroup(p,a)
494 #define IDPLobbySP_DeleteGroupFromGroup(p,a) (p)->lpVtbl->DeleteGroupFromGroup(p,a)
495 #define IDPLobbySP_DeletePlayerFromGroup(p,a) (p)->lpVtbl->DeletePlayerFromGroup(p,a)
496 #define IDPLobbySP_DestroyGroup(p,a) (p)->lpVtbl->DestroyGroup(p,a)
497 #define IDPLobbySP_EnumSessionsResponse(p,a) (p)->lpVtbl->EnumSessionsResponse(p,a)
498 #define IDPLobbySP_GetSPDataPointer(p,a) (p)->lpVtbl->GetSPDataPointer(p,a)
499 #define IDPLobbySP_HandleMessage(p,a) (p)->lpVtbl->HandleMessage(p,a)
500 #define IDPLobbySP_SetGroupName(p,a) (p)->lpVtbl->SetGroupName(p,a)
501 #define IDPLobbySP_SetPlayerName(p,a) (p)->lpVtbl->SetPlayerName(p,a)
502 #define IDPLobbySP_SetSessionDesc(p,a) (p)->lpVtbl->SetSessionDesc(p,a)
503 #define IDPLobbySP_StartSession(p,a) (p)->lpVtbl->StartSession(p,a)
504 #define IDPLobbySP_SetSPDataPointer(p,a) (p)->lpVtbl->SetSPDataPointer(p,a)
505 #endif
506
507 /* This variable is exported from the DLL at ordinal 6 to be accessed by the
508 * SP directly. This is the same variable that the DP SP will use.
509 */
510 extern DWORD gdwDPlaySPRefCount DECLSPEC_HIDDEN;
511
512 #endif /* __WINE_LOBBY_SP_H */