| /* | |
| * Copyright 2001 Peter Hunnisett | |
| * | |
| * This library is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU Lesser General Public | |
| * License as published by the Free Software Foundation; either | |
| * version 2.1 of the License, or (at your option) any later version. | |
| * | |
| * This library is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| * Lesser General Public License for more details. | |
| * | |
| * You should have received a copy of the GNU Lesser General Public | |
| * License along with this library; if not, write to the Free Software | |
| * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| */ | |
| #ifndef __WINE_LOBBY_SP_H | |
| #define __WINE_LOBBY_SP_H | |
| #include <stdarg.h> | |
| #include "windef.h" | |
| #include "winbase.h" | |
| #include "winuser.h" | |
| #include "dplobby.h" | |
| /* GUID for IDPLobbySP {5A4E5A20-2CED-11d0-A889-00A0C905433C} */ | |
| DEFINE_GUID(IID_IDPLobbySP, 0x5a4e5a20, 0x2ced, 0x11d0, 0xa8, 0x89, 0x0, 0xa0, 0xc9, 0x5, 0x43, 0x3c); | |
| typedef struct IDPLobbySP IDPLobbySP, *LPDPLOBBYSP; | |
| /* For SP. Top 16 bits is dplay, bottom 16 is SP */ | |
| #define DPLSP_MAJORVERSION 0x00050000 | |
| typedef struct SPDATA_ADDGROUPTOGROUP | |
| { | |
| DWORD dwSize; | |
| LPDPLOBBYSP lpISP; | |
| DWORD dwParentID; | |
| DWORD dwGroupID; | |
| } SPDATA_ADDGROUPTOGROUP, *LPSPDATA_ADDGROUPTOGROUP; | |
| typedef struct SPDATA_ADDPLAYERTOGROUP | |
| { | |
| DWORD dwSize; | |
| LPDPLOBBYSP lpISP; | |
| DWORD dwGroupID; | |
| DWORD dwPlayerID; | |
| } SPDATA_ADDPLAYERTOGROUP, *LPSPDATA_ADDPLAYERTOGROUP; | |
| typedef struct SPDATA_ADDREMOTEGROUPTOGROUP | |
| { | |
| DWORD dwSize; | |
| LPDPLOBBYSP lpISP; | |
| DWORD dwAnchorID; | |
| DWORD dwGroupID; | |
| DWORD dwParentID; | |
| LPDPNAME lpName; | |
| DWORD dwGroupFlags; | |
| } SPDATA_ADDREMOTEGROUPTOGROUP, *LPSPDATA_ADDREMOTEGROUPTOGROUP; | |
| typedef struct SPDATA_ADDREMOTEPLAYERTOGROUP | |
| { | |
| DWORD dwSize; | |
| LPDPLOBBYSP lpISP; | |
| DWORD dwGroupID; | |
| DWORD dwPlayerID; | |
| DWORD dwPlayerFlags; | |
| LPDPNAME lpName; | |
| } SPDATA_ADDREMOTEPLAYERTOGROUP, *LPSPDATA_ADDREMOTEPLAYERTOGROUP; | |
| typedef struct SPDATA_BUILDPARENTALHEIRARCHY | |
| { | |
| DWORD dwSize; | |
| LPDPLOBBYSP lpISP; | |
| DWORD dwGroupID; | |
| DWORD dwMessage; | |
| DWORD dwParentID; | |
| } SPDATA_BUILDPARENTALHEIRARCHY, *LPSPDATA_BUILDPARENTALHEIRARCHY; | |
| typedef struct SPDATA_CLOSE | |
| { | |
| DWORD dwSize; | |
| LPDPLOBBYSP lpISP; | |
| } SPDATA_CLOSE, *LPSPDATA_CLOSE; | |
| typedef struct SPDATA_CREATEGROUP | |
| { | |
| DWORD dwSize; | |
| LPDPLOBBYSP lpISP; | |
| DWORD dwGroupID; | |
| LPDPNAME lpName; | |
| LPVOID lpData; | |
| DWORD dwDataSize; | |
| DWORD dwFlags; | |
| } SPDATA_CREATEGROUP, *LPSPDATA_CREATEGROUP; | |
| typedef struct SPDATA_CREATEGROUPINGROUP | |
| { | |
| DWORD dwSize; | |
| LPDPLOBBYSP lpISP; | |
| DWORD dwParentID; | |
| DWORD dwGroupID; | |
| LPDPNAME lpName; | |
| LPVOID lpData; | |
| DWORD dwDataSize; | |
| DWORD dwFlags; | |
| } SPDATA_CREATEGROUPINGROUP, *LPSPDATA_CREATEGROUPINGROUP; | |
| typedef struct SPDATA_CREATEREMOTEGROUP | |
| { | |
| DWORD dwSize; | |
| LPDPLOBBYSP lpISP; | |
| DWORD dwGroupID; | |
| LPDPNAME lpName; | |
| LPVOID lpData; | |
| DWORD dwDataSize; | |
| DWORD dwFlags; | |
| } SPDATA_CREATEREMOTEGROUP, *LPSPDATA_CREATEREMOTEGROUP; | |
| typedef struct SPDATA_CREATEREMOTEGROUPINGROUP | |
| { | |
| DWORD dwSize; | |
| LPDPLOBBYSP lpISP; | |
| DWORD dwParentID; | |
| DWORD dwGroupID; | |
| LPDPNAME lpName; | |
| DWORD dwFlags; | |
| } SPDATA_CREATEREMOTEGROUPINGROUP, *LPSPDATA_CREATEREMOTEGROUPINGROUP; | |
| typedef struct SPDATA_CREATEPLAYER | |
| { | |
| DWORD dwSize; | |
| LPDPLOBBYSP lpISP; | |
| DWORD dwPlayerID; | |
| LPDPNAME lpName; | |
| LPVOID lpData; | |
| DWORD dwDataSize; | |
| DWORD dwFlags; | |
| } SPDATA_CREATEPLAYER, *LPSPDATA_CREATEPLAYER; | |
| typedef struct SPDATA_DELETEGROUPFROMGROUP | |
| { | |
| DWORD dwSize; | |
| LPDPLOBBYSP lpISP; | |
| DWORD dwParentID; | |
| DWORD dwGroupID; | |
| } SPDATA_DELETEGROUPFROMGROUP, *LPSPDATA_DELETEGROUPFROMGROUP; | |
| typedef struct SPDATA_DELETEPLAYERFROMGROUP | |
| { | |
| DWORD dwSize; | |
| LPDPLOBBYSP lpISP; | |
| DWORD dwGroupID; | |
| DWORD dwPlayerID; | |
| } SPDATA_DELETEPLAYERFROMGROUP, *LPSPDATA_DELETEPLAYERFROMGROUP; | |
| typedef struct SPDATA_DELETEREMOTEGROUPFROMGROUP | |
| { | |
| DWORD dwSize; | |
| LPDPLOBBYSP lpISP; | |
| DWORD dwParentID; | |
| DWORD dwGroupID; | |
| } SPDATA_DELETEREMOTEGROUPFROMGROUP, *LPSPDATA_DELETEREMOTEGROUPFROMGROUP; | |
| typedef struct SPDATA_DELETEREMOTEPLAYERFROMGROUP | |
| { | |
| DWORD dwSize; | |
| LPDPLOBBYSP lpISP; | |
| DWORD dwGroupID; | |
| DWORD dwPlayerID; | |
| } SPDATA_DELETEREMOTEPLAYERFROMGROUP, *LPSPDATA_DELETEREMOTEPLAYERFROMGROUP; | |
| typedef struct SPDATA_DESTROYGROUP | |
| { | |
| DWORD dwSize; | |
| LPDPLOBBYSP lpISP; | |
| DWORD dwGroupID; | |
| } SPDATA_DESTROYGROUP, *LPSPDATA_DESTROYGROUP; | |
| typedef struct SPDATA_DESTROYREMOTEGROUP | |
| { | |
| DWORD dwSize; | |
| LPDPLOBBYSP lpISP; | |
| DWORD dwGroupID; | |
| } SPDATA_DESTROYREMOTEGROUP, *LPSPDATA_DESTROYREMOTEGROUP; | |
| typedef struct SPDATA_DESTROYPLAYER | |
| { | |
| DWORD dwSize; | |
| LPDPLOBBYSP lpISP; | |
| DWORD dwPlayerID; | |
| } SPDATA_DESTROYPLAYER, *LPSPDATA_DESTROYPLAYER; | |
| typedef struct SPDATA_ENUMSESSIONS | |
| { | |
| DWORD dwSize; | |
| LPDPLOBBYSP lpISP; | |
| LPDPSESSIONDESC2 lpsd; | |
| DWORD dwTimeout; | |
| DWORD dwFlags; | |
| } SPDATA_ENUMSESSIONS, *LPSPDATA_ENUMSESSIONS; | |
| typedef struct SPDATA_ENUMSESSIONSRESPONSE | |
| { | |
| DWORD dwSize; | |
| LPDPSESSIONDESC2 lpsd; | |
| } SPDATA_ENUMSESSIONSRESPONSE, *LPSPDATA_ENUMSESSIONSRESPONSE; | |
| typedef struct SPDATA_GETCAPS | |
| { | |
| DWORD dwSize; | |
| LPDPLOBBYSP lpISP; | |
| DWORD dwFlags; | |
| LPDPCAPS lpcaps; | |
| } SPDATA_GETCAPS, *LPSPDATA_GETCAPS; | |
| typedef struct SPDATA_GETGROUPCONNECTIONSETTINGS | |
| { | |
| DWORD dwSize; | |
| DWORD dwFlags; | |
| LPDPLOBBYSP lpISP; | |
| DWORD dwGroupID; | |
| LPDWORD lpdwBufferSize; | |
| LPVOID lpBuffer; | |
| } SPDATA_GETGROUPCONNECTIONSETTINGS, *LPSPDATA_GETGROUPCONNECTIONSETTINGS; | |
| typedef struct SPDATA_GETGROUPDATA | |
| { | |
| DWORD dwSize; | |
| LPDPLOBBYSP lpISP; | |
| DWORD dwGroupID; | |
| LPDWORD lpdwDataSize; | |
| LPVOID lpData; | |
| } SPDATA_GETGROUPDATA, *LPSPDATA_GETGROUPDATA; | |
| typedef struct SPDATA_GETPLAYERCAPS | |
| { | |
| DWORD dwSize; | |
| LPDPLOBBYSP lpISP; | |
| DWORD dwFlags; | |
| DWORD dwPlayerID; | |
| LPDPCAPS lpcaps; | |
| } SPDATA_GETPLAYERCAPS, *LPSPDATA_GETPLAYERCAPS; | |
| typedef struct SPDATA_GETPLAYERDATA | |
| { | |
| DWORD dwSize; | |
| LPDPLOBBYSP lpISP; | |
| DWORD dwPlayerID; | |
| LPDWORD lpdwDataSize; | |
| LPVOID lpData; | |
| } SPDATA_GETPLAYERDATA, *LPSPDATA_GETPLAYERDATA; | |
| typedef struct SPDATA_HANDLEMESSAGE | |
| { | |
| DWORD dwSize; | |
| DWORD dwFromID; | |
| DWORD dwToID; | |
| LPVOID lpBuffer; | |
| DWORD dwBufSize; | |
| } SPDATA_HANDLEMESSAGE, *LPSPDATA_HANDLEMESSAGE; | |
| typedef struct SPDATA_OPEN | |
| { | |
| DWORD dwSize; | |
| LPDPLOBBYSP lpISP; | |
| LPDPSESSIONDESC2 lpsd; | |
| DWORD dwFlags; | |
| LPCDPCREDENTIALS lpCredentials; | |
| } SPDATA_OPEN, *LPSPDATA_OPEN; | |
| typedef struct SPDATA_SEND | |
| { | |
| DWORD dwSize; | |
| LPDPLOBBYSP lpISP; | |
| DWORD dwFromID; | |
| DWORD dwToID; | |
| DWORD dwFlags; | |
| LPVOID lpBuffer; | |
| DWORD dwBufSize; | |
| } SPDATA_SEND, *LPSPDATA_SEND; | |
| typedef struct SPDATA_CHATMESSAGE | |
| { | |
| DWORD dwSize; | |
| LPDPLOBBYSP lpISP; | |
| DWORD dwFromID; | |
| DWORD dwToID; | |
| DWORD dwFlags; | |
| LPDPCHAT lpChat; | |
| } SPDATA_CHATMESSAGE, *LPSPDATA_CHATMESSAGE; | |
| typedef struct SPDATA_SETGROUPCONNECTIONSETTINGS | |
| { | |
| DWORD dwSize; | |
| DWORD dwFlags; | |
| LPDPLOBBYSP lpISP; | |
| DWORD dwGroupID; | |
| LPDPLCONNECTION lpConn; | |
| } SPDATA_SETGROUPCONNECTIONSETTINGS, *LPSPDATA_SETGROUPCONNECTIONSETTINGS; | |
| typedef struct SPDATA_SETGROUPDATA | |
| { | |
| DWORD dwSize; | |
| LPDPLOBBYSP lpISP; | |
| DWORD dwGroupID; | |
| LPVOID lpData; | |
| DWORD dwDataSize; | |
| DWORD dwFlags; | |
| } SPDATA_SETGROUPDATA, *LPSPDATA_SETGROUPDATA; | |
| typedef struct SPDATA_SETGROUPNAME | |
| { | |
| DWORD dwSize; | |
| LPDPLOBBYSP lpISP; | |
| DWORD dwGroupID; | |
| LPDPNAME lpName; | |
| DWORD dwFlags; | |
| } SPDATA_SETGROUPNAME, *LPSPDATA_SETGROUPNAME; | |
| typedef struct SPDATA_SETREMOTEGROUPNAME | |
| { | |
| DWORD dwSize; | |
| LPDPLOBBYSP lpISP; | |
| DWORD dwGroupID; | |
| LPDPNAME lpName; | |
| DWORD dwFlags; | |
| } SPDATA_SETREMOTEGROUPNAME, *LPSPDATA_SETREMOTEGROUPNAME; | |
| typedef struct SPDATA_SETPLAYERDATA | |
| { | |
| DWORD dwSize; | |
| LPDPLOBBYSP lpISP; | |
| DWORD dwPlayerID; | |
| LPVOID lpData; | |
| DWORD dwDataSize; | |
| DWORD dwFlags; | |
| } SPDATA_SETPLAYERDATA, *LPSPDATA_SETPLAYERDATA; | |
| typedef struct SPDATA_SETPLAYERNAME | |
| { | |
| DWORD dwSize; | |
| LPDPLOBBYSP lpISP; | |
| DWORD dwPlayerID; | |
| LPDPNAME lpName; | |
| DWORD dwFlags; | |
| } SPDATA_SETPLAYERNAME, *LPSPDATA_SETPLAYERNAME; | |
| typedef struct SPDATA_SETREMOTEPLAYERNAME | |
| { | |
| DWORD dwSize; | |
| LPDPLOBBYSP lpISP; | |
| DWORD dwPlayerID; | |
| LPDPNAME lpName; | |
| DWORD dwFlags; | |
| } SPDATA_SETREMOTEPLAYERNAME, *LPSPDATA_SETREMOTEPLAYERNAME; | |
| typedef struct SPDATA_SETSESSIONDESC | |
| { | |
| DWORD dwSize; | |
| LPDPSESSIONDESC2 lpsd; | |
| } SPDATA_SETSESSIONDESC, *LPSPDATA_SETSESSIONDESC; | |
| typedef struct SPDATA_SHUTDOWN | |
| { | |
| DWORD dwSize; | |
| LPDPLOBBYSP lpISP; | |
| } SPDATA_SHUTDOWN, *LPSPDATA_SHUTDOWN; | |
| typedef struct SPDATA_STARTSESSION | |
| { | |
| DWORD dwSize; | |
| LPDPLOBBYSP lpISP; | |
| DWORD dwFlags; | |
| DWORD dwGroupID; | |
| } SPDATA_STARTSESSION, *LPSPDATA_STARTSESSION; | |
| typedef struct SPDATA_STARTSESSIONCOMMAND | |
| { | |
| DWORD dwFlags; | |
| DWORD dwGroupID; | |
| DWORD dwHostID; | |
| LPDPLCONNECTION lpConn; | |
| } SPDATA_STARTSESSIONCOMMAND, *LPSPDATA_STARTSESSIONCOMMAND; | |
| /* Prototypes for callbacks returned by DPLSPInit */ | |
| typedef HRESULT (WINAPI *LPSP_ADDGROUPTOGROUP)(LPSPDATA_ADDGROUPTOGROUP); | |
| typedef HRESULT (WINAPI *LPSP_ADDPLAYERTOGROUP)(LPSPDATA_ADDPLAYERTOGROUP); | |
| typedef HRESULT (WINAPI *LPSP_BUILDPARENTALHEIRARCHY)(LPSPDATA_BUILDPARENTALHEIRARCHY); | |
| typedef HRESULT (WINAPI *LPSP_CLOSE)(LPSPDATA_CLOSE); | |
| typedef HRESULT (WINAPI *LPSP_CREATEGROUP)(LPSPDATA_CREATEGROUP); | |
| typedef HRESULT (WINAPI *LPSP_CREATEGROUPINGROUP)(LPSPDATA_CREATEGROUPINGROUP); | |
| typedef HRESULT (WINAPI *LPSP_CREATEPLAYER)(LPSPDATA_CREATEPLAYER); | |
| typedef HRESULT (WINAPI *LPSP_DELETEGROUPFROMGROUP)(LPSPDATA_DELETEGROUPFROMGROUP); | |
| typedef HRESULT (WINAPI *LPSP_DELETEPLAYERFROMGROUP)(LPSPDATA_DELETEPLAYERFROMGROUP); | |
| typedef HRESULT (WINAPI *LPSP_DESTROYGROUP)(LPSPDATA_DESTROYGROUP); | |
| typedef HRESULT (WINAPI *LPSP_DESTROYPLAYER)(LPSPDATA_DESTROYPLAYER); | |
| typedef HRESULT (WINAPI *LPSP_ENUMSESSIONS)(LPSPDATA_ENUMSESSIONS); | |
| typedef HRESULT (WINAPI *LPSP_GETCAPS)(LPSPDATA_GETCAPS); | |
| typedef HRESULT (WINAPI *LPSP_GETGROUPCONNECTIONSETTINGS)(LPSPDATA_GETGROUPCONNECTIONSETTINGS); | |
| typedef HRESULT (WINAPI *LPSP_GETGROUPDATA)(LPSPDATA_GETGROUPDATA); | |
| typedef HRESULT (WINAPI *LPSP_GETPLAYERCAPS)(LPSPDATA_GETPLAYERCAPS); | |
| typedef HRESULT (WINAPI *LPSP_GETPLAYERDATA)(LPSPDATA_GETPLAYERDATA); | |
| typedef HRESULT (WINAPI *LPSP_HANDLEMESSAGE)(LPSPDATA_HANDLEMESSAGE); | |
| typedef HRESULT (WINAPI *LPSP_OPEN)(LPSPDATA_OPEN); | |
| typedef HRESULT (WINAPI *LPSP_SEND)(LPSPDATA_SEND); | |
| typedef HRESULT (WINAPI *LPSP_SENDCHATMESSAGE)(LPSPDATA_CHATMESSAGE); | |
| typedef HRESULT (WINAPI *LPSP_SETGROUPCONNECTIONSETTINGS)(LPSPDATA_SETGROUPCONNECTIONSETTINGS); | |
| typedef HRESULT (WINAPI *LPSP_SETGROUPDATA)(LPSPDATA_SETGROUPDATA); | |
| typedef HRESULT (WINAPI *LPSP_SETGROUPNAME)(LPSPDATA_SETGROUPNAME); | |
| typedef HRESULT (WINAPI *LPSP_SETPLAYERDATA)(LPSPDATA_SETPLAYERDATA); | |
| typedef HRESULT (WINAPI *LPSP_SETPLAYERNAME)(LPSPDATA_SETPLAYERNAME); | |
| typedef HRESULT (WINAPI *LPSP_SHUTDOWN)(LPSPDATA_SHUTDOWN); | |
| typedef HRESULT (WINAPI *LPSP_STARTSESSION)(LPSPDATA_STARTSESSION); | |
| /* Callback table for dplay to call into service provider */ | |
| typedef struct SP_CALLBACKS | |
| { | |
| DWORD dwSize; | |
| DWORD dwFlags; | |
| LPSP_ADDGROUPTOGROUP AddGroupToGroup; | |
| LPSP_ADDPLAYERTOGROUP AddPlayerToGroup; | |
| LPSP_BUILDPARENTALHEIRARCHY BuildParentalHeirarchy; | |
| LPSP_CLOSE Close; | |
| LPSP_CREATEGROUP CreateGroup; | |
| LPSP_CREATEGROUPINGROUP CreateGroupInGroup; | |
| LPSP_CREATEPLAYER CreatePlayer; | |
| LPSP_DELETEGROUPFROMGROUP DeleteGroupFromGroup; | |
| LPSP_DELETEPLAYERFROMGROUP DeletePlayerFromGroup; | |
| LPSP_DESTROYGROUP DestroyGroup; | |
| LPSP_DESTROYPLAYER DestroyPlayer; | |
| LPSP_ENUMSESSIONS EnumSessions; | |
| LPSP_GETCAPS GetCaps; | |
| LPSP_GETGROUPCONNECTIONSETTINGS GetGroupConnectionSettings; | |
| LPSP_GETGROUPDATA GetGroupData; | |
| LPSP_GETPLAYERCAPS GetPlayerCaps; | |
| LPSP_GETPLAYERDATA GetPlayerData; | |
| LPSP_OPEN Open; | |
| LPSP_SEND Send; | |
| LPSP_SENDCHATMESSAGE SendChatMessage; | |
| LPSP_SETGROUPCONNECTIONSETTINGS SetGroupConnectionSettings; | |
| LPSP_SETGROUPDATA SetGroupData; | |
| LPSP_SETGROUPNAME SetGroupName; | |
| LPSP_SETPLAYERDATA SetPlayerData; | |
| LPSP_SETPLAYERNAME SetPlayerName; | |
| LPSP_SHUTDOWN Shutdown; | |
| LPSP_STARTSESSION StartSession; | |
| } SP_CALLBACKS, *LPSP_CALLBACKS; | |
| typedef struct SPDATA_INIT | |
| { | |
| LPSP_CALLBACKS lpCB; | |
| DWORD dwSPVersion; | |
| LPDPLOBBYSP lpISP; | |
| LPDPADDRESS lpAddress; | |
| } SPDATA_INIT, *LPSPDATA_INIT; | |
| typedef HRESULT (WINAPI *LPSP_INIT)(LPSPDATA_INIT); | |
| HRESULT WINAPI DPLSPInit(LPSPDATA_INIT); | |
| /* Define the COM interface */ | |
| #define INTERFACE IDPLobbySP | |
| DECLARE_INTERFACE_(IDPLobbySP,IUnknown) | |
| { | |
| /*** IUnknown methods ***/ | |
| STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; | |
| STDMETHOD_(ULONG,AddRef)(THIS) PURE; | |
| STDMETHOD_(ULONG,Release)(THIS) PURE; | |
| /*** IDPLobbySP methods ***/ | |
| STDMETHOD(AddGroupToGroup)(THIS_ LPSPDATA_ADDREMOTEGROUPTOGROUP argtg ) PURE; | |
| STDMETHOD(AddPlayerToGroup)(THIS_ LPSPDATA_ADDREMOTEPLAYERTOGROUP arptg ) PURE; | |
| STDMETHOD(CreateGroup)(THIS_ LPSPDATA_CREATEREMOTEGROUP crg ) PURE; | |
| STDMETHOD(CreateGroupInGroup)(THIS_ LPSPDATA_CREATEREMOTEGROUPINGROUP crgig ) PURE; | |
| STDMETHOD(DeleteGroupFromGroup)(THIS_ LPSPDATA_DELETEREMOTEGROUPFROMGROUP drgfg ) PURE; | |
| STDMETHOD(DeletePlayerFromGroup)(THIS_ LPSPDATA_DELETEREMOTEPLAYERFROMGROUP drpfg ) PURE; | |
| STDMETHOD(DestroyGroup)(THIS_ LPSPDATA_DESTROYREMOTEGROUP drg ) PURE; | |
| STDMETHOD(EnumSessionsResponse)(THIS_ LPSPDATA_ENUMSESSIONSRESPONSE er ) PURE; | |
| STDMETHOD(GetSPDataPointer)(THIS_ LPVOID * lplpData ) PURE; | |
| STDMETHOD(HandleMessage)(THIS_ LPSPDATA_HANDLEMESSAGE hm ) PURE; | |
| STDMETHOD(SendChatMessage)(THIS_ LPSPDATA_CHATMESSAGE cm ) PURE; | |
| STDMETHOD(SetGroupName)(THIS_ LPSPDATA_SETREMOTEGROUPNAME srgn ) PURE; | |
| STDMETHOD(SetPlayerName)(THIS_ LPSPDATA_SETREMOTEPLAYERNAME srpn ) PURE; | |
| STDMETHOD(SetSessionDesc)(THIS_ LPSPDATA_SETSESSIONDESC ssd ) PURE; | |
| STDMETHOD(SetSPDataPointer)(THIS_ LPVOID lpData ) PURE; | |
| STDMETHOD(StartSession)(THIS_ LPSPDATA_STARTSESSIONCOMMAND ssc ) PURE; | |
| }; | |
| #undef INTERFACE | |
| #if !defined (__cplusplus) || defined(CINTERFACE) | |
| /*** IUnknown methods ***/ | |
| #define IDPLobbySP_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) | |
| #define IDPLobbySP_AddRef(p) (p)->lpVtbl->AddRef(p) | |
| #define IDPLobbySP_Release(p) (p)->lpVtbl->Release(p) | |
| /*** IDPLobbySP methods ***/ | |
| #define IDPLobbySP_AddGroupToGroup(p,a) (p)->lpVtbl->AddGroupToGroup(p,a) | |
| #define IDPLobbySP_AddPlayerToGroup(p,a) (p)->lpVtbl->AddPlayerToGroup(p,a) | |
| #define IDPLobbySP_CreateGroup(p,a) (p)->lpVtbl->CreateGroup(p,a) | |
| #define IDPLobbySP_CreateGroupInGroup(p,a) (p)->lpVtbl->CreateGroupInGroup(p,a) | |
| #define IDPLobbySP_DeleteGroupFromGroup(p,a) (p)->lpVtbl->DeleteGroupFromGroup(p,a) | |
| #define IDPLobbySP_DeletePlayerFromGroup(p,a) (p)->lpVtbl->DeletePlayerFromGroup(p,a) | |
| #define IDPLobbySP_DestroyGroup(p,a) (p)->lpVtbl->DestroyGroup(p,a) | |
| #define IDPLobbySP_EnumSessionsResponse(p,a) (p)->lpVtbl->EnumSessionsResponse(p,a) | |
| #define IDPLobbySP_GetSPDataPointer(p,a) (p)->lpVtbl->GetSPDataPointer(p,a) | |
| #define IDPLobbySP_HandleMessage(p,a) (p)->lpVtbl->HandleMessage(p,a) | |
| #define IDPLobbySP_SetGroupName(p,a) (p)->lpVtbl->SetGroupName(p,a) | |
| #define IDPLobbySP_SetPlayerName(p,a) (p)->lpVtbl->SetPlayerName(p,a) | |
| #define IDPLobbySP_SetSessionDesc(p,a) (p)->lpVtbl->SetSessionDesc(p,a) | |
| #define IDPLobbySP_StartSession(p,a) (p)->lpVtbl->StartSession(p,a) | |
| #define IDPLobbySP_SetSPDataPointer(p,a) (p)->lpVtbl->SetSPDataPointer(p,a) | |
| #endif | |
| /* This variable is exported from the DLL at ordinal 6 to be accessed by the | |
| * SP directly. This is the same variable that the DP SP will use. | |
| */ | |
| extern DWORD gdwDPlaySPRefCount; | |
| #endif |