19#ifndef __WINE_DIRECT_PLAY_SP_H
20#define __WINE_DIRECT_PLAY_SP_H
31DEFINE_GUID(IID_IDirectPlaySP, 0xc9f6360, 0xcc61, 0x11cf, 0xac, 0xec, 0x0, 0xaa, 0x0, 0x68, 0x86, 0xe3);
40#define DPSP_MAJORVERSION 0x00060000
42#define DPSP_DX3VERSION 0x00040000
43#define DPSP_DX5VERSION 0x00050000
44#define DPSP_DX6VERSION 0x00090000
45#define DPSP_DX61VERSION 0x000a0000
46#define DPSP_DX61AVERSION 0x000b0000
47#define DPSP_DX71VERSION 0x000c0000
48#define DPSP_DX8VERSION 0x000d0000
49#define DPSP_DX9VERSION 0x000e0000
51#define DPSP_MAJORVERSIONMASK 0xFFFF0000
52#define DPSP_MINORVERSIONMASK 0x0000FFFF
56#define DPLAYI_PLAYER_SYSPLAYER 0x00000001
57#define DPLAYI_PLAYER_NAMESRVR 0x00000002
58#define DPLAYI_PLAYER_PLAYERINGROUP 0x00000004
59#define DPLAYI_PLAYER_PLAYERLOCAL 0x00000008
60#define DPLAYI_GROUP_SYSGROUP 0x00000020
61#define DPLAYI_GROUP_DPLAYOWNS 0x00000040
62#define DPLAYI_PLAYER_APPSERVER 0x00000080
63#define DPLAYI_GROUP_HIDDEN 0x00000400
66#define INTERFACE IDirectPlaySP
93#if !defined (__cplusplus) || defined(CINTERFACE)
95#define IDirectPlaySP_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
96#define IDirectPlaySP_AddRef(p) (p)->lpVtbl->AddRef(p)
97#define IDirectPlaySP_Release(p) (p)->lpVtbl->Release(p)
99#define IDirectPlaySP_AddMRUEntry(p,a,b,c,d,e) (p)->lpVtbl->AddMRUEntry(p,a,b,c,d,e)
100#define IDirectPlaySP_CreateAddress(p,a,b,c,d,e,f) (p)->lpVtbl->CreateAddress(p,a,b,c,d,e,f)
101#define IDirectPlaySP_EnumAddress(p,a,b,c,d) (p)->lpVtbl->EnumAddress(p,a,b,c,d)
102#define IDirectPlaySP_EnumMRUEntries(p,a,b,c,d) (p)->lpVtbl->EnumMRUEntries(p,a,b,c,d)
103#define IDirectPlaySP_GetPlayerFlags(p,a,b) (p)->lpVtbl->GetPlayerFlags(p,a,b)
104#define IDirectPlaySP_GetSPPlayerData(p,a,b,c,d) (p)->lpVtbl->GetSPPlayerData(p,a,b,c,d)
105#define IDirectPlaySP_HandleMessage(p,a,b,c) (p)->lpVtbl->HandleMessage(p,a,b,c)
106#define IDirectPlaySP_SetSPPlayerData(p,a,b,c,d) (p)->lpVtbl->SetSPPlayerData(p,a,b,c,d)
107#define IDirectPlaySP_CreateCompoundAddress(p,a,b,c,d) (p)->lpVtbl->CreateCompoundAddress(p,a,b,c,d)
108#define IDirectPlaySP_GetSPData(p,a,b,c) (p)->lpVtbl->GetSPData(p,a,b,c)
109#define IDirectPlaySP_SetSPData(p,a,b,c) (p)->lpVtbl->SetSPData(p,a,b,c)
110#define IDirectPlaySP_SendComplete(p,a,b) (p)->lpVtbl->SendComplete(p,a,b)
277#define DPCANCELSEND_PRIORITY 0x00000001
278#define DPCANCELSEND_ALL 0x00000002
#define DECLARE_INTERFACE_(i, b)
struct tagDPSP_GETADDRESSCHOICESDATA DPSP_GETADDRESSCHOICESDATA
HRESULT(WINAPI * LPDPSP_SHUTDOWNEX)(LPDPSP_SHUTDOWNDATA)
HRESULT(WINAPI * LPDPSP_GETADDRESS)(LPDPSP_GETADDRESSDATA)
struct tagDPSP_GETCAPSDATA DPSP_GETCAPSDATA
struct tagDPSP_DELETEPLAYERDATA DPSP_DELETEPLAYERDATA
HRESULT(WINAPI * LPDPSP_SEND)(LPDPSP_SENDDATA)
struct tagDPSP_ADDPLAYERTOGROUPDATA DPSP_ADDPLAYERTOGROUPDATA
struct tagDPSP_REPLYDATA * LPDPSP_REPLYDATA
struct tagDPSP_OPENDATA * LPDPSP_OPENDATA
struct tagDPSP_CANCELDATA * LPDPSP_CANCELDATA
struct tagDPSP_GETMESSAGEQUEUEDATA DPSP_GETMESSAGEQUEUEDATA
struct tagDPSP_SENDEXDATA DPSP_SENDEXDATA
HRESULT(WINAPI * LPDPSP_SENDTOGROUP)(LPDPSP_SENDTOGROUPDATA)
struct tagSPINITDATA * LPSPINITDATA
struct tagDPSP_SENDTOGROUPDATA DPSP_SENDTOGROUPDATA
BOOL(CALLBACK * LPENUMMRUCALLBACK)(LPCVOID lpData, DWORD dwDataSize, LPVOID lpContext)
struct tagSPINITDATA SPINITDATA
struct tagDPSP_SENDTOGROUPDATA * LPDPSP_SENDTOGROUPDATA
struct _DPSP_GETADDRESSDATA * LPDPSP_GETADDRESSDATA
struct _DPSP_GETADDRESSDATA DPSP_GETADDRESSDATA
HRESULT(WINAPI * LPDPSP_CLOSE)(void)
struct tagDPSP_ADDPLAYERTOGROUPDATA * LPDPSP_ADDPLAYERTOGROUPDATA
struct tagDPSP_DELETEPLAYERDATA * LPDPSP_DELETEPLAYERDATA
HRESULT(WINAPI * LPDPSP_SPINIT)(LPSPINITDATA)
HRESULT(WINAPI * LPDPSP_SENDTOGROUPEX)(LPDPSP_SENDTOGROUPEXDATA)
struct tagDPSP_CREATEGROUPDATA * LPDPSP_CREATEGROUPDATA
HRESULT(WINAPI * LPDPSP_ENUMSESSIONS)(LPDPSP_ENUMSESSIONSDATA)
struct tagDPSP_CLOSEDATA DPSP_CLOSEDATA
HRESULT(WINAPI * LPDPSP_REPLY)(LPDPSP_REPLYDATA)
HRESULT(WINAPI * LPDPSP_GETMESSAGEQUEUE)(LPDPSP_GETMESSAGEQUEUEDATA)
struct tagDPSP_DELETEGROUPDATA * LPDPSP_DELETEGROUPDATA
HRESULT(WINAPI * LPDPSP_GETADDRESSCHOICES)(LPDPSP_GETADDRESSCHOICESDATA)
struct tagDPSP_SENDTOGROUPEXDATA DPSP_SENDTOGROUPEXDATA
struct IDirectPlaySP * LPDIRECTPLAYSP
HRESULT(WINAPI * LPDPSP_OPEN)(LPDPSP_OPENDATA)
struct tagDPSP_CLOSEDATA * LPDPSP_CLOSEDATA
struct tagDPSP_SPCALLBACKS DPSP_SPCALLBACKS
struct tagDPSP_GETMESSAGEQUEUEDATA * LPDPSP_GETMESSAGEQUEUEDATA
struct tagDPSP_REMOVEPLAYERFROMGROUPDATA DPSP_REMOVEPLAYERFROMGROUPDATA
struct tagDPSP_SHUTDOWNDATA * LPDPSP_SHUTDOWNDATA
HRESULT(WINAPI * LPDPSP_SENDEX)(LPDPSP_SENDEXDATA)
struct tagDPSP_SPCALLBACKS * LPDPSP_SPCALLBACKS
HRESULT(WINAPI * LPDPSP_ADDPLAYERTOGROUP)(LPDPSP_ADDPLAYERTOGROUPDATA)
struct tagDPSP_GETCAPSDATA * LPDPSP_GETCAPSDATA
struct tagDPSP_OPENDATA DPSP_OPENDATA
struct tagDPSP_SENDTOGROUPEXDATA * LPDPSP_SENDTOGROUPEXDATA
struct tagDPSP_REMOVEPLAYERFROMGROUPDATA * LPDPSP_REMOVEPLAYERFROMGROUPDATA
struct tagDPSP_CREATEPLAYERDATA * LPDPSP_CREATEPLAYERDATA
struct tagDPSP_CREATEPLAYERDATA DPSP_CREATEPLAYERDATA
HRESULT(WINAPI * LPDPSP_CREATEPLAYER)(LPDPSP_CREATEPLAYERDATA)
struct tagDPSP_ENUMSESSIONSDATA * LPDPSP_ENUMSESSIONSDATA
HRESULT(WINAPI * LPDPSP_DELETEGROUP)(LPDPSP_DELETEGROUPDATA)
HRESULT(WINAPI * LPDPSP_CLOSEEX)(LPDPSP_CLOSEDATA)
struct tagDPSP_SENDDATA DPSP_SENDDATA
struct tagDPSP_SHUTDOWNDATA DPSP_SHUTDOWNDATA
struct tagDPSP_DELETEGROUPDATA DPSP_DELETEGROUPDATA
struct tagDPSP_SENDEXDATA * LPDPSP_SENDEXDATA
HRESULT(WINAPI * LPDPSP_DELETEPLAYER)(LPDPSP_DELETEPLAYERDATA)
HRESULT(WINAPI * LPDPSP_REMOVEPLAYERFROMGROUP)(LPDPSP_REMOVEPLAYERFROMGROUPDATA)
HRESULT(WINAPI * LPDPSP_SHUTDOWN)(void)
HRESULT(WINAPI * LPDPSP_CREATEGROUP)(LPDPSP_CREATEGROUPDATA)
struct tagDPSP_ENUMSESSIONSDATA DPSP_ENUMSESSIONSDATA
struct tagDPSP_CANCELDATA DPSP_CANCELDATA
HRESULT(WINAPI * LPDPSP_GETCAPS)(LPDPSP_GETCAPSDATA)
struct tagDPSP_REPLYDATA DPSP_REPLYDATA
struct tagDPSP_SENDDATA * LPDPSP_SENDDATA
struct tagDPSP_CREATEGROUPDATA DPSP_CREATEGROUPDATA
HRESULT(WINAPI * LPDPSP_CANCEL)(LPDPSP_CANCELDATA)
struct tagDPSP_GETADDRESSCHOICESDATA * LPDPSP_GETADDRESSCHOICESDATA
BOOL(CALLBACK * LPDPENUMADDRESSCALLBACK)(REFGUID guidDataType, DWORD dwDataSize, LPCVOID lpData, LPVOID lpContext)
static IO_COMPLETION_ROUTINE SendComplete
static HRESULT QueryInterface(REFIID, void **)
static ULONG WINAPI AddRef(IStream *iface)
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
LPRGLPVOID lprglpvSPMsgID
LPDPSP_GETADDRESS GetAddress
LPDPSP_GETMESSAGEQUEUE GetMessageQueue
LPDPSP_DELETEGROUP DeleteGroup
LPDPSP_SHUTDOWNEX ShutdownEx
LPDPSP_ENUMSESSIONS EnumSessions
LPDPSP_REMOVEPLAYERFROMGROUP RemovePlayerFromGroup
LPDPSP_GETADDRESSCHOICES GetAddressChoices
LPDPSP_SENDTOGROUP SendToGroup
LPDPSP_CREATEGROUP CreateGroup
LPDPSP_CREATEPLAYER CreatePlayer
LPDPSP_ADDPLAYERTOGROUP AddPlayerToGroup
LPDPSP_DELETEPLAYER DeletePlayer
LPDPSP_SENDTOGROUPEX SendToGroupEx
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject