| /* |
| * 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 |
| #define IDPLobbySP_METHODS \ |
| IUnknown_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; |
| DECLARE_INTERFACE_(IDPLobbySP,IUnknown) { IDPLobbySP_METHODS }; |
| #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 |