ReactOS  0.4.13-dev-905-g87845a1
dplay_global.h File Reference
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "wine/dplaysp.h"
#include "lobbysp.h"
#include "dplayx_queue.h"
Include dependency graph for dplay_global.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  tagEnumSessionAsyncCallbackData
 
struct  tagDP_MSG_REPLY_STRUCT
 
struct  tagDP_MSG_REPLY_STRUCT_LIST
 
struct  PlayerData
 
struct  PlayerList
 
struct  GroupData
 
struct  GroupList
 
struct  DPMSG
 
struct  tagDirectPlay2Data
 
struct  IDirectPlayImpl
 

Typedefs

typedef struct tagEnumSessionAsyncCallbackData EnumSessionAsyncCallbackData
 
typedef struct tagDP_MSG_REPLY_STRUCT DP_MSG_REPLY_STRUCT
 
typedef struct tagDP_MSG_REPLY_STRUCTLPDP_MSG_REPLY_STRUCT
 
typedef struct tagDP_MSG_REPLY_STRUCT_LIST DP_MSG_REPLY_STRUCT_LIST
 
typedef struct tagDP_MSG_REPLY_STRUCT_LISTLPDP_MSG_REPLY_STRUCT_LIST
 
typedef struct PlayerDatalpPlayerData
 
typedef struct PlayerListlpPlayerList
 
typedef struct GroupData GroupData
 
typedef struct GroupDatalpGroupData
 
typedef struct GroupListlpGroupList
 
typedef struct DPMSGLPDPMSG
 
typedef struct tagDirectPlay2Data DirectPlay2Data
 
typedef struct IDirectPlayImpl IDirectPlayImpl
 

Enumerations

enum  SPSTATE { NO_PROVIDER = 0, DP_SERVICE_PROVIDER = 1, DP_LOBBY_PROVIDER = 2 }
 

Functions

HRESULT DPL_EnumAddress (LPDPENUMADDRESSCALLBACK lpEnumAddressCallback, LPCVOID lpAddress, DWORD dwAddressSize, LPVOID lpContext) DECLSPEC_HIDDEN
 
HRESULT DP_HandleMessage (IDirectPlayImpl *This, const void *lpMessageBody, DWORD dwMessageBodySize, const void *lpMessageHeader, WORD wCommandId, WORD wVersion, void **lplpReply, DWORD *lpdwMsgSize) DECLSPEC_HIDDEN
 
HRESULT DP_GetSPPlayerData (IDirectPlayImpl *lpDP, DPID idPlayer, void **lplpData) DECLSPEC_HIDDEN
 
HRESULT DP_SetSPPlayerData (IDirectPlayImpl *lpDP, DPID idPlayer, void *lpData) DECLSPEC_HIDDEN
 
LPVOID DPSP_CreateSPPlayerData (void) DECLSPEC_HIDDEN
 
HRESULT dplay_create (REFIID riid, void **ppv) DECLSPEC_HIDDEN
 
HRESULT dplobby_create (REFIID riid, void **ppv) DECLSPEC_HIDDEN
 
HRESULT dplaysp_create (REFIID riid, void **ppv, IDirectPlayImpl *dp) DECLSPEC_HIDDEN
 
HRESULT dplobbysp_create (REFIID riid, void **ppv, IDirectPlayImpl *dp) DECLSPEC_HIDDEN
 

Typedef Documentation

◆ DirectPlay2Data

◆ DP_MSG_REPLY_STRUCT

◆ DP_MSG_REPLY_STRUCT_LIST

◆ EnumSessionAsyncCallbackData

◆ GroupData

Definition at line 116 of file dplay_global.h.

◆ IDirectPlayImpl

◆ LPDP_MSG_REPLY_STRUCT

◆ LPDP_MSG_REPLY_STRUCT_LIST

◆ LPDPMSG

typedef struct DPMSG* LPDPMSG

Definition at line 132 of file dplay_global.h.

◆ lpGroupData

Definition at line 117 of file dplay_global.h.

◆ lpGroupList

Definition at line 125 of file dplay_global.h.

◆ lpPlayerData

Definition at line 81 of file dplay_global.h.

◆ lpPlayerList

Definition at line 89 of file dplay_global.h.

