~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Wine Cross Reference
wine/dlls/dplayx/lobbysp.h

Version: ~ [ wine-1.5.31 ] ~ [ wine-1.5.30 ] ~ [ wine-1.5.29 ] ~ [ wine-1.5.28 ] ~ [ wine-1.5.27 ] ~ [ wine-1.5.26 ] ~ [ wine-1.5.25 ] ~ [ wine-1.5.24 ] ~ [ wine-1.5.23 ] ~ [ wine-1.5.22 ] ~ [ wine-1.5.21 ] ~ [ wine-1.5.20 ] ~ [ wine-1.5.19 ] ~ [ wine-1.5.18 ] ~ [ wine-1.5.17 ] ~ [ wine-1.5.16 ] ~ [ wine-1.5.15 ] ~ [ wine-1.5.14 ] ~ [ wine-1.5.13 ] ~ [ wine-1.5.12 ] ~ [ wine-1.5.11 ] ~ [ wine-1.5.10 ] ~ [ wine-1.5.9 ] ~ [ wine-1.5.8 ] ~ [ wine-1.5.7 ] ~ [ wine-1.4.1 ] ~ [ wine-1.5.6 ] ~ [ wine-1.5.5 ] ~ [ wine-1.5.4 ] ~ [ wine-1.5.3 ] ~ [ wine-1.5.2 ] ~ [ wine-1.5.1 ] ~ [ wine-1.5.0 ] ~ [ wine-1.4 ] ~ [ wine-1.4-rc6 ] ~ [ wine-1.4-rc5 ] ~ [ wine-1.4-rc4 ] ~ [ wine-1.4-rc3 ] ~ [ wine-1.4-rc2 ] ~ [ wine-1.4-rc1 ] ~ [ wine-1.3.37 ] ~ [ wine-1.3.36 ] ~ [ wine-1.3.35 ] ~ [ wine-1.3.34 ] ~ [ wine-1.3.33 ] ~ [ wine-1.3.32 ] ~ [ wine-1.3.31 ] ~ [ wine-1.3.30 ] ~ [ wine-1.3.29 ] ~ [ wine-1.3.28 ] ~ [ wine-1.3.27 ] ~ [ wine-1.3.26 ] ~ [ wine-1.3.25 ] ~ [ wine-1.3.24 ] ~ [ wine-1.3.23 ] ~ [ wine-1.3.22 ] ~ [ wine-1.3.21 ] ~ [ wine-1.3.20 ] ~ [ wine-1.3.19 ] ~ [ wine-1.3.18 ] ~ [ wine-1.2.3 ] ~ [ wine-1.3.17 ] ~ [ wine-1.3.16 ] ~ [ wine-1.3.15 ] ~ [ wine-1.3.14 ] ~ [ wine-1.3.13 ] ~ [ wine-1.3.12 ] ~ [ wine-1.3.11 ] ~ [ wine-1.3.10 ] ~ [ wine-1.3.9 ] ~ [ wine-1.2.2 ] ~ [ wine-1.3.8 ] ~ [ wine-1.3.7 ] ~ [ wine-1.3.6 ] ~ [ wine-1.3.5 ] ~ [ wine-1.2.1 ] ~ [ wine-1.3.4 ] ~ [ wine-1.3.3 ] ~ [ wine-1.3.2 ] ~ [ wine-1.3.1 ] ~ [ wine-1.3.0 ] ~ [ wine-1.2 ] ~ [ wine-1.2-rc7 ] ~ [ wine-1.2-rc6 ] ~ [ wine-1.2-rc5 ] ~ [ wine-1.2-rc4 ] ~ [ wine-1.2-rc3 ] ~ [ wine-1.2-rc2 ] ~ [ wine-1.2-rc1 ] ~ [ wine-1.1.44 ] ~ [ wine-1.1.43 ] ~ [ wine-1.1.42 ] ~ [ wine-1.1.41 ] ~ [ wine-1.1.40 ] ~ [ wine-1.1.39 ] ~ [ wine-1.1.38 ] ~ [ wine-1.1.37 ] ~ [ wine-1.1.36 ] ~ [ wine-1.1.35 ] ~ [ wine-1.1.34 ] ~ [ wine-1.1.33 ] ~ [ wine-1.1.32 ] ~ [ wine-1.1.31 ] ~ [ wine-1.1.30 ] ~ [ wine-1.1.29 ] ~ [ wine-1.1.28 ] ~ [ wine-1.1.27 ] ~ [ wine-1.1.26 ] ~ [ wine-1.1.25 ] ~ [ wine-1.1.24 ] ~ [ wine-1.1.23 ] ~ [ wine-1.1.22 ] ~ [ wine-1.1.21 ] ~ [ wine-1.1.20 ] ~ [ wine-1.1.19 ] ~ [ wine-1.1.18 ] ~ [ wine-1.1.17 ] ~ [ wine-1.1.16 ] ~ [ wine-1.1.15 ] ~ [ wine-1.1.14 ] ~ [ wine-1.1.13 ] ~ [ wine-1.1.12 ] ~ [ wine-1.1.11 ] ~ [ wine-1.1.10 ] ~ [ wine-1.1.9 ] ~ [ wine-1.1.8 ] ~ [ wine-1.1.7 ] ~ [ wine-1.0.1 ] ~ [ wine-1.1.6 ] ~ [ wine-1.1.5 ] ~ [ wine-1.1.4 ] ~ [ wine-1.1.3 ] ~ [ wine-1.1.2 ] ~ [ wine-1.1.1 ] ~ [ wine-1.1.0 ] ~ [ wine-1.0 ] ~

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

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.