19#ifndef __WINE_DPLAY8_H
20#define __WINE_DPLAY8_H
37#define DPN_MSGID_OFFSET 0xFFFF0000
38#define DPN_MSGID_ADD_PLAYER_TO_GROUP (DPN_MSGID_OFFSET | 0x0001)
39#define DPN_MSGID_APPLICATION_DESC (DPN_MSGID_OFFSET | 0x0002)
40#define DPN_MSGID_ASYNC_OP_COMPLETE (DPN_MSGID_OFFSET | 0x0003)
41#define DPN_MSGID_CLIENT_INFO (DPN_MSGID_OFFSET | 0x0004)
42#define DPN_MSGID_CONNECT_COMPLETE (DPN_MSGID_OFFSET | 0x0005)
43#define DPN_MSGID_CREATE_GROUP (DPN_MSGID_OFFSET | 0x0006)
44#define DPN_MSGID_CREATE_PLAYER (DPN_MSGID_OFFSET | 0x0007)
45#define DPN_MSGID_DESTROY_GROUP (DPN_MSGID_OFFSET | 0x0008)
46#define DPN_MSGID_DESTROY_PLAYER (DPN_MSGID_OFFSET | 0x0009)
47#define DPN_MSGID_ENUM_HOSTS_QUERY (DPN_MSGID_OFFSET | 0x000A)
48#define DPN_MSGID_ENUM_HOSTS_RESPONSE (DPN_MSGID_OFFSET | 0x000B)
49#define DPN_MSGID_GROUP_INFO (DPN_MSGID_OFFSET | 0x000C)
50#define DPN_MSGID_HOST_MIGRATE (DPN_MSGID_OFFSET | 0x000D)
51#define DPN_MSGID_INDICATE_CONNECT (DPN_MSGID_OFFSET | 0x000E)
52#define DPN_MSGID_INDICATED_CONNECT_ABORTED (DPN_MSGID_OFFSET | 0x000F)
53#define DPN_MSGID_PEER_INFO (DPN_MSGID_OFFSET | 0x0010)
54#define DPN_MSGID_RECEIVE (DPN_MSGID_OFFSET | 0x0011)
55#define DPN_MSGID_REMOVE_PLAYER_FROM_GROUP (DPN_MSGID_OFFSET | 0x0012)
56#define DPN_MSGID_RETURN_BUFFER (DPN_MSGID_OFFSET | 0x0013)
57#define DPN_MSGID_SEND_COMPLETE (DPN_MSGID_OFFSET | 0x0014)
58#define DPN_MSGID_SERVER_INFO (DPN_MSGID_OFFSET | 0x0015)
59#define DPN_MSGID_TERMINATE_SESSION (DPN_MSGID_OFFSET | 0x0016)
60#define DPN_MSGID_CREATE_THREAD (DPN_MSGID_OFFSET | 0x0017)
61#define DPN_MSGID_DESTROY_THREAD (DPN_MSGID_OFFSET | 0x0018)
62#define DPN_MSGID_NAT_RESOLVER_QUERY (DPN_MSGID_OFFSET | 0x0101)
67#define _DPN_FACILITY_CODE 0x015
68#define _DPNHRESULT_BASE 0x8000
69#define MAKE_DPNHRESULT(code) MAKE_HRESULT(1, _DPN_FACILITY_CODE, (code + _DPNHRESULT_BASE))
71#define DPNSUCCESS_EQUAL MAKE_HRESULT(0, _DPN_FACILITY_CODE, (0x05 + _DPNHRESULT_BASE))
72#define DPNSUCCESS_NOTEQUAL MAKE_HRESULT(0, _DPN_FACILITY_CODE, (0x0A + _DPNHRESULT_BASE))
73#define DPNSUCCESS_PENDING MAKE_HRESULT(0, _DPN_FACILITY_CODE, (0x0E + _DPNHRESULT_BASE))
76#define DPNERR_GENERIC E_FAIL
77#define DPNERR_INVALIDPARAM E_INVALIDARG
78#define DPNERR_UNSUPPORTED E_NOTIMPL
79#define DPNERR_NOINTERFACE E_NOINTERFACE
80#define DPNERR_OUTOFMEMORY E_OUTOFMEMORY
81#define DPNERR_INVALIDPOINTER E_POINTER
82#define DPNERR_PENDING DPNSUCCESS_PENDING
83#define DPNERR_ABORTED MAKE_DPNHRESULT(0x030)
84#define DPNERR_ADDRESSING MAKE_DPNHRESULT(0x040)
85#define DPNERR_ALREADYCLOSING MAKE_DPNHRESULT(0x050)
86#define DPNERR_ALREADYCONNECTED MAKE_DPNHRESULT(0x060)
87#define DPNERR_ALREADYDISCONNECTING MAKE_DPNHRESULT(0x070)
88#define DPNERR_ALREADYINITIALIZED MAKE_DPNHRESULT(0x080)
89#define DPNERR_ALREADYREGISTERED MAKE_DPNHRESULT(0x090)
90#define DPNERR_BUFFERTOOSMALL MAKE_DPNHRESULT(0x100)
91#define DPNERR_CANNOTCANCEL MAKE_DPNHRESULT(0x110)
92#define DPNERR_CANTCREATEGROUP MAKE_DPNHRESULT(0x120)
93#define DPNERR_CANTCREATEPLAYER MAKE_DPNHRESULT(0x130)
94#define DPNERR_CANTLAUNCHAPPLICATION MAKE_DPNHRESULT(0x140)
95#define DPNERR_CONNECTING MAKE_DPNHRESULT(0x150)
96#define DPNERR_CONNECTIONLOST MAKE_DPNHRESULT(0x160)
97#define DPNERR_CONVERSION MAKE_DPNHRESULT(0x170)
98#define DPNERR_DATATOOLARGE MAKE_DPNHRESULT(0x175)
99#define DPNERR_DOESNOTEXIST MAKE_DPNHRESULT(0x180)
100#define DPNERR_DPNSVRNOTAVAILABLE MAKE_DPNHRESULT(0x185)
101#define DPNERR_DUPLICATECOMMAND MAKE_DPNHRESULT(0x190)
102#define DPNERR_ENDPOINTNOTRECEIVING MAKE_DPNHRESULT(0x200)
103#define DPNERR_ENUMQUERYTOOLARGE MAKE_DPNHRESULT(0x210)
104#define DPNERR_ENUMRESPONSETOOLARGE MAKE_DPNHRESULT(0x220)
105#define DPNERR_EXCEPTION MAKE_DPNHRESULT(0x230)
106#define DPNERR_GROUPNOTEMPTY MAKE_DPNHRESULT(0x240)
107#define DPNERR_HOSTING MAKE_DPNHRESULT(0x250)
108#define DPNERR_HOSTREJECTEDCONNECTION MAKE_DPNHRESULT(0x260)
109#define DPNERR_HOSTTERMINATEDSESSION MAKE_DPNHRESULT(0x270)
110#define DPNERR_INCOMPLETEADDRESS MAKE_DPNHRESULT(0x280)
111#define DPNERR_INVALIDADDRESSFORMAT MAKE_DPNHRESULT(0x290)
112#define DPNERR_INVALIDAPPLICATION MAKE_DPNHRESULT(0x300)
113#define DPNERR_INVALIDCOMMAND MAKE_DPNHRESULT(0x310)
114#define DPNERR_INVALIDDEVICEADDRESS MAKE_DPNHRESULT(0x320)
115#define DPNERR_INVALIDENDPOINT MAKE_DPNHRESULT(0x330)
116#define DPNERR_INVALIDFLAGS MAKE_DPNHRESULT(0x340)
117#define DPNERR_INVALIDGROUP MAKE_DPNHRESULT(0x350)
118#define DPNERR_INVALIDHANDLE MAKE_DPNHRESULT(0x360)
119#define DPNERR_INVALIDHOSTADDRESS MAKE_DPNHRESULT(0x370)
120#define DPNERR_INVALIDINSTANCE MAKE_DPNHRESULT(0x380)
121#define DPNERR_INVALIDINTERFACE MAKE_DPNHRESULT(0x390)
122#define DPNERR_INVALIDOBJECT MAKE_DPNHRESULT(0x400)
123#define DPNERR_INVALIDPASSWORD MAKE_DPNHRESULT(0x410)
124#define DPNERR_INVALIDPLAYER MAKE_DPNHRESULT(0x420)
125#define DPNERR_INVALIDPRIORITY MAKE_DPNHRESULT(0x430)
126#define DPNERR_INVALIDSTRING MAKE_DPNHRESULT(0x440)
127#define DPNERR_INVALIDURL MAKE_DPNHRESULT(0x450)
128#define DPNERR_INVALIDVERSION MAKE_DPNHRESULT(0x460)
129#define DPNERR_NOCAPS MAKE_DPNHRESULT(0x470)
130#define DPNERR_NOCONNECTION MAKE_DPNHRESULT(0x480)
131#define DPNERR_NOHOSTPLAYER MAKE_DPNHRESULT(0x490)
132#define DPNERR_NOMOREADDRESSCOMPONENTS MAKE_DPNHRESULT(0x500)
133#define DPNERR_NORESPONSE MAKE_DPNHRESULT(0x510)
134#define DPNERR_NOTALLOWED MAKE_DPNHRESULT(0x520)
135#define DPNERR_NOTHOST MAKE_DPNHRESULT(0x530)
136#define DPNERR_NOTREADY MAKE_DPNHRESULT(0x540)
137#define DPNERR_NOTREGISTERED MAKE_DPNHRESULT(0x550)
138#define DPNERR_PLAYERALREADYINGROUP MAKE_DPNHRESULT(0x560)
139#define DPNERR_PLAYERLOST MAKE_DPNHRESULT(0x570)
140#define DPNERR_PLAYERNOTINGROUP MAKE_DPNHRESULT(0x580)
141#define DPNERR_PLAYERNOTREACHABLE MAKE_DPNHRESULT(0x590)
142#define DPNERR_SENDTOOLARGE MAKE_DPNHRESULT(0x600)
143#define DPNERR_SESSIONFULL MAKE_DPNHRESULT(0x610)
144#define DPNERR_TABLEFULL MAKE_DPNHRESULT(0x620)
145#define DPNERR_TIMEDOUT MAKE_DPNHRESULT(0x630)
146#define DPNERR_UNINITIALIZED MAKE_DPNHRESULT(0x640)
147#define DPNERR_USERCANCEL MAKE_DPNHRESULT(0x650)
152#define DPNID_ALL_PLAYERS_GROUP 0
153#define DPNDESTROYGROUPREASON_NORMAL 0x0001
154#define DPNDESTROYGROUPREASON_AUTODESTRUCTED 0x0002
155#define DPNDESTROYGROUPREASON_SESSIONTERMINATED 0x0003
156#define DPNDESTROYPLAYERREASON_NORMAL 0x0001
157#define DPNDESTROYPLAYERREASON_CONNECTIONLOST 0x0002
158#define DPNDESTROYPLAYERREASON_SESSIONTERMINATED 0x0003
159#define DPNDESTROYPLAYERREASON_HOSTDESTROYEDPLAYER 0x0004
160#define DPN_MAX_APPDESC_RESERVEDDATA_SIZE 64
162#define DPNOP_SYNC 0x80000000
163#define DPNADDPLAYERTOGROUP_SYNC DPNOP_SYNC
164#define DPNCANCEL_CONNECT 0x0001
165#define DPNCANCEL_ENUM 0x0002
166#define DPNCANCEL_SEND 0x0004
167#define DPNCANCEL_ALL_OPERATIONS 0x8000
168#define DPNCANCEL_PLAYER_SENDS 0x80000000
169#define DPNCANCEL_PLAYER_SENDS_PRIORITY_HIGH (DPNCANCEL_PLAYER_SENDS | 0x00010000)
170#define DPNCANCEL_PLAYER_SENDS_PRIORITY_NORMAL (DPNCANCEL_PLAYER_SENDS | 0x00020000)
171#define DPNCANCEL_PLAYER_SENDS_PRIORITY_LOW (DPNCANCEL_PLAYER_SENDS | 0x00040000)
172#define DPNCLOSE_IMMEDIATE 0x00000001
173#define DPNCONNECT_SYNC DPNOP_SYNC
174#define DPNCONNECT_OKTOQUERYFORADDRESSING 0x0001
175#define DPNCREATEGROUP_SYNC DPNOP_SYNC
176#define DPNDESTROYGROUP_SYNC DPNOP_SYNC
177#define DPNENUM_PLAYERS 0x0001
178#define DPNENUM_GROUPS 0x0010
179#define DPNENUMHOSTS_SYNC DPNOP_SYNC
180#define DPNENUMHOSTS_OKTOQUERYFORADDRESSING 0x0001
181#define DPNENUMHOSTS_NOBROADCASTFALLBACK 0x0002
182#define DPNENUMSERVICEPROVIDERS_ALL 0x0001
183#define DPNGETLOCALHOSTADDRESSES_COMBINED 0x0001
184#define DPNGETSENDQUEUEINFO_PRIORITY_NORMAL 0x0001
185#define DPNGETSENDQUEUEINFO_PRIORITY_HIGH 0x0002
186#define DPNGETSENDQUEUEINFO_PRIORITY_LOW 0x0004
187#define DPNGROUP_AUTODESTRUCT 0x0001
188#define DPNHOST_OKTOQUERYFORADDRESSING 0x0001
189#define DPNINFO_NAME 0x0001
190#define DPNINFO_DATA 0x0002
191#define DPNINITIALIZE_DISABLEPARAMVAL 0x0001
192#define DPNINITIALIZE_HINT_LANSESSION 0x0002
193#define DPNINITIALIZE_DISABLELINKTUNING 0x0004
194#define DPNLOBBY_REGISTER 0x0001
195#define DPNLOBBY_UNREGISTER 0x0002
196#define DPNPLAYER_LOCAL 0x0002
197#define DPNPLAYER_HOST 0x0004
198#define DPNRECEIVE_GUARANTEED 0x0001
199#define DPNRECEIVE_COALESCED 0x0002
200#define DPNREMOVEPLAYERFROMGROUP_SYNC DPNOP_SYNC
201#define DPNSEND_SYNC DPNOP_SYNC
202#define DPNSEND_NOCOPY 0x0001
203#define DPNSEND_NOCOMPLETE 0x0002
204#define DPNSEND_COMPLETEONPROCESS 0x0004
205#define DPNSEND_GUARANTEED 0x0008
206#define DPNSEND_NONSEQUENTIAL 0x0010
207#define DPNSEND_NOLOOPBACK 0x0020
208#define DPNSEND_PRIORITY_LOW 0x0040
209#define DPNSEND_PRIORITY_HIGH 0x0080
210#define DPNSEND_COALESCE 0x0100
211#define DPNSENDCOMPLETE_GUARANTEED 0x0001
212#define DPNSENDCOMPLETE_COALESCED 0x0002
213#define DPNSESSION_CLIENT_SERVER 0x0001
214#define DPNSESSION_MIGRATE_HOST 0x0004
215#define DPNSESSION_NODPNSVR 0x0040
216#define DPNSESSION_REQUIREPASSWORD 0x0080
217#define DPNSESSION_NOENUMS 0x0100
218#define DPNSESSION_FAST_SIGNED 0x0200
219#define DPNSESSION_FULL_SIGNED 0x0400
220#define DPNSETCLIENTINFO_SYNC DPNOP_SYNC
221#define DPNSETGROUPINFO_SYNC DPNOP_SYNC
222#define DPNSETPEERINFO_SYNC DPNOP_SYNC
223#define DPNSETSERVERINFO_SYNC DPNOP_SYNC
224#define DPNSPCAPS_SUPPORTSDPNSRV 0x0001
225#define DPNSPCAPS_SUPPORTSBROADCAST 0x0002
226#define DPNSPCAPS_SUPPORTSALLADAPTERS 0x0004
227#define DPNSPCAPS_SUPPORTSTHREADPOOL 0x0008
228#define DPNSPCAPS_NETWORKSIMULATOR 0x0010
229#define DPNSPINFO_NETWORKSIMULATORDEVICE 0x0001
540DEFINE_GUID(CLSID_DirectPlay8Peer, 0x286f484d,0x375e,0x4458,0xa2,0x72,0xb1,0x38,0xe2,0xf8,0x0a,0x6a);
541DEFINE_GUID(CLSID_DirectPlay8Client, 0x743f1dc6,0x5aba,0x429f,0x8b,0xdf,0xc5,0x4d,0x03,0x25,0x3d,0xc2);
542DEFINE_GUID(CLSID_DirectPlay8Server, 0xda825e1b,0x6830,0x43d7,0x83,0x5d,0x0b,0x5a,0xd8,0x29,0x56,0xa2);
544DEFINE_GUID(CLSID_DirectPlay8ThreadPool, 0xfc47060e,0x6153,0x4b34,0xb9,0x75,0x8e,0x41,0x21,0xeb,0x7f,0x3c);
545DEFINE_GUID(CLSID_DirectPlay8NATResolver, 0xe4c1d9a2,0xcbf7,0x48bd,0x9a,0x69,0x34,0xa5,0x5e,0x0d,0x89,0x41);
547DEFINE_GUID(IID_IDirectPlay8Peer, 0x5102dacf,0x241b,0x11d3,0xae,0xa7,0x0,0x60,0x97,0xb0,0x14,0x11);
549DEFINE_GUID(IID_IDirectPlay8Client, 0x5102dacd,0x241b,0x11d3,0xae,0xa7,0x0,0x60,0x97,0xb0,0x14,0x11);
551DEFINE_GUID(IID_IDirectPlay8Server, 0x5102dace,0x241b,0x11d3,0xae,0xa7,0x0,0x60,0x97,0xb0,0x14,0x11);
554DEFINE_GUID(IID_IDirectPlay8ThreadPool, 0x0d22ee73,0x4a46,0x4a0d,0x89,0xb2,0x04,0x5b,0x4d,0x66,0x64,0x25);
556DEFINE_GUID(IID_IDirectPlay8NATResolver, 0xa9e213f2,0x9a60,0x486f,0xbf,0x3b,0x53,0x40,0x8b,0x6d,0x1c,0xbb);
559DEFINE_GUID(CLSID_DP8SP_IPX, 0x53934290,0x628d,0x11d2,0xae,0x0f,0x0,0x60,0x97,0xb0,0x14,0x11);
560DEFINE_GUID(CLSID_DP8SP_TCPIP, 0xebfe7ba0,0x628d,0x11d2,0xae,0x0f,0x0,0x60,0x97,0xb0,0x14,0x11);
561DEFINE_GUID(CLSID_DP8SP_SERIAL, 0x743b5d60,0x628d,0x11d2,0xae,0x0f,0x0,0x60,0x97,0xb0,0x14,0x11);
562DEFINE_GUID(CLSID_DP8SP_MODEM, 0x6d4a3650,0x628d,0x11d2,0xae,0x0f,0x0,0x60,0x97,0xb0,0x14,0x11);
564DEFINE_GUID(CLSID_DP8SP_BLUETOOTH, 0x995513af,0x3027,0x4b9a,0x95,0x6e,0xc7,0x72,0xb3,0xf7,0x80,0x06);
572#define INTERFACE IDirectPlay8Client
582 STDMETHOD(EnumHosts)(
THIS_ PDPN_APPLICATION_DESC pApplicationDesc,IDirectPlay8Address *pAddrHost,IDirectPlay8Address *pDeviceInfo,
PVOID pUserEnumData,
DWORD dwUserEnumDataSize,
DWORD dwEnumCount,
DWORD dwRetryInterval,
DWORD dwTimeOut,
PVOID pvUserContext,
DPNHANDLE *pAsyncHandle,
DWORD dwFlags)
PURE;
602#if !defined(__cplusplus) || defined(CINTERFACE)
604#define IDirectPlay8Client_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
605#define IDirectPlay8Client_AddRef(p) (p)->lpVtbl->AddRef(p)
606#define IDirectPlay8Client_Release(p) (p)->lpVtbl->Release(p)
608#define IDirectPlay8Client_Initialize(p,a,b,c) (p)->lpVtbl->Initialize(p,a,b,c)
609#define IDirectPlay8Client_EnumServiceProviders(p,a,b,c,d,e,f) (p)->lpVtbl->EnumServiceProviders(p,a,b,c,d,e,f)
610#define IDirectPlay8Client_EnumHosts(p,a,b,c,d,e,f,g,h,i,j,k) (p)->lpVtbl->EnumHosts(p,a,b,c,d,e,f,g,h,i,j,k)
611#define IDirectPlay8Client_CancelAsyncOperation(p,a,b) (p)->lpVtbl->CancelAsyncOperation(p,a,b)
612#define IDirectPlay8Client_Connect(p,a,b,c,d,e,f,g,h,i,j) (p)->lpVtbl->Connect(p,a,b,c,d,e,f,g,h,i,j)
613#define IDirectPlay8Client_Send(p,a,b,c,d,e,f) (p)->lpVtbl->Send(p,a,b,c,d,e,f)
614#define IDirectPlay8Client_GetSendQueueInfo(p,a,b,c) (p)->lpVtbl->GetSendQueueInfo(p,a,b,c)
615#define IDirectPlay8Client_GetApplicationDesc(p,a,b,c) (p)->lpVtbl->GetApplicationDesc(p,a,b,c)
616#define IDirectPlay8Client_SetClientInfo(p,a,b,c,d) (p)->lpVtbl->SetClientInfo(p,a,b,c,d)
617#define IDirectPlay8Client_GetServerInfo(p,a,b,c) (p)->lpVtbl->GetServerInfo(p,a,b,c)
618#define IDirectPlay8Client_GetServerAddress(p,a,b) (p)->lpVtbl->GetServerAddress(p,a,b)
619#define IDirectPlay8Client_Close(p,a) (p)->lpVtbl->Close(p,a)
620#define IDirectPlay8Client_ReturnBuffer(p,a,b) (p)->lpVtbl->ReturnBuffer(p,a,b)
621#define IDirectPlay8Client_GetCaps(p,a,b) (p)->lpVtbl->GetCaps(p,a,b)
622#define IDirectPlay8Client_SetCaps(p,a,b) (p)->lpVtbl->SetCaps(p,a,b)
623#define IDirectPlay8Client_SetSPCaps(p,a,b,c) (p)->lpVtbl->SetSPCaps(p,a,b,c)
624#define IDirectPlay8Client_GetSPCaps(p,a,b,c) (p)->lpVtbl->GetSPCaps(p,a,b,c)
625#define IDirectPlay8Client_GetConnectionInfo(p,a,b) (p)->lpVtbl->GetConnectionInfo(p,a,b)
626#define IDirectPlay8Client_RegisterLobby(p,a,b,c) (p)->lpVtbl->RegisterLobby(p,a,b,c)
629#define IDirectPlay8Client_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
630#define IDirectPlay8Client_AddRef(p) (p)->AddRef()
631#define IDirectPlay8Client_Release(p) (p)->Release()
633#define IDirectPlay8Client_Initialize(p,a,b,c) (p)->Initialize(a,b,c)
634#define IDirectPlay8Client_EnumServiceProviders(p,a,b,c,d,e,f) (p)->EnumServiceProviders(a,b,c,d,e,f)
635#define IDirectPlay8Client_EnumHosts(p,a,b,c,d,e,f,g,h,i,j,k) (p)->EnumHosts(a,b,c,d,e,f,g,h,i,j,k)
636#define IDirectPlay8Client_CancelAsyncOperation(p,a,b) (p)->CancelAsyncOperation(a,b)
637#define IDirectPlay8Client_Connect(p,a,b,c,d,e,f,g,h,i,j) (p)->Connect(a,b,c,d,e,f,g,h,i,j)
638#define IDirectPlay8Client_Send(p,a,b,c,d,e,f) (p)->Send(a,b,c,d,e,f)
639#define IDirectPlay8Client_GetSendQueueInfo(p,a,b,c) (p)->GetSendQueueInfo(a,b,c)
640#define IDirectPlay8Client_GetApplicationDesc(p,a,b,c) (p)->GetApplicationDesc(a,b,c)
641#define IDirectPlay8Client_SetClientInfo(p,a,b,c,d) (p)->SetClientInfo(a,b,c,d)
642#define IDirectPlay8Client_GetServerInfo(p,a,b,c) (p)->GetServerInfo(a,b,c)
643#define IDirectPlay8Client_GetServerAddress(p,a,b) (p)->GetServerAddress(a,b)
644#define IDirectPlay8Client_Close(p,a) (p)->Close(a)
645#define IDirectPlay8Client_ReturnBuffer(p,a,b) (p)->ReturnBuffer(a,b)
646#define IDirectPlay8Client_GetCaps(p,a,b) (p)->GetCaps(a,b)
647#define IDirectPlay8Client_SetCaps(p,a,b) (p)->SetCaps(a,b)
648#define IDirectPlay8Client_SetSPCaps(p,a,b,c) (p)->SetSPCaps(a,b,c)
649#define IDirectPlay8Client_GetSPCaps(p,a,b,c) (p)->GetSPCaps(a,b,c)
650#define IDirectPlay8Client_GetConnectionInfo(p,a,b) (p)->GetConnectionInfo(a,b)
651#define IDirectPlay8Client_RegisterLobby(p,a,b,c) (p)->RegisterLobby(a,b,c)
657#define INTERFACE IDirectPlay8Server
699#if !defined(__cplusplus) || defined(CINTERFACE)
701#define IDirectPlay8Server_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
702#define IDirectPlay8Server_AddRef(p) (p)->lpVtbl->AddRef(p)
703#define IDirectPlay8Server_Release(p) (p)->lpVtbl->Release(p)
705#define IDirectPlay8Server_Initialize(p,a,b,c) (p)->lpVtbl->Initialize(p,a,b,c)
706#define IDirectPlay8Server_EnumServiceProviders(p,a,b,c,d,e,f) (p)->lpVtbl->EnumServiceProviders(p,a,b,c,d,e,f)
707#define IDirectPlay8Server_CancelAsyncOperation(p,a,b) (p)->lpVtbl->CancelAsyncOperation(p,a,b)
708#define IDirectPlay8Server_GetSendQueueInfo(p,a,b,c,d) (p)->lpVtbl->GetSendQueueInfo(p,a,b,c,d)
709#define IDirectPlay8Server_GetApplicationDesc(p,a,b,c) (p)->lpVtbl->GetApplicationDesc(p,a,b,c)
710#define IDirectPlay8Server_SetServerInfo(p,a,b,c,d) (p)->lpVtbl->SetServerInfo(p,a,b,c,d)
711#define IDirectPlay8Server_GetClientInfo(p,a,b,c,d) (p)->lpVtbl->GetClientInfo(p,a,b,c,d)
712#define IDirectPlay8Server_GetClientAddress(p,a,b,c) (p)->lpVtbl->GetClientAddress(p,a,b,c)
713#define IDirectPlay8Server_GetLocalHostAddresses(p,a,b,c) (p)->lpVtbl->GetLocalHostAddresses(p,a,b,c)
714#define IDirectPlay8Server_SetApplicationDesc(p,a,b) (p)->lpVtbl->SetApplicationDesc(p,a,b)
715#define IDirectPlay8Server_Host(p,a,b,c,d,e,f,g) (p)->lpVtbl->Host(p,a,b,c,d,e,f,g)
716#define IDirectPlay8Server_SendTo(p,a,b,c,d,e,f,g) (p)->lpVtbl->SendTo(p,a,b,c,d,e,f,g)
717#define IDirectPlay8Server_CreateGroup(p,a,b,c,d,e) (p)->lpVtbl->CreateGroup(p,a,b,c,d,e)
718#define IDirectPlay8Server_DestroyGroup(p,a,b,c,d) (p)->lpVtbl->DestroyGroup(p,a,b,c,d)
719#define IDirectPlay8Server_AddPlayerToGroup(p,a,b,c,d,e) (p)->lpVtbl->AddPlayerToGroup(p,a,b,c,d,e)
720#define IDirectPlay8Server_RemovePlayerFromGroup(p,a,b,c,d,e) (p)->lpVtbl->RemovePlayerFromGroup(p,a,b,c,d,e)
721#define IDirectPlay8Server_SetGroupInfo(p,a,b,c,d,e) (p)->lpVtbl->SetGroupInfo(p,a,b,c,d,e)
722#define IDirectPlay8Server_GetGroupInfo(p,a,b,c,d) (p)->lpVtbl->GetGroupInfo(p,a,b,c,d)
723#define IDirectPlay8Server_EnumPlayersAndGroups(p,a,b,c) (p)->lpVtbl->EnumPlayersAndGroups(p,a,b,c)
724#define IDirectPlay8Server_EnumGroupMembers(p,a,b,c,d) (p)->lpVtbl->EnumGroupMembers(p,a,b,c,d)
725#define IDirectPlay8Server_Close(p,a) (p)->lpVtbl->Close(p,a)
726#define IDirectPlay8Server_DestroyClient(p,a,b,c,d) (p)->lpVtbl->DestroyClient(p,a,b,c,d)
727#define IDirectPlay8Server_ReturnBuffer(p,a,b) (p)->lpVtbl->ReturnBuffer(p,a,b)
728#define IDirectPlay8Server_GetPlayerContext(p,a,b,c) (p)->lpVtbl->GetPlayerContext(p,a,b,c)
729#define IDirectPlay8Server_GetGroupContext(p,a,b,c) (p)->lpVtbl->GetGroupContext(p,a,b,c)
730#define IDirectPlay8Server_GetCaps(p,a,b) (p)->lpVtbl->GetCaps(p,a,b)
731#define IDirectPlay8Server_SetCaps(p,a,b) (p)->lpVtbl->SetCaps(p,a,b)
732#define IDirectPlay8Server_SetSPCaps(p,a,b,c) (p)->lpVtbl->SetSPCaps(p,a,b,c)
733#define IDirectPlay8Server_GetSPCaps(p,a,b,c) (p)->lpVtbl->GetSPCaps(p,a,b,c)
734#define IDirectPlay8Server_GetConnectionInfo(p,a,b,c) (p)->lpVtbl->GetConnectionInfo(p,a,b,c)
735#define IDirectPlay8Server_RegisterLobby(p,a,b,c) (p)->lpVtbl->RegisterLobby(p,a,b,c)
738#define IDirectPlay8Server_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
739#define IDirectPlay8Server_AddRef(p) (p)->AddRef()
740#define IDirectPlay8Server_Release(p) (p)->Release()
742#define IDirectPlay8Server_Initialize(p,a,b,c) (p)->Initialize(a,b,c)
743#define IDirectPlay8Server_EnumServiceProviders(p,a,b,c,d,e,f) (p)->EnumServiceProviders(a,b,c,d,e,f)
744#define IDirectPlay8Server_CancelAsyncOperation(p,a,b) (p)->CancelAsyncOperation(a,b)
745#define IDirectPlay8Server_GetSendQueueInfo(p,a,b,c,d) (p)->GetSendQueueInfo(a,b,c,d)
746#define IDirectPlay8Server_GetApplicationDesc(p,a,b,c) (p)->GetApplicationDesc(a,b,c)
747#define IDirectPlay8Server_SetServerInfo(p,a,b,c,d) (p)->SetServerInfo(a,b,c,d)
748#define IDirectPlay8Server_GetClientInfo(p,a,b,c,d) (p)->GetClientInfo(a,b,c,d)
749#define IDirectPlay8Server_GetClientAddress(p,a,b,c) (p)->GetClientAddress(a,b,c)
750#define IDirectPlay8Server_GetLocalHostAddresses(p,a,b,c) (p)->GetLocalHostAddresses(a,b,c)
751#define IDirectPlay8Server_SetApplicationDesc(p,a,b) (p)->SetApplicationDesc(a,b)
752#define IDirectPlay8Server_Host(p,a,b,c,d,e,f,g) (p)->Host(a,b,c,d,e,f,g)
753#define IDirectPlay8Server_SendTo(p,a,b,c,d,e,f,g) (p)->SendTo(a,b,c,d,e,f,g)
754#define IDirectPlay8Server_CreateGroup(p,a,b,c,d,e) (p)->CreateGroup(a,b,c,d,e)
755#define IDirectPlay8Server_DestroyGroup(p,a,b,c,d) (p)->DestroyGroup(a,b,c,d)
756#define IDirectPlay8Server_AddPlayerToGroup(p,a,b,c,d,e) (p)->AddPlayerToGroup(a,b,c,d,e)
757#define IDirectPlay8Server_RemovePlayerFromGroup(p,a,b,c,d,e) (p)->RemovePlayerFromGroup(a,b,c,d,e)
758#define IDirectPlay8Server_SetGroupInfo(p,a,b,c,d,e) (p)->SetGroupInfo(a,b,c,d,e)
759#define IDirectPlay8Server_GetGroupInfo(p,a,b,c,d) (p)->GetGroupInfo(a,b,c,d)
760#define IDirectPlay8Server_EnumPlayersAndGroups(p,a,b,c) (p)->EnumPlayersAndGroups(a,b,c)
761#define IDirectPlay8Server_EnumGroupMembers(p,a,b,c,d) (p)->EnumGroupMembers(a,b,c,d)
762#define IDirectPlay8Server_Close(p,a) (p)->Close(a)
763#define IDirectPlay8Server_DestroyClient(p,a,b,c,d) (p)->DestroyClient(a,b,c,d)
764#define IDirectPlay8Server_ReturnBuffer(p,a,b) (p)->ReturnBuffer(a,b)
765#define IDirectPlay8Server_GetPlayerContext(p,a,b,c) (p)->GetPlayerContext(a,b,c)
766#define IDirectPlay8Server_GetGroupContext(p,a,b,c) (p)->GetGroupContext(a,b,c)
767#define IDirectPlay8Server_GetCaps(p,a,b) (p)->GetCaps(a,b)
768#define IDirectPlay8Server_SetCaps(p,a,b) (p)->SetCaps(a,b)
769#define IDirectPlay8Server_SetSPCaps(p,a,b,c) (p)->SetSPCaps(a,b,c)
770#define IDirectPlay8Server_GetSPCaps(p,a,b,c) (p)->GetSPCaps(a,b,c)
771#define IDirectPlay8Server_GetConnectionInfo(p,a,b,c) (p)->GetConnectionInfo(a,b,c)
772#define IDirectPlay8Server_RegisterLobby(p,a,b,c) (p)->RegisterLobby(a,b,c)
778#define INTERFACE IDirectPlay8Peer
789 STDMETHOD(
Connect)(
THIS_ const DPN_APPLICATION_DESC* pdnAppDesc, IDirectPlay8Address* pHostAddr, IDirectPlay8Address* pDeviceInfo,
const DPN_SECURITY_DESC* pdnSecurity,
const DPN_SECURITY_CREDENTIALS* pdnCredentials,
const void* pvUserConnectData,
DWORD dwUserConnectDataSize,
void* pvPlayerContext,
void* pvAsyncContext,
DPNHANDLE* phAsyncHandle,
DWORD dwFlags)
PURE;
808 STDMETHOD(EnumHosts)(
THIS_ PDPN_APPLICATION_DESC pApplicationDesc, IDirectPlay8Address* pAddrHost, IDirectPlay8Address* pDeviceInfo,
PVOID pUserEnumData,
DWORD dwUserEnumDataSize,
DWORD dwEnumCount,
DWORD dwRetryInterval,
DWORD dwTimeOut,
PVOID pvUserContext,
DPNHANDLE* pAsyncHandle,
DWORD dwFlags)
PURE;
823#if !defined(__cplusplus) || defined(CINTERFACE)
825#define IDirectPlay8Peer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
826#define IDirectPlay8Peer_AddRef(p) (p)->lpVtbl->AddRef(p)
827#define IDirectPlay8Peer_Release(p) (p)->lpVtbl->Release(p)
829#define IDirectPlay8Peer_Initialize(p,a,b,c) (p)->lpVtbl->Initialize(p,a,b,c)
830#define IDirectPlay8Peer_EnumServiceProviders(p,a,b,c,d,e,f) (p)->lpVtbl->EnumServiceProviders(p,a,b,c,d,e,f)
831#define IDirectPlay8Peer_EnumHosts(p,a,b,c,d,e,f,g,h,i,j,k) (p)->lpVtbl->EnumHosts(p,a,b,c,d,e,f,g,h,i,j,k)
832#define IDirectPlay8Peer_CancelAsyncOperation(p,a,b) (p)->lpVtbl->CancelAsyncOperation(p,a,b)
833#define IDirectPlay8Peer_Connect(p,a,b,c,d,e,f,g,h,i,j,k) (p)->lpVtbl->Connect(p,a,b,c,d,e,f,g,h,i,j,k)
834#define IDirectPlay8Peer_SendTo(p,a,b,c,d,e,f,g) (p)->lpVtbl->SendTo(p,a,b,c,d,e,f,g)
835#define IDirectPlay8Peer_GetSendQueueInfo(p,a,b,c,d) (p)->lpVtbl->GetSendQueueInfo(p,a,b,c,d)
836#define IDirectPlay8Peer_Host(p,a,b,c,d,e,f,g) (p)->lpVtbl->Host(p,a,b,c,d,e,f,g)
837#define IDirectPlay8Peer_GetApplicationDesc(p,a,b,c) (p)->lpVtbl->GetApplicationDesc(p,a,b,c)
838#define IDirectPlay8Peer_SetApplicationDesc(p,a,b) (p)->lpVtbl->SetApplicationDesc(p,a,b)
839#define IDirectPlay8Peer_CreateGroup(p,a,b,c,d,e) (p)->lpVtbl->CreateGroup(p,a,b,c,d,e)
840#define IDirectPlay8Peer_DestroyGroup(p,a,b,c,d) (p)->lpVtbl->DestroyGroup(p,a,b,c,d)
841#define IDirectPlay8Peer_AddPlayerToGroup(p,a,b,c,d,e) (p)->lpVtbl->AddPlayerToGroup(p,a,b,c,d,e)
842#define IDirectPlay8Peer_RemovePlayerFromGroup(p,a,b,c,d,e) (p)->lpVtbl->RemovePlayerFromGroup(p,a,b,c,d,e)
843#define IDirectPlay8Peer_SetGroupInfo(p,a,b,c,d,e) (p)->lpVtbl->SetGroupInfo(p,a,b,c,d,e)
844#define IDirectPlay8Peer_GetGroupInfo(p,a,b,c,d) (p)->lpVtbl->GetGroupInfo(p,a,b,c,d)
845#define IDirectPlay8Peer_EnumPlayersAndGroups(p,a,b,c) (p)->lpVtbl->EnumPlayersAndGroups(p,a,b,c)
846#define IDirectPlay8Peer_EnumGroupMembers(p,a,b,c,d) (p)->lpVtbl->EnumGroupMembers(p,a,b,c,d)
847#define IDirectPlay8Peer_SetPeerInfo(p,a,b,c,d) (p)->lpVtbl->SetPeerInfo(p,a,b,c,d)
848#define IDirectPlay8Peer_GetPeerInfo(p,a,b,c,d) (p)->lpVtbl->GetPeerInfo(p,a,b,c,d)
849#define IDirectPlay8Peer_GetPeerAddress(p,a,b,c) (p)->lpVtbl->GetPeerAddress(p,a,b,c)
850#define IDirectPlay8Peer_GetLocalHostAddresses(p,a,b,c) (p)->lpVtbl->GetLocalHostAddresses(p,a,b,c)
851#define IDirectPlay8Peer_Close(p,a) (p)->lpVtbl->Close(p,a)
852#define IDirectPlay8Peer_EnumHosts(p,a,b,c,d,e,f,g,h,i,j,k) (p)->lpVtbl->EnumHosts(p,a,b,c,d,e,f,g,h,i,j,k)
853#define IDirectPlay8Peer_DestroyPeer(p,a,b,c,d) (p)->lpVtbl->DestroyPeer(p,a,b,c,d)
854#define IDirectPlay8Peer_ReturnBuffer(p,a,b) (p)->lpVtbl->ReturnBuffer(p,a,b)
855#define IDirectPlay8Peer_GetPlayerContext(p,a,b,c) (p)->lpVtbl->GetPlayerContext(p,a,b,c)
856#define IDirectPlay8Peer_GetGroupContext(p,a,b,c) (p)->lpVtbl->GetGroupContext(p,a,b,c)
857#define IDirectPlay8Peer_GetCaps(p,a,b) (p)->lpVtbl->GetCaps(p,a,b)
858#define IDirectPlay8Peer_SetCaps(p,a,b) (p)->lpVtbl->SetCaps(p,a,b)
859#define IDirectPlay8Peer_SetSPCaps(p,a,b,c) (p)->lpVtbl->SetSPCaps(p,a,b,c)
860#define IDirectPlay8Peer_GetSPCaps(p,a,b,c) (p)->lpVtbl->GetSPCaps(p,a,b,c)
861#define IDirectPlay8Peer_GetConnectionInfo(p,a,b,c) (p)->lpVtbl->GetConnectionInfo(p,a,b,c)
862#define IDirectPlay8Peer_RegisterLobby(p,a,b,c) (p)->lpVtbl->RegisterLobby(p,a,b,c)
863#define IDirectPlay8Peer_TerminateSession(p,a,b,c) (p)->lpVtbl->TerminateSession(p,a,b,c)
866#define IDirectPlay8Peer_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
867#define IDirectPlay8Peer_AddRef(p) (p)->AddRef()
868#define IDirectPlay8Peer_Release(p) (p)->Release()
870#define IDirectPlay8Peer_Initialize(p,a,b,c) (p)->Initialize(a,b,c)
871#define IDirectPlay8Peer_EnumServiceProviders(p,a,b,c,d,e,f) (p)->EnumServiceProviders(a,b,c,d,e,f)
872#define IDirectPlay8Peer_EnumHosts(p,a,b,c,d,e,f,g,h,i,j,k) (p)->EnumHosts(a,b,c,d,e,f,g,h,i,j,k)
873#define IDirectPlay8Peer_CancelAsyncOperation(p,a,b) (p)->CancelAsyncOperation(a,b)
874#define IDirectPlay8Peer_Connect(p,a,b,c,d,e,f,g,h,i,j,k) (p)->Connect(a,b,c,d,e,f,g,h,i,j,k)
875#define IDirectPlay8Peer_SendTo(p,a,b,c,d,e,f,g) (p)->SendTo(a,b,c,d,e,f,g)
876#define IDirectPlay8Peer_GetSendQueueInfo(p,a,b,c,d) (p)->GetSendQueueInfo(a,b,c,d)
877#define IDirectPlay8Peer_Host(p,a,b,c,d,e,f,g) (p)->Host(a,b,c,d,e,f,g)
878#define IDirectPlay8Peer_GetApplicationDesc(p,a,b,c) (p)->GetApplicationDesc(a,b,c)
879#define IDirectPlay8Peer_SetApplicationDesc(p,a,b) (p)->SetApplicationDesc(a,b)
880#define IDirectPlay8Peer_CreateGroup(p,a,b,c,d,e) (p)->CreateGroup(a,b,c,d,e)
881#define IDirectPlay8Peer_DestroyGroup(p,a,b,c,d) (p)->DestroyGroup(a,b,c,d)
882#define IDirectPlay8Peer_AddPlayerToGroup(p,a,b,c,d,e) (p)->AddPlayerToGroup(a,b,c,d,e)
883#define IDirectPlay8Peer_RemovePlayerFromGroup(p,a,b,c,d,e) (p)->RemovePlayerFromGroup(a,b,c,d,e)
884#define IDirectPlay8Peer_SetGroupInfo(p,a,b,c,d,e) (p)->SetGroupInfo(a,b,c,d,e)
885#define IDirectPlay8Peer_GetGroupInfo(p,a,b,c,d) (p)->GetGroupInfo(a,b,c,d)
886#define IDirectPlay8Peer_EnumPlayersAndGroups(p,a,b,c) (p)->EnumPlayersAndGroups(a,b,c)
887#define IDirectPlay8Peer_EnumGroupMembers(p,a,b,c,d) (p)->EnumGroupMembers(a,b,c,d)
888#define IDirectPlay8Peer_SetPeerInfo(p,a,b,c,d) (p)->SetPeerInfo(a,b,c,d)
889#define IDirectPlay8Peer_GetPeerInfo(p,a,b,c,d) (p)->GetPeerInfo(a,b,c,d)
890#define IDirectPlay8Peer_GetPeerAddress(p,a,b,c) (p)->GetPeerAddress(a,b,c)
891#define IDirectPlay8Peer_GetLocalHostAddresses(p,a,b,c) (p)->GetLocalHostAddresses(a,b,c)
892#define IDirectPlay8Peer_Close(p,a) (p)->Close(a)
893#define IDirectPlay8Peer_EnumHosts(p,a,b,c,d,e,f,g,h,i,j,k) (p)->EnumHosts(a,b,c,d,e,f,g,h,i,j,k)
894#define IDirectPlay8Peer_DestroyPeer(p,a,b,c,d) (p)->DestroyPeer(a,b,c,d)
895#define IDirectPlay8Peer_ReturnBuffer(p,a,b) (p)->ReturnBuffer(a,b)
896#define IDirectPlay8Peer_GetPlayerContext(p,a,b,c) (p)->GetPlayerContext(a,b,c)
897#define IDirectPlay8Peer_GetGroupContext(p,a,b,c) (p)->GetGroupContext(a,b,c)
898#define IDirectPlay8Peer_GetCaps(p,a,b) (p)->GetCaps(a,b)
899#define IDirectPlay8Peer_SetCaps(p,a,b) (p)->SetCaps(a,b)
900#define IDirectPlay8Peer_SetSPCaps(p,a,b,c) (p)->SetSPCaps(a,b,c)
901#define IDirectPlay8Peer_GetSPCaps(p,a,b,c) (p)->GetSPCaps(a,b,c)
902#define IDirectPlay8Peer_GetConnectionInfo(p,a,b,c) (p)->GetConnectionInfo(a,b,c)
903#define IDirectPlay8Peer_RegisterLobby(p,a,b,c) (p)->RegisterLobby(a,b,c)
904#define IDirectPlay8Peer_TerminateSession(p,a,b,c) (p)->TerminateSession(a,b,c)
910#define INTERFACE IDirectPlay8ThreadPool
926#if !defined(__cplusplus) || defined(CINTERFACE)
928#define IDirectPlay8ThreadPool_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
929#define IDirectPlay8ThreadPool_AddRef(p) (p)->lpVtbl->AddRef(p)
930#define IDirectPlay8ThreadPool_Release(p) (p)->lpVtbl->Release(p)
932#define IDirectPlay8ThreadPool_Initialize(p,a,b,c) (p)->lpVtbl->Initialize(p,a,b,c)
933#define IDirectPlay8ThreadPool_Close(p,a) (p)->lpVtbl->Close(p,a)
934#define IDirectPlay8ThreadPool_GetThreadCount(p,a,b,c) (p)->lpVtbl->GetThreadCount(p,a,b,c)
935#define IDirectPlay8ThreadPool_SetThreadCount(p,a,b,c) (p)->lpVtbl->SetThreadCount(p,a,b,c)
936#define IDirectPlay8ThreadPool_DoWork(p,a,b) (p)->lpVtbl->DoWork(p,a,b)
939#define IDirectPlay8ThreadPool_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
940#define IDirectPlay8ThreadPool_AddRef(p) (p)->AddRef()
941#define IDirectPlay8ThreadPool_Release(p) (p)->Release()
943#define IDirectPlay8ThreadPool_Initialize(p,a,b,c) (p)->Initialize(a,b,c)
944#define IDirectPlay8ThreadPool_Close(p,a) (p)->Close(a)
945#define IDirectPlay8ThreadPool_GetThreadCount(p,a,b,c) (p)->GetThreadCount(a,b,c)
946#define IDirectPlay8ThreadPool_SetThreadCount(p,a,b,c) (p)->SetThreadCount(a,b,c)
947#define IDirectPlay8ThreadPool_DoWork(p,a,b) (p)->DoWork(a,b)
953#define INTERFACE IDirectPlay8NATResolver
969#if !defined(__cplusplus) || defined(CINTERFACE)
971#define IDirectPlay8NATResolver_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
972#define IDirectPlay8NATResolver_AddRef(p) (p)->lpVtbl->AddRef(p)
973#define IDirectPlay8NATResolver_Release(p) (p)->lpVtbl->Release(p)
975#define IDirectPlay8NATResolver_Initialize(p,a,b,c) (p)->lpVtbl->Initialize(p,a,b,c)
976#define IDirectPlay8NATResolver_Start(p,a,b,c) (p)->lpVtbl->Start(p,a,b,c)
977#define IDirectPlay8NATResolver_Close(p,a) (p)->lpVtbl->Close(p,a)
978#define IDirectPlay8NATResolver_EnumDevices(p,a,b,c,d) (p)->lpVtbl->EnumDevices(p,a,b,c,d)
979#define IDirectPlay8NATResolver_GetAddresses(p,a,b,c) (p)->lpVtbl->GetAddresses(p,a,b,c)
982#define IDirectPlay8NATResolver_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
983#define IDirectPlay8NATResolver_AddRef(p) (p)->AddRef()
984#define IDirectPlay8NATResolver_Release(p) (p)->Release()
986#define IDirectPlay8NATResolver_Initialize(p,a,b,c) (p)->Initialize(a,b,c)
987#define IDirectPlay8NATResolver_Start(p,a,b,c) (p)->Start(a,b,c)
988#define IDirectPlay8NATResolver_Close(p,a) (p)->Close(a)
989#define IDirectPlay8NATResolver_EnumDevices(p,a,b,c,d) (p)->EnumDevices(a,b,c,d)
990#define IDirectPlay8NATResolver_GetAddresses(p,a,b,c) (p)->GetAddresses(a,b,c)
static _Out_opt_ PULONGLONG Start
#define DECLARE_INTERFACE_(i, b)
_Check_return_ _In_ PQUERY_INTERFACE QueryInterface
HRESULT(WINAPI * PFNDPNMESSAGEHANDLER)(PVOID, DWORD, PVOID)
struct _DPN_APPLICATION_DESC DPN_APPLICATION_DESC
struct _DPNMSG_REMOVE_PLAYER_FROM_GROUP DPNMSG_REMOVE_PLAYER_FROM_GROUP
struct _DPNMSG_INDICATE_CONNECT DPNMSG_INDICATE_CONNECT
struct _BUFFERDESC BUFFERDESC
struct _DPN_GROUP_INFO DPN_GROUP_INFO
struct _DPN_CONNECTION_INFO DPN_CONNECTION_INFO
struct _DPNMSG_SEND_COMPLETE * PDPNMSG_SEND_COMPLETE
struct _DPNMSG_CLIENT_INFO * PDPNMSG_CLIENT_INFO
struct _DPNMSG_CONNECT_COMPLETE DPNMSG_CONNECT_COMPLETE
struct _DPNMSG_HOST_MIGRATE DPNMSG_HOST_MIGRATE
struct IDirectPlay8Server * PDIRECTPLAY8SERVER
struct _DPNMSG_CREATE_GROUP DPNMSG_CREATE_GROUP
struct _DPNMSG_REMOVE_PLAYER_FROM_GROUP * PDPNMSG_REMOVE_PLAYER_FROM_GROUP
struct IDirectPlay8Peer * PDIRECTPLAY8PEER
struct _DPN_SERVICE_PROVIDER_INFO * PDPN_SERVICE_PROVIDER_INFO
struct _BUFFERDESC DPN_BUFFER_DESC
struct _DPNMSG_ADD_PLAYER_TO_GROUP DPNMSG_ADD_PLAYER_TO_GROUP
struct _DPNMSG_PEER_INFO * PDPNMSG_PEER_INFO
struct _DPNMSG_SEND_COMPLETE DPNMSG_SEND_COMPLETE
struct _DPNMSG_DESTROY_THREAD DPNMSG_DESTROY_THREAD
struct _DPNMSG_CREATE_THREAD * PDPNMSG_CREATE_THREAD
struct _BUFFERDESC * PDPN_BUFFER_DESC
struct _DPN_GROUP_INFO * PDPN_GROUP_INFO
struct _DPNMSG_DESTROY_THREAD * PDPNMSG_DESTROY_THREAD
struct _DPN_SECURITY_DESC * PDPN_SECURITY_DESC
struct _DPNMSG_CREATE_PLAYER * PDPNMSG_CREATE_PLAYER
struct _DPNMSG_DESTROY_GROUP * PDPNMSG_DESTROY_GROUP
struct _DPNMSG_ENUM_HOSTS_QUERY * PDPNMSG_ENUM_HOSTS_QUERY
struct _DPN_CAPS DPN_CAPS
struct _DPNMSG_SERVER_INFO * PDPNMSG_SERVER_INFO
HRESULT WINAPI DirectPlay8Create(const CLSID *pcIID, LPVOID *ppvInterface, IUnknown *pUnknown)
struct _DPN_CAPS_EX DPN_CAPS_EX
struct _DPN_SECURITY_CREDENTIALS DPN_SECURITY_CREDENTIALS
struct _DPNMSG_RETURN_BUFFER * PDPNMSG_RETURN_BUFFER
struct IDirectPlay8Client * PDIRECTPLAY8CLIENT
struct _DPN_PLAYER_INFO DPN_PLAYER_INFO
struct _DPNMSG_ASYNC_OP_COMPLETE * PDPNMSG_ASYNC_OP_COMPLETE
struct _DPNMSG_TERMINATE_SESSION * PDPNMSG_TERMINATE_SESSION
struct _DPNMSG_INDICATED_CONNECT_ABORTED DPNMSG_INDICATED_CONNECT_ABORTED
struct _DPN_SECURITY_DESC DPN_SECURITY_DESC
struct _DPNMSG_CONNECT_COMPLETE * PDPNMSG_CONNECT_COMPLETE
struct _DPNMSG_CREATE_PLAYER DPNMSG_CREATE_PLAYER
struct _DPN_SP_CAPS * PDPN_SP_CAPS
struct _DPNMSG_RECEIVE * PDPNMSG_RECEIVE
struct _DPN_SP_CAPS DPN_SP_CAPS
struct _DPNMSG_HOST_MIGRATE * PDPNMSG_HOST_MIGRATE
struct _DPNMSG_DESTROY_GROUP DPNMSG_DESTROY_GROUP
struct _DPNMSG_CLIENT_INFO DPNMSG_CLIENT_INFO
struct _DPNMSG_ASYNC_OP_COMPLETE DPNMSG_ASYNC_OP_COMPLETE
struct _DPNMSG_DESTROY_PLAYER * PDPNMSG_DESTROY_PLAYER
struct _DPN_CAPS_EX * PDPN_CAPS_EX
struct _DPNMSG_PEER_INFO DPNMSG_PEER_INFO
struct _DPNMSG_INDICATED_CONNECT_ABORTED * PDPNMSG_INDICATED_CONNECT_ABORTED
struct _DPNMSG_GROUP_INFO DPNMSG_GROUP_INFO
struct _DPNMSG_CREATE_THREAD DPNMSG_CREATE_THREAD
struct _DPNMSG_DESTROY_PLAYER DPNMSG_DESTROY_PLAYER
struct _DPNMSG_ADD_PLAYER_TO_GROUP * PDPNMSG_ADD_PLAYER_TO_GROUP
struct _DPNMSG_INDICATE_CONNECT * PDPNMSG_INDICATE_CONNECT
struct _DPNMSG_NAT_RESOLVER_QUERY * PDPNMSG_NAT_RESOLVER_QUERY
struct _DPN_APPLICATION_DESC * PDPN_APPLICATION_DESC
struct _DPNMSG_RETURN_BUFFER DPNMSG_RETURN_BUFFER
struct _DPNMSG_ENUM_HOSTS_RESPONSE DPNMSG_ENUM_HOSTS_RESPONSE
struct _DPN_SECURITY_CREDENTIALS * PDPN_SECURITY_CREDENTIALS
struct _DPNMSG_ENUM_HOSTS_RESPONSE * PDPNMSG_ENUM_HOSTS_RESPONSE
struct IDirectPlay8LobbiedApplication * PIDirectPlay8LobbiedApplication
struct IDirectPlay8NATResolver * PDIRECTPLAY8NATRESOLVER
struct IDirectPlay8ThreadPool * PDIRECTPLAY8THREADPOOL
struct _DPN_CONNECTION_INFO * PDPN_CONNECTION_INFO
struct _DPNMSG_ENUM_HOSTS_QUERY DPNMSG_ENUM_HOSTS_QUERY
struct IDirectPlay8LobbiedApplication DNLOBBIEDAPPLICATION
struct _DPNMSG_SERVER_INFO DPNMSG_SERVER_INFO
struct _DPN_PLAYER_INFO * PDPN_PLAYER_INFO
struct _DPN_CAPS * PDPN_CAPS
struct _DPNMSG_GROUP_INFO * PDPNMSG_GROUP_INFO
struct _DPNMSG_NAT_RESOLVER_QUERY DPNMSG_NAT_RESOLVER_QUERY
struct _DPNMSG_RECEIVE DPNMSG_RECEIVE
struct _DPNMSG_TERMINATE_SESSION DPNMSG_TERMINATE_SESSION
struct _BUFFERDESC * PBUFFERDESC
struct _DPNMSG_CREATE_GROUP * PDPNMSG_CREATE_GROUP
struct _DPN_SERVICE_PROVIDER_INFO DPN_SERVICE_PROVIDER_INFO
_In_ PKSPIN_CONNECT Connect
static ULONG WINAPI AddRef(IStream *iface)
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD dwFlags
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
PVOID pvApplicationReplyData
DWORD dwApplicationReplyDataSize
DWORD dwMaxResponseDataSize
IDirectPlay8Address * pAddressDevice
IDirectPlay8Address * pAddressSender
const DPN_APPLICATION_DESC * pApplicationDescription
IDirectPlay8Address * pAddressDevice
IDirectPlay8Address * pAddressSender
DWORD dwRoundTripLatencyMS
IDirectPlay8Address * pAddressPlayer
IDirectPlay8Address * pAddressDevice
DWORD dwUserConnectDataSize
IDirectPlay8Address * pAddressDevice
IDirectPlay8Address * pAddressSender
DPN_BUFFER_DESC * pBuffers
DWORD dwFirstFrameRetryCount
DWORD dwSendCompleteFlags
DWORD dwTerminateDataSize
DWORD dwApplicationReservedDataSize
PVOID pvApplicationReservedData
DWORD dwMaxHardDisconnectPeriod
DWORD dwMaxSendRetryInterval
DWORD dwDropThresholdRate
DWORD dwTimeoutUntilKeepAlive
DWORD dwNumHardDisconnectSends
DWORD dwTimeoutUntilKeepAlive
DWORD dwPacketsReceivedGuaranteed
DWORD dwMessagesTimedOutNormalPriority
DWORD dwBytesReceivedGuaranteed
DWORD dwPeakThroughputBPS
DWORD dwPacketsSentGuaranteed
DWORD dwMessagesTransmittedHighPriority
DWORD dwPacketsSentNonGuaranteed
DWORD dwBytesSentGuaranteed
DWORD dwMessagesTimedOutLowPriority
DWORD dwMessagesTransmittedLowPriority
DWORD dwBytesSentNonGuaranteed
DWORD dwBytesReceivedNonGuaranteed
DWORD dwPacketsReceivedNonGuaranteed
DWORD dwRoundTripLatencyMS
DWORD dwMessagesTimedOutHighPriority
DWORD dwMessagesTransmittedNormalPriority
DWORD dwDefaultEnumRetryInterval
DWORD dwDefaultEnumTimeout
DWORD dwMaxEnumPayloadSize