Enumeration Type Documentation

◆ SPSTATE

Enumerator
NO_PROVIDER 
DP_SERVICE_PROVIDER 
DP_LOBBY_PROVIDER 

Definition at line 134 of file dplay_global.h.

Function Documentation

◆ DP_GetSPPlayerData()

HRESULT DP_GetSPPlayerData ( IDirectPlayImpl lpDP,
DPID  idPlayer,
void **  lplpData 
)

Definition at line 5721 of file dplay.c.

5722 {
5723  lpPlayerList lpPlayer = DP_FindPlayer( lpDP, idPlayer );
5724 
5725  if( lpPlayer == NULL )
5726  {
5727  return DPERR_INVALIDPLAYER;
5728  }
5729 
5730  *lplpData = lpPlayer->lpPData->lpSPPlayerData;
5731 
5732  return DP_OK;
5733 }
#define DPERR_INVALIDPLAYER
Definition: dplay.h:104
lpPlayerData lpPData
Definition: dplay_global.h:87
LPVOID lpSPPlayerData
Definition: dplay_global.h:77
#define DP_OK
Definition: dplay.h:88
static lpPlayerList DP_FindPlayer(IDirectPlayImpl *This, DPID dpid)
Definition: dplay.c:1387
smooth NULL
Definition: ftsmooth.c:416

Referenced by IDirectPlaySPImpl_GetSPPlayerData(), and IDirectPlaySPImpl_SetSPPlayerData().

◆ DP_HandleMessage()

HRESULT DP_HandleMessage ( IDirectPlayImpl This,
const void lpMessageBody,
DWORD  dwMessageBodySize,
const void lpMessageHeader,
WORD  wCommandId,
WORD  wVersion,
void **  lplpReply,
DWORD lpdwMsgSize 
)

Definition at line 273 of file dplay.c.

276 {
277  TRACE( "(%p)->(%p,0x%08x,%p,%u,%u)\n",
278  This, lpcMessageBody, dwMessageBodySize, lpcMessageHeader, wCommandId,
279  wVersion );
280 
281  switch( wCommandId )
282  {
283  /* Name server needs to handle this request */
285  /* Reply expected */
286  NS_ReplyToEnumSessionsRequest( lpcMessageBody, lplpReply, lpdwMsgSize, This );
287  break;
288 
289  /* Name server needs to handle this request */
291  /* No reply expected */
292  NS_AddRemoteComputerAsNameServer( lpcMessageHeader,
293  This->dp2->spData.dwSPHeaderSize,
294  lpcMessageBody,
295  This->dp2->lpNameServerData );
296  break;
297 
299  {
300  LPCDPMSG_REQUESTNEWPLAYERID lpcMsg = lpcMessageBody;
301 
302  LPDPMSG_NEWPLAYERIDREPLY lpReply;
303 
304  *lpdwMsgSize = This->dp2->spData.dwSPHeaderSize + sizeof( *lpReply );
305 
306  *lplpReply = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, *lpdwMsgSize );
307 
308  FIXME( "Ignoring dwFlags 0x%08x in request msg\n",
309  lpcMsg->dwFlags );
310 
311  /* Setup the reply */
312  lpReply = (LPDPMSG_NEWPLAYERIDREPLY)( (BYTE*)(*lplpReply) +
313  This->dp2->spData.dwSPHeaderSize );
314 
317  lpReply->envelope.wVersion = DPMSGVER_DP6;
318 
319  lpReply->dpidNewPlayerId = DP_NextObjectId();
320 
321  TRACE( "Allocating new playerid 0x%08x from remote request\n",
322  lpReply->dpidNewPlayerId );
323  break;
324  }
325 
328  DP_MSG_ReplyReceived( This, wCommandId, lpcMessageBody, dwMessageBodySize );
329  break;
330 
332  TRACE( "GOT THE SELF MESSAGE: %p -> 0x%08x\n", lpcMessageHeader, ((const DWORD *)lpcMessageHeader)[1] );
333  NS_SetLocalAddr( This->dp2->lpNameServerData, lpcMessageHeader, 20 );
334  DP_MSG_ReplyReceived( This, wCommandId, lpcMessageBody, dwMessageBodySize );
335 
337  TRACE( "Sending message to self to get my addr\n" );
338  DP_MSG_ToSelf( This, 1 ); /* This is a hack right now */
339  break;
340 
342  DP_MSG_ErrorReceived( This, wCommandId, lpcMessageBody, dwMessageBodySize );
343  break;
344 
345  default:
346  FIXME( "Unknown wCommandId %u. Ignoring message\n", wCommandId );
347  DebugBreak();
348  break;
349  }
350 
351  /* FIXME: There is code in dplaysp.c to handle dplay commands. Move to here. */
352 
353  return DP_OK;
354 }
void NS_ReplyToEnumSessionsRequest(const void *lpcMsg, void **lplpReplyData, DWORD *lpdwReplySize, IDirectPlayImpl *lpDP)
Definition: name_server.c:359
#define DPMSGCMD_ENUMSESSIONSREPLY
void NS_SetLocalAddr(LPVOID lpNSInfo, LPCVOID lpHdr, DWORD dwHdrSize)
Definition: name_server.c:185
struct tagDPMSG_NEWPLAYERIDREPLY * LPDPMSG_NEWPLAYERIDREPLY
void DP_MSG_ReplyReceived(IDirectPlayImpl *This, WORD wCommandId, const void *lpcMsgBody, DWORD dwMsgBodySize)
#define DPMSGCMD_ENUMSESSIONSREQUEST
#define DP_OK
Definition: dplay.h:88
void DP_MSG_ToSelf(IDirectPlayImpl *This, DPID dpidSelf)
#define FIXME(fmt,...)
Definition: debug.h:110
void WINAPI DebugBreak(void)
#define DPMSGCMD_FORWARDADDPLAYERNACK
static DPID DP_NextObjectId(void)
Definition: dplay.c:267
#define DPMSGCMD_JUSTENVELOPE
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:395
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
#define DPMSGVER_DP6
DPMSG_SENDENVELOPE envelope
unsigned long DWORD
Definition: ntddk_ex.h:95
#define DPMSGMAGIC_DPLAYMSG
#define DPMSGCMD_REQUESTNEWPLAYERID
unsigned char BYTE
Definition: mem.h:68
void DP_MSG_ErrorReceived(IDirectPlayImpl *This, WORD wCommandId, const void *lpMsgBody, DWORD dwMsgBodySize)
void NS_AddRemoteComputerAsNameServer(LPCVOID lpcNSAddrHdr, DWORD dwHdrSize, LPCDPMSG_ENUMSESSIONSREPLY lpcMsg, LPVOID lpNSInfo)
Definition: name_server.c:88
#define HEAP_ZERO_MEMORY
Definition: compat.h:123
#define DPMSGCMD_GETNAMETABLEREPLY
#define DPMSGCMD_FORWARDADDPLAYER
#define DPMSGCMD_NEWPLAYERIDREPLY

Referenced by IDirectPlaySPImpl_HandleMessage().

◆ DP_SetSPPlayerData()

HRESULT DP_SetSPPlayerData ( IDirectPlayImpl lpDP,
DPID  idPlayer,
void lpData 
)

Definition at line 5735 of file dplay.c.

5736 {
5737  lpPlayerList lpPlayer = DP_FindPlayer( lpDP, idPlayer );
5738 
5739  if( lpPlayer == NULL )
5740  {
5741  return DPERR_INVALIDPLAYER;
5742  }
5743 
5744  lpPlayer->lpPData->lpSPPlayerData = lpData;
5745 
5746  return DP_OK;
5747 }
#define DPERR_INVALIDPLAYER
Definition: dplay.h:104
lpPlayerData lpPData
Definition: dplay_global.h:87
LPVOID lpSPPlayerData
Definition: dplay_global.h:77
#define DP_OK
Definition: dplay.h:88
static lpPlayerList DP_FindPlayer(IDirectPlayImpl *This, DPID dpid)
Definition: dplay.c:1387
smooth NULL
Definition: ftsmooth.c:416

Referenced by IDirectPlaySPImpl_SetSPPlayerData().

◆ DPL_EnumAddress()

HRESULT DPL_EnumAddress ( LPDPENUMADDRESSCALLBACK  lpEnumAddressCallback,
LPCVOID  lpAddress,
DWORD  dwAddressSize,
LPVOID  lpContext 
)

Definition at line 644 of file dplobby.c.

646 {
647  DWORD dwTotalSizeEnumerated = 0;
648 
649  /* FIXME: First chunk is always the total size chunk - Should we report it? */
650 
651  while ( dwTotalSizeEnumerated < dwAddressSize )
652  {
653  const DPADDRESS* lpElements = lpAddress;
654  DWORD dwSizeThisEnumeration;
655 
656  /* Invoke the enum method. If false is returned, stop enumeration */
657  if ( !lpEnumAddressCallback( &lpElements->guidDataType,
658  lpElements->dwDataSize,
659  (const BYTE *)lpElements + sizeof( DPADDRESS ),
660  lpContext ) )
661  {
662  break;
663  }
664 
665  dwSizeThisEnumeration = sizeof( DPADDRESS ) + lpElements->dwDataSize;
666  lpAddress = (const BYTE*) lpAddress + dwSizeThisEnumeration;
667  dwTotalSizeEnumerated += dwSizeThisEnumeration;
668  }
669 
670  return DP_OK;
671 }
GUID guidDataType
Definition: dplobby.h:252
#define DP_OK
Definition: dplay.h:88
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned char BYTE
Definition: mem.h:68
struct tagDPADDRESS DPADDRESS
DWORD dwDataSize
Definition: dplobby.h:253

Referenced by IDirectPlay4Impl_InitializeConnection(), IDirectPlayLobby3AImpl_EnumAddress(), IDirectPlayLobby3Impl_EnumAddress(), and IDirectPlaySPImpl_EnumAddress().

◆ dplay_create()

HRESULT dplay_create ( REFIID  riid,
void **  ppv 
)

Definition at line 5680 of file dplay.c.

5681 {
5683  HRESULT hr;
5684 
5685  TRACE( "(%s, %p)\n", debugstr_guid( riid ), ppv );
5686 
5687  *ppv = NULL;
5688  obj = HeapAlloc( GetProcessHeap(), 0, sizeof( *obj ) );
5689  if ( !obj )
5690  return DPERR_OUTOFMEMORY;
5691 
5692  obj->IDirectPlay_iface.lpVtbl = &dp_vt;
5693  obj->IDirectPlay2A_iface.lpVtbl = &dp2A_vt;
5694  obj->IDirectPlay2_iface.lpVtbl = &dp2_vt;
5695  obj->IDirectPlay3A_iface.lpVtbl = &dp3A_vt;
5696  obj->IDirectPlay3_iface.lpVtbl = &dp3_vt;
5697  obj->IDirectPlay4A_iface.lpVtbl = &dp4A_vt;
5698  obj->IDirectPlay4_iface.lpVtbl = &dp4_vt;
5699  obj->numIfaces = 1;
5700  obj->ref = 0;
5701  obj->ref2A = 0;
5702  obj->ref2 = 0;
5703  obj->ref3A = 0;
5704  obj->ref3 = 0;
5705  obj->ref4A = 0;
5706  obj->ref4 = 1;
5707 
5708  InitializeCriticalSection( &obj->lock );
5709  obj->lock.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": IDirectPlayImpl.lock");
5710 
5711  if ( DP_CreateDirectPlay2( obj ) )
5712  hr = IDirectPlayX_QueryInterface( &obj->IDirectPlay4_iface, riid, ppv );
5713  else
5714  hr = DPERR_NOMEMORY;
5715  IDirectPlayX_Release( &obj->IDirectPlay4_iface );
5716 
5717  return hr;
5718 }
#define DWORD_PTR
Definition: treelist.c:76
HRESULT hr
Definition: shlfolder.c:183
REFIID riid
Definition: precomp.h:44
REFIID LPVOID * ppv
Definition: atlbase.h:39
static const IDirectPlay3Vtbl dp3A_vt
Definition: dplay.c:5515
#define DPERR_OUTOFMEMORY
Definition: dplay.h:109
#define IDirectPlayX_Release(p)
Definition: dplay.h:866
static const IDirectPlay2Vtbl dp2A_vt
Definition: dplay.c:5428
GLsizei GLsizei GLuint * obj
Definition: glext.h:6042
static const IDirectPlay2Vtbl dp2_vt
Definition: dplay.c:5392
VOID WINAPI InitializeCriticalSection(OUT LPCRITICAL_SECTION lpCriticalSection)
Definition: synch.c:751
smooth NULL
Definition: ftsmooth.c:416
static BOOL DP_CreateDirectPlay2(LPVOID lpDP)
Definition: dplay.c:129
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
static const IDirectPlay3Vtbl dp3_vt
Definition: dplay.c:5464
#define GetProcessHeap()
Definition: compat.h:395
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
LONG HRESULT
Definition: typedefs.h:77
static const IDirectPlay4Vtbl dp4_vt
Definition: dplay.c:5566
#define DPERR_NOMEMORY
Definition: dplay.h:108
static const IDirectPlay4Vtbl dp4A_vt
Definition: dplay.c:5623
#define IDirectPlayX_QueryInterface(p, a, b)
Definition: dplay.h:864
static const IDirectPlayVtbl dp_vt
Definition: dplay.c:560

Referenced by DirectPlayCreate(), and DPL_ConnectEx().

◆ dplaysp_create()

HRESULT dplaysp_create ( REFIID  riid,
void **  ppv,
IDirectPlayImpl dp 
)

Definition at line 686 of file dplaysp.c.

687 {
689  HRESULT hr;
690 
691  TRACE( "(%s, %p)\n", debugstr_guid( riid ), ppv );
692 
693  *ppv = NULL;
694  obj = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof( *obj ) );
695  if ( !obj )
696  return DPERR_OUTOFMEMORY;
697 
698  obj->IDirectPlaySP_iface.lpVtbl = &directPlaySPVT;
699  obj->ref = 1;
700  obj->dplay = dp;
701 
702  hr = IDirectPlaySP_QueryInterface( &obj->IDirectPlaySP_iface, riid, ppv );
703  IDirectPlaySP_Release( &obj->IDirectPlaySP_iface );
704 
705  return hr;
706 }
HRESULT hr
Definition: shlfolder.c:183
#define IDirectPlaySP_QueryInterface(p, a, b)
Definition: dplaysp.h:95
REFIID riid
Definition: precomp.h:44
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define DPERR_OUTOFMEMORY
Definition: dplay.h:109
GLsizei GLsizei GLuint * obj
Definition: glext.h:6042
smooth NULL
Definition: ftsmooth.c:416
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:395
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
LONG HRESULT
Definition: typedefs.h:77
#define IDirectPlaySP_Release(p)
Definition: dplaysp.h:97
static const IDirectPlaySPVtbl directPlaySPVT
Definition: dplaysp.c:667
#define HEAP_ZERO_MEMORY
Definition: compat.h:123

Referenced by DP_CreateDirectPlay2().

◆ dplobby_create()

HRESULT dplobby_create ( REFIID  riid,
void **  ppv 
)

Definition at line 2026 of file dplobby.c.

2027 {
2029  HRESULT hr;
2030 
2031  TRACE( "(%s, %p)\n", debugstr_guid( riid ), ppv );
2032 
2033  *ppv = NULL;
2034  obj = HeapAlloc( GetProcessHeap(), 0, sizeof( *obj ) );
2035  if ( !obj )
2036  return DPERR_OUTOFMEMORY;
2037 
2038  obj->IDirectPlayLobby_iface.lpVtbl = &dpl_vt;
2039  obj->IDirectPlayLobbyA_iface.lpVtbl = &dplA_vt;
2040  obj->IDirectPlayLobby2_iface.lpVtbl = &dpl2_vt;
2041  obj->IDirectPlayLobby2A_iface.lpVtbl = &dpl2A_vt;
2042  obj->IDirectPlayLobby3_iface.lpVtbl = &dpl3_vt;
2043  obj->IDirectPlayLobby3A_iface.lpVtbl = &dpl3A_vt;
2044  obj->numIfaces = 1;
2045  obj->msgtid = 0;
2046  obj->ref = 0;
2047  obj->refA = 0;
2048  obj->ref2 = 0;
2049  obj->ref2A = 0;
2050  obj->ref3 = 1;
2051  obj->ref3A = 0;
2052 
2053  InitializeCriticalSection( &obj->lock );
2054  obj->lock.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": IDirectPlayLobbyImpl.lock");
2055  DPQ_INIT( obj->msgs );
2056 
2057  hr = IDirectPlayLobby_QueryInterface( &obj->IDirectPlayLobby3_iface, riid, ppv );
2058  IDirectPlayLobby_Release( &obj->IDirectPlayLobby3_iface );
2059 
2060  return hr;
2061 }
#define DPQ_INIT(head)
Definition: dplayx_queue.h:54
#define IDirectPlayLobby_QueryInterface(p, a, b)
Definition: dplobby.h:454
#define DWORD_PTR
Definition: treelist.c:76
HRESULT hr
Definition: shlfolder.c:183
REFIID riid
Definition: precomp.h:44
static const IDirectPlayLobbyVtbl dpl_vt
Definition: dplobby.c:1924
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define DPERR_OUTOFMEMORY
Definition: dplay.h:109
static const IDirectPlayLobbyVtbl dplA_vt
Definition: dplobby.c:1906
GLsizei GLsizei GLuint * obj
Definition: glext.h:6042
static const IDirectPlayLobby3Vtbl dpl3A_vt
Definition: dplobby.c:1980
VOID WINAPI InitializeCriticalSection(OUT LPCRITICAL_SECTION lpCriticalSection)
Definition: synch.c:751
smooth NULL
Definition: ftsmooth.c:416
#define debugstr_guid
Definition: kernel32.h:35
static const IDirectPlayLobby2Vtbl dpl2A_vt
Definition: dplobby.c:1942
static const IDirectPlayLobby2Vtbl dpl2_vt
Definition: dplobby.c:1961
#define TRACE(s)
Definition: solgame.cpp:4
#define IDirectPlayLobby_Release(p)
Definition: dplobby.h:456
#define GetProcessHeap()
Definition: compat.h:395
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
LONG HRESULT
Definition: typedefs.h:77
static const IDirectPlayLobby3Vtbl dpl3_vt
Definition: dplobby.c:2003

Referenced by DirectPlayLobbyCreateA(), and DirectPlayLobbyCreateW().

◆ dplobbysp_create()

HRESULT dplobbysp_create ( REFIID  riid,
void **  ppv,
IDirectPlayImpl dp 
)

Definition at line 230 of file lobbysp.c.

231 {
233  HRESULT hr;
234 
235  TRACE( "(%s, %p)\n", debugstr_guid( riid ), ppv );
236 
237  *ppv = NULL;
238  obj = HeapAlloc( GetProcessHeap(), 0, sizeof( *obj ) );
239  if ( !obj )
240  return DPERR_OUTOFMEMORY;
241 
242  obj->IDPLobbySP_iface.lpVtbl = &dpLobbySPVT;
243  obj->ref = 1;
244  obj->dplay = dp;
245 
246  hr = IDPLobbySP_QueryInterface( &obj->IDPLobbySP_iface, riid, ppv );
247  IDPLobbySP_Release( &obj->IDPLobbySP_iface );
248 
249  return hr;
250 }
HRESULT hr
Definition: shlfolder.c:183
REFIID riid
Definition: precomp.h:44
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define DPERR_OUTOFMEMORY
Definition: dplay.h:109
GLsizei GLsizei GLuint * obj
Definition: glext.h:6042
smooth NULL
Definition: ftsmooth.c:416
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:395
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
LONG HRESULT
Definition: typedefs.h:77
#define IDPLobbySP_QueryInterface(p, a, b)
Definition: lobbysp.h:492
static const IDPLobbySPVtbl dpLobbySPVT
Definition: lobbysp.c:207
#define IDPLobbySP_Release(p)
Definition: lobbysp.h:494

Referenced by DP_CreateDirectPlay2().

◆ DPSP_CreateSPPlayerData()

LPVOID DPSP_CreateSPPlayerData ( void  )

Definition at line 711 of file dplaysp.c.

712 {
713  TRACE( "Creating SPPlayer data struct\n" );
715  sizeof( DP_SPPLAYERDATA ) );
716 }
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:395
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
#define HEAP_ZERO_MEMORY
Definition: compat.h:123

Referenced by DP_CreatePlayer().