DirectX 5 Redocumentation
A redocumentation of DirectX 5, brought to you by a bunch of Infomaniacs.
dplay.h File Reference
#include <ole2.h>

Go to the source code of this file.

Data Structures

struct  DPCAPS
 
struct  DPSESSIONDESC2
 
struct  DPNAME
 
struct  DPCREDENTIALS
 
struct  DPSECURITYDESC
 
struct  DPACCOUNTDESC
 
struct  DPLCONNECTION
 
struct  DPCHAT
 
struct  DPMSG_GENERIC
 
struct  DPMSG_CREATEPLAYERORGROUP
 
struct  DPMSG_DESTROYPLAYERORGROUP
 
struct  DPMSG_ADDPLAYERTOGROUP
 
struct  DPMSG_ADDGROUPTOGROUP
 
struct  DPMSG_SETPLAYERORGROUPDATA
 
struct  DPMSG_SETPLAYERORGROUPNAME
 
struct  DPMSG_SETSESSIONDESC
 
struct  DPMSG_SECUREMESSAGE
 
struct  DPMSG_STARTSESSION
 
struct  DPMSG_CHAT
 
struct  DPMSG_ADDPLAYER
 
struct  DPMSG_GROUPADD
 
struct  DPMSG_DELETEPLAYER
 
struct  DPSESSIONDESC
 

Macros

#define _FACDP   0x877
 
#define MAKE_DPHRESULT(code)   MAKE_HRESULT( 1, _FACDP, code )
 
#define DPID_SYSMSG   0
 
#define DPID_ALLPLAYERS   0
 
#define DPID_SERVERPLAYER   1
 
#define DPID_UNKNOWN   0xFFFFFFFF
 
#define DPCAPS_ISHOST   0x00000002
 
#define DPCAPS_GROUPOPTIMIZED   0x00000008
 
#define DPCAPS_KEEPALIVEOPTIMIZED   0x00000010
 
#define DPCAPS_GUARANTEEDOPTIMIZED   0x00000020
 
#define DPCAPS_GUARANTEEDSUPPORTED   0x00000040
 
#define DPCAPS_SIGNINGSUPPORTED   0x00000080
 
#define DPCAPS_ENCRYPTIONSUPPORTED   0x00000100
 
#define DPSESSION_NEWPLAYERSDISABLED   0x00000001
 
#define DPSESSION_MIGRATEHOST   0x00000004
 
#define DPSESSION_NOMESSAGEID   0x00000008
 
#define DPSESSION_JOINDISABLED   0x00000020
 
#define DPSESSION_KEEPALIVE   0x00000040
 
#define DPSESSION_NODATAMESSAGES   0x00000080
 
#define DPSESSION_SECURESERVER   0x00000100
 
#define DPSESSION_PRIVATE   0x00000200
 
#define DPSESSION_PASSWORDREQUIRED   0x00000400
 
#define DPSESSION_MULTICASTSERVER   0x00000800
 
#define DPSESSION_CLIENTSERVER   0x00001000
 
#define DPESC_TIMEDOUT   0x00000001
 
#define DirectPlayEnumerate   DirectPlayEnumerateA
 
#define INTERFACE   IDirectPlay2
 
#define IDirectPlay2_QueryInterface(p, a, b)   (p)->lpVtbl->QueryInterface(p,a,b)
 
#define IDirectPlay2_AddRef(p)   (p)->lpVtbl->AddRef(p)
 
#define IDirectPlay2_Release(p)   (p)->lpVtbl->Release(p)
 
#define IDirectPlay2_AddPlayerToGroup(p, a, b)   (p)->lpVtbl->AddPlayerToGroup(p,a,b)
 
#define IDirectPlay2_Close(p)   (p)->lpVtbl->Close(p)
 
#define IDirectPlay2_CreateGroup(p, a, b, c, d, e)   (p)->lpVtbl->CreateGroup(p,a,b,c,d,e)
 
#define IDirectPlay2_CreatePlayer(p, a, b, c, d, e, f)   (p)->lpVtbl->CreatePlayer(p,a,b,c,d,e,f)
 
#define IDirectPlay2_DeletePlayerFromGroup(p, a, b)   (p)->lpVtbl->DeletePlayerFromGroup(p,a,b)
 
#define IDirectPlay2_DestroyGroup(p, a)   (p)->lpVtbl->DestroyGroup(p,a)
 
#define IDirectPlay2_DestroyPlayer(p, a)   (p)->lpVtbl->DestroyPlayer(p,a)
 
#define IDirectPlay2_EnumGroupPlayers(p, a, b, c, d, e)   (p)->lpVtbl->EnumGroupPlayers(p,a,b,c,d,e)
 
#define IDirectPlay2_EnumGroups(p, a, b, c, d)   (p)->lpVtbl->EnumGroups(p,a,b,c,d)
 
#define IDirectPlay2_EnumPlayers(p, a, b, c, d)   (p)->lpVtbl->EnumPlayers(p,a,b,c,d)
 
#define IDirectPlay2_EnumSessions(p, a, b, c, d, e)   (p)->lpVtbl->EnumSessions(p,a,b,c,d,e)
 
#define IDirectPlay2_GetCaps(p, a, b)   (p)->lpVtbl->GetCaps(p,a,b)
 
#define IDirectPlay2_GetMessageCount(p, a, b)   (p)->lpVtbl->GetMessageCount(p,a,b)
 
#define IDirectPlay2_GetGroupData(p, a, b, c, d)   (p)->lpVtbl->GetGroupData(p,a,b,c,d)
 
#define IDirectPlay2_GetGroupName(p, a, b, c)   (p)->lpVtbl->GetGroupName(p,a,b,c)
 
#define IDirectPlay2_GetPlayerAddress(p, a, b, c)   (p)->lpVtbl->GetPlayerAddress(p,a,b,c)
 
#define IDirectPlay2_GetPlayerCaps(p, a, b, c)   (p)->lpVtbl->GetPlayerCaps(p,a,b,c)
 
#define IDirectPlay2_GetPlayerData(p, a, b, c, d)   (p)->lpVtbl->GetPlayerData(p,a,b,c,d)
 
#define IDirectPlay2_GetPlayerName(p, a, b, c)   (p)->lpVtbl->GetPlayerName(p,a,b,c)
 
#define IDirectPlay2_GetSessionDesc(p, a, b)   (p)->lpVtbl->GetSessionDesc(p,a,b)
 
#define IDirectPlay2_Initialize(p, a)   (p)->lpVtbl->Initialize(p,a)
 
#define IDirectPlay2_Open(p, a, b)   (p)->lpVtbl->Open(p,a,b)
 
#define IDirectPlay2_Receive(p, a, b, c, d, e)   (p)->lpVtbl->Receive(p,a,b,c,d,e)
 
#define IDirectPlay2_Send(p, a, b, c, d, e)   (p)->lpVtbl->Send(p,a,b,c,d,e)
 
#define IDirectPlay2_SetGroupData(p, a, b, c, d)   (p)->lpVtbl->SetGroupData(p,a,b,c,d)
 
#define IDirectPlay2_SetGroupName(p, a, b, c)   (p)->lpVtbl->SetGroupName(p,a,b,c)
 
#define IDirectPlay2_SetPlayerData(p, a, b, c, d)   (p)->lpVtbl->SetPlayerData(p,a,b,c,d)
 
#define IDirectPlay2_SetPlayerName(p, a, b, c)   (p)->lpVtbl->SetPlayerName(p,a,b,c)
 
#define IDirectPlay2_SetSessionDesc(p, a, b)   (p)->lpVtbl->SetSessionDesc(p,a,b)
 
#define INTERFACE   IDirectPlay3
 
#define IDirectPlay3_QueryInterface(p, a, b)   (p)->lpVtbl->QueryInterface(p,a,b)
 
#define IDirectPlay3_AddRef(p)   (p)->lpVtbl->AddRef(p)
 
#define IDirectPlay3_Release(p)   (p)->lpVtbl->Release(p)
 
#define IDirectPlay3_AddPlayerToGroup(p, a, b)   (p)->lpVtbl->AddPlayerToGroup(p,a,b)
 
#define IDirectPlay3_Close(p)   (p)->lpVtbl->Close(p)
 
#define IDirectPlay3_CreateGroup(p, a, b, c, d, e)   (p)->lpVtbl->CreateGroup(p,a,b,c,d,e)
 
#define IDirectPlay3_CreatePlayer(p, a, b, c, d, e, f)   (p)->lpVtbl->CreatePlayer(p,a,b,c,d,e,f)
 
#define IDirectPlay3_DeletePlayerFromGroup(p, a, b)   (p)->lpVtbl->DeletePlayerFromGroup(p,a,b)
 
#define IDirectPlay3_DestroyGroup(p, a)   (p)->lpVtbl->DestroyGroup(p,a)
 
#define IDirectPlay3_DestroyPlayer(p, a)   (p)->lpVtbl->DestroyPlayer(p,a)
 
#define IDirectPlay3_EnumGroupPlayers(p, a, b, c, d, e)   (p)->lpVtbl->EnumGroupPlayers(p,a,b,c,d,e)
 
#define IDirectPlay3_EnumGroups(p, a, b, c, d)   (p)->lpVtbl->EnumGroups(p,a,b,c,d)
 
#define IDirectPlay3_EnumPlayers(p, a, b, c, d)   (p)->lpVtbl->EnumPlayers(p,a,b,c,d)
 
#define IDirectPlay3_EnumSessions(p, a, b, c, d, e)   (p)->lpVtbl->EnumSessions(p,a,b,c,d,e)
 
#define IDirectPlay3_GetCaps(p, a, b)   (p)->lpVtbl->GetCaps(p,a,b)
 
#define IDirectPlay3_GetMessageCount(p, a, b)   (p)->lpVtbl->GetMessageCount(p,a,b)
 
#define IDirectPlay3_GetGroupData(p, a, b, c, d)   (p)->lpVtbl->GetGroupData(p,a,b,c,d)
 
#define IDirectPlay3_GetGroupName(p, a, b, c)   (p)->lpVtbl->GetGroupName(p,a,b,c)
 
#define IDirectPlay3_GetPlayerAddress(p, a, b, c)   (p)->lpVtbl->GetPlayerAddress(p,a,b,c)
 
#define IDirectPlay3_GetPlayerCaps(p, a, b, c)   (p)->lpVtbl->GetPlayerCaps(p,a,b,c)
 
#define IDirectPlay3_GetPlayerData(p, a, b, c, d)   (p)->lpVtbl->GetPlayerData(p,a,b,c,d)
 
#define IDirectPlay3_GetPlayerName(p, a, b, c)   (p)->lpVtbl->GetPlayerName(p,a,b,c)
 
#define IDirectPlay3_GetSessionDesc(p, a, b)   (p)->lpVtbl->GetSessionDesc(p,a,b)
 
#define IDirectPlay3_Initialize(p, a)   (p)->lpVtbl->Initialize(p,a)
 
#define IDirectPlay3_Open(p, a, b)   (p)->lpVtbl->Open(p,a,b)
 
#define IDirectPlay3_Receive(p, a, b, c, d, e)   (p)->lpVtbl->Receive(p,a,b,c,d,e)
 
#define IDirectPlay3_Send(p, a, b, c, d, e)   (p)->lpVtbl->Send(p,a,b,c,d,e)
 
#define IDirectPlay3_SetGroupData(p, a, b, c, d)   (p)->lpVtbl->SetGroupData(p,a,b,c,d)
 
#define IDirectPlay3_SetGroupName(p, a, b, c)   (p)->lpVtbl->SetGroupName(p,a,b,c)
 
#define IDirectPlay3_SetPlayerData(p, a, b, c, d)   (p)->lpVtbl->SetPlayerData(p,a,b,c,d)
 
#define IDirectPlay3_SetPlayerName(p, a, b, c)   (p)->lpVtbl->SetPlayerName(p,a,b,c)
 
#define IDirectPlay3_SetSessionDesc(p, a, b)   (p)->lpVtbl->SetSessionDesc(p,a,b)
 
#define IDirectPlay3_AddGroupToGroup(p, a, b)   (p)->lpVtbl->AddGroupToGroup(p,a,b)
 
#define IDirectPlay3_CreateGroupInGroup(p, a, b, c, d, e, f)   (p)->lpVtbl->CreateGroupInGroup(p,a,b,c,d,e,f)
 
#define IDirectPlay3_DeleteGroupFromGroup(p, a, b)   (p)->lpVtbl->DeleteGroupFromGroup(p,a,b)
 
#define IDirectPlay3_EnumConnections(p, a, b, c, d)   (p)->lpVtbl->EnumConnections(p,a,b,c,d)
 
#define IDirectPlay3_EnumGroupsInGroup(p, a, b, c, d, e)   (p)->lpVtbl->EnumGroupsInGroup(p,a,b,c,d,e)
 
#define IDirectPlay3_GetGroupConnectionSettings(p, a, b, c, d)   (p)->lpVtbl->GetGroupConnectionSettings(p,a,b,c,d)
 
#define IDirectPlay3_InitializeConnection(p, a, b)   (p)->lpVtbl->InitializeConnection(p,a,b)
 
#define IDirectPlay3_SecureOpen(p, a, b, c, d)   (p)->lpVtbl->SecureOpen(p,a,b,c,d)
 
#define IDirectPlay3_SendChatMessage(p, a, b, c, d)   (p)->lpVtbl->SendChatMessage(p,a,b,c,d)
 
#define IDirectPlay3_SetGroupConnectionSettings(p, a, b, c)   (p)->lpVtbl->SetGroupConnectionSettings(p,a,b,c)
 
#define IDirectPlay3_StartSession(p, a, b)   (p)->lpVtbl->StartSession(p,a,b)
 
#define IDirectPlay3_GetGroupFlags(p, a, b)   (p)->lpVtbl->GetGroupFlags(p,a,b)
 
#define IDirectPlay3_GetGroupParent(p, a, b)   (p)->lpVtbl->GetGroupParent(p,a,b)
 
#define IDirectPlay3_GetPlayerAccount(p, a, b, c, d)   (p)->lpVtbl->GetPlayerAccount(p,a,b,c,d)
 
#define IDirectPlay3_GetPlayerFlags(p, a, b)   (p)->lpVtbl->GetPlayerFlags(p,a,b)
 
#define DPCONNECTION_DIRECTPLAY   0x00000001
 
#define DPCONNECTION_DIRECTPLAYLOBBY   0x00000002
 
#define DPENUMPLAYERS_ALL   0x00000000
 
#define DPENUMGROUPS_ALL   DPENUMPLAYERS_ALL
 
#define DPENUMPLAYERS_LOCAL   0x00000008
 
#define DPENUMGROUPS_LOCAL   DPENUMPLAYERS_LOCAL
 
#define DPENUMPLAYERS_REMOTE   0x00000010
 
#define DPENUMGROUPS_REMOTE   DPENUMPLAYERS_REMOTE
 
#define DPENUMPLAYERS_GROUP   0x00000020
 
#define DPENUMPLAYERS_SESSION   0x00000080
 
#define DPENUMGROUPS_SESSION   DPENUMPLAYERS_SESSION
 
#define DPENUMPLAYERS_SERVERPLAYER   0x00000100
 
#define DPENUMPLAYERS_SPECTATOR   0x00000200
 
#define DPENUMGROUPS_SHORTCUT   0x00000400
 
#define DPENUMGROUPS_STAGINGAREA   0x00000800
 
#define DPPLAYER_SERVERPLAYER   DPENUMPLAYERS_SERVERPLAYER
 
#define DPPLAYER_SPECTATOR   DPENUMPLAYERS_SPECTATOR
 
#define DPPLAYER_LOCAL   DPENUMPLAYERS_LOCAL
 
#define DPGROUP_STAGINGAREA   DPENUMGROUPS_STAGINGAREA
 
#define DPGROUP_LOCAL   DPENUMGROUPS_LOCAL
 
#define DPENUMSESSIONS_AVAILABLE   0x00000001
 
#define DPENUMSESSIONS_ALL   0x00000002
 
#define DPENUMSESSIONS_ASYNC   0x00000010
 
#define DPENUMSESSIONS_STOPASYNC   0x00000020
 
#define DPENUMSESSIONS_PASSWORDREQUIRED   0x00000040
 
#define DPENUMSESSIONS_RETURNSTATUS   0x00000080
 
#define DPGETCAPS_GUARANTEED   0x00000001
 
#define DPGET_REMOTE   0x00000000
 
#define DPGET_LOCAL   0x00000001
 
#define DPOPEN_JOIN   0x00000001
 
#define DPOPEN_CREATE   0x00000002
 
#define DPOPEN_RETURNSTATUS   DPENUMSESSIONS_RETURNSTATUS
 
#define DPLCONNECTION_CREATESESSION   DPOPEN_CREATE
 
#define DPLCONNECTION_JOINSESSION   DPOPEN_JOIN
 
#define DPRECEIVE_ALL   0x00000001
 
#define DPRECEIVE_TOPLAYER   0x00000002
 
#define DPRECEIVE_FROMPLAYER   0x00000004
 
#define DPRECEIVE_PEEK   0x00000008
 
#define DPSEND_GUARANTEED   0x00000001
 
#define DPSEND_HIGHPRIORITY   0x00000002
 
#define DPSEND_OPENSTREAM   0x00000008
 
#define DPSEND_CLOSESTREAM   0x00000010
 
#define DPSEND_SIGNED   0x00000020
 
#define DPSEND_ENCRYPTED   0x00000040
 
#define DPSET_REMOTE   0x00000000
 
#define DPSET_LOCAL   0x00000001
 
#define DPSET_GUARANTEED   0x00000002
 
#define DPSYS_CREATEPLAYERORGROUP   0x0003
 
#define DPSYS_DESTROYPLAYERORGROUP   0x0005
 
#define DPSYS_ADDPLAYERTOGROUP   0x0007
 
#define DPSYS_DELETEPLAYERFROMGROUP   0x0021
 
#define DPSYS_SESSIONLOST   0x0031
 
#define DPSYS_HOST   0x0101
 
#define DPSYS_SETPLAYERORGROUPDATA   0x0102
 
#define DPSYS_SETPLAYERORGROUPNAME   0x0103
 
#define DPSYS_SETSESSIONDESC   0x0104
 
#define DPSYS_ADDGROUPTOGROUP   0x0105
 
#define DPSYS_DELETEGROUPFROMGROUP   0x0106
 
#define DPSYS_SECUREMESSAGE   0x0107
 
#define DPSYS_STARTSESSION   0x0108
 
#define DPSYS_CHAT   0x0109
 
#define DPPLAYERTYPE_GROUP   0x00000000
 
#define DPPLAYERTYPE_PLAYER   0x00000001
 
#define DP_OK   S_OK
 
#define DPERR_ALREADYINITIALIZED   MAKE_DPHRESULT( 5 )
 
#define DPERR_ACCESSDENIED   MAKE_DPHRESULT( 10 )
 
#define DPERR_ACTIVEPLAYERS   MAKE_DPHRESULT( 20 )
 
#define DPERR_BUFFERTOOSMALL   MAKE_DPHRESULT( 30 )
 
#define DPERR_CANTADDPLAYER   MAKE_DPHRESULT( 40 )
 
#define DPERR_CANTCREATEGROUP   MAKE_DPHRESULT( 50 )
 
#define DPERR_CANTCREATEPLAYER   MAKE_DPHRESULT( 60 )
 
#define DPERR_CANTCREATESESSION   MAKE_DPHRESULT( 70 )
 
#define DPERR_CAPSNOTAVAILABLEYET   MAKE_DPHRESULT( 80 )
 
#define DPERR_EXCEPTION   MAKE_DPHRESULT( 90 )
 
#define DPERR_GENERIC   E_FAIL
 
#define DPERR_INVALIDFLAGS   MAKE_DPHRESULT( 120 )
 
#define DPERR_INVALIDOBJECT   MAKE_DPHRESULT( 130 )
 
#define DPERR_INVALIDPARAM   E_INVALIDARG
 
#define DPERR_INVALIDPARAMS   DPERR_INVALIDPARAM
 
#define DPERR_INVALIDPLAYER   MAKE_DPHRESULT( 150 )
 
#define DPERR_INVALIDGROUP   MAKE_DPHRESULT( 155 )
 
#define DPERR_NOCAPS   MAKE_DPHRESULT( 160 )
 
#define DPERR_NOCONNECTION   MAKE_DPHRESULT( 170 )
 
#define DPERR_NOMEMORY   E_OUTOFMEMORY
 
#define DPERR_OUTOFMEMORY   DPERR_NOMEMORY
 
#define DPERR_NOMESSAGES   MAKE_DPHRESULT( 190 )
 
#define DPERR_NONAMESERVERFOUND   MAKE_DPHRESULT( 200 )
 
#define DPERR_NOPLAYERS   MAKE_DPHRESULT( 210 )
 
#define DPERR_NOSESSIONS   MAKE_DPHRESULT( 220 )
 
#define DPERR_PENDING   E_PENDING
 
#define DPERR_SENDTOOBIG   MAKE_DPHRESULT( 230 )
 
#define DPERR_TIMEOUT   MAKE_DPHRESULT( 240 )
 
#define DPERR_UNAVAILABLE   MAKE_DPHRESULT( 250 )
 
#define DPERR_UNSUPPORTED   E_NOTIMPL
 
#define DPERR_BUSY   MAKE_DPHRESULT( 270 )
 
#define DPERR_USERCANCEL   MAKE_DPHRESULT( 280 )
 
#define DPERR_NOINTERFACE   E_NOINTERFACE
 
#define DPERR_CANNOTCREATESERVER   MAKE_DPHRESULT( 290 )
 
#define DPERR_PLAYERLOST   MAKE_DPHRESULT( 300 )
 
#define DPERR_SESSIONLOST   MAKE_DPHRESULT( 310 )
 
#define DPERR_UNINITIALIZED   MAKE_DPHRESULT( 320 )
 
#define DPERR_NONEWPLAYERS   MAKE_DPHRESULT( 330 )
 
#define DPERR_INVALIDPASSWORD   MAKE_DPHRESULT( 340 )
 
#define DPERR_CONNECTING   MAKE_DPHRESULT( 350 )
 
#define DPERR_BUFFERTOOLARGE   MAKE_DPHRESULT( 1000 )
 
#define DPERR_CANTCREATEPROCESS   MAKE_DPHRESULT( 1010 )
 
#define DPERR_APPNOTSTARTED   MAKE_DPHRESULT( 1020 )
 
#define DPERR_INVALIDINTERFACE   MAKE_DPHRESULT( 1030 )
 
#define DPERR_NOSERVICEPROVIDER   MAKE_DPHRESULT( 1040 )
 
#define DPERR_UNKNOWNAPPLICATION   MAKE_DPHRESULT( 1050 )
 
#define DPERR_NOTLOBBIED   MAKE_DPHRESULT( 1070 )
 
#define DPERR_SERVICEPROVIDERLOADED   MAKE_DPHRESULT( 1080 )
 
#define DPERR_ALREADYREGISTERED   MAKE_DPHRESULT( 1090 )
 
#define DPERR_NOTREGISTERED   MAKE_DPHRESULT( 1100 )
 
#define DPERR_AUTHENTICATIONFAILED   MAKE_DPHRESULT( 2000 )
 
#define DPERR_CANTLOADSSPI   MAKE_DPHRESULT( 2010 )
 
#define DPERR_ENCRYPTIONFAILED   MAKE_DPHRESULT( 2020 )
 
#define DPERR_SIGNFAILED   MAKE_DPHRESULT( 2030 )
 
#define DPERR_CANTLOADSECURITYPACKAGE   MAKE_DPHRESULT( 2040 )
 
#define DPERR_ENCRYPTIONNOTSUPPORTED   MAKE_DPHRESULT( 2050 )
 
#define DPERR_CANTLOADCAPI   MAKE_DPHRESULT( 2060 )
 
#define DPERR_NOTLOGGEDIN   MAKE_DPHRESULT( 2070 )
 
#define DPERR_LOGONDENIED   MAKE_DPHRESULT( 2080 )
 
#define DPOPEN_OPENSESSION   DPOPEN_JOIN
 
#define DPOPEN_CREATESESSION   DPOPEN_CREATE
 
#define DPENUMSESSIONS_PREVIOUS   0x00000004
 
#define DPENUMPLAYERS_PREVIOUS   0x00000004
 
#define DPSEND_GUARANTEE   DPSEND_GUARANTEED
 
#define DPSEND_TRYONCE   0x00000004
 
#define DPCAPS_NAMESERVICE   0x00000001
 
#define DPCAPS_NAMESERVER   DPCAPS_ISHOST
 
#define DPCAPS_GUARANTEED   0x00000004
 
#define DPLONGNAMELEN   52
 
#define DPSHORTNAMELEN   20
 
#define DPSESSIONNAMELEN   32
 
#define DPPASSWORDLEN   16
 
#define DPUSERRESERVED   16
 
#define DPSYS_ADDPLAYER   0x0003
 
#define DPSYS_DELETEPLAYER   0x0005
 
#define DPSYS_DELETEGROUP   0x0020
 
#define DPSYS_DELETEPLAYERFROMGRP   0x0021
 
#define DPSYS_CONNECT   0x484b
 
#define INTERFACE   IDirectPlay
 
#define IDirectPlay_AddPlayerToGroup(p, a, b)   (p)->lpVtbl->AddPlayerToGroup(p,a,b)
 
#define IDirectPlay_Close(p)   (p)->lpVtbl->Close(p)
 
#define IDirectPlay_CreateGroup(p, a, b, c)   (p)->lpVtbl->CreateGroup(p,a,b,c)
 
#define IDirectPlay_CreatePlayer(p, a, b, c, d)   (p)->lpVtbl->CreatePlayer(p,a,b,c,d)
 
#define IDirectPlay_DeletePlayerFromGroup(p, a, b)   (p)->lpVtbl->DeletePlayerFromGroup(p,a,b)
 
#define IDirectPlay_DestroyGroup(p, a)   (p)->lpVtbl->DestroyGroup(p,a)
 
#define IDirectPlay_DestroyPlayer(p, a)   (p)->lpVtbl->DestroyPlayer(p,a)
 
#define IDirectPlay_EnableNewPlayers(p, a)   (p)->lpVtbl->EnableNewPlayers(p,a)
 
#define IDirectPlay_EnumGroupPlayers(p, a, b, c, d)   (p)->lpVtbl->EnumGroupPlayers(p,a,b,c,d)
 
#define IDirectPlay_EnumGroups(p, a, b, c, d)   (p)->lpVtbl->EnumGroups(p,a,b,c,d)
 
#define IDirectPlay_EnumPlayers(p, a, b, c, d)   (p)->lpVtbl->EnumPlayers(p,a,b,c,d)
 
#define IDirectPlay_EnumSessions(p, a, b, c, d, e)   (p)->lpVtbl->EnumSessions(p,a,b,c,d,e)
 
#define IDirectPlay_GetCaps(p, a)   (p)->lpVtbl->GetCaps(p,a)
 
#define IDirectPlay_GetMessageCount(p, a, b)   (p)->lpVtbl->GetMessageCount(p,a,b)
 
#define IDirectPlay_GetPlayerCaps(p, a, b)   (p)->lpVtbl->GetPlayerCaps(p,a,b)
 
#define IDirectPlay_GetPlayerName(p, a, b, c, d, e)   (p)->lpVtbl->GetPlayerName(p,a,b,c,d,e)
 
#define IDirectPlay_Initialize(p, a)   (p)->lpVtbl->Initialize(p,a)
 
#define IDirectPlay_Open(p, a)   (p)->lpVtbl->Open(p,a)
 
#define IDirectPlay_Receive(p, a, b, c, d, e)   (p)->lpVtbl->Receive(p,a,b,c,d,e)
 
#define IDirectPlay_SaveSession(p, a)   (p)->lpVtbl->SaveSession(p,a)
 
#define IDirectPlay_Send(p, a, b, c, d, e)   (p)->lpVtbl->Send(p,a,b,c,d,e)
 
#define IDirectPlay_SetPlayerName(p, a, b, c)   (p)->lpVtbl->SetPlayerName(p,a,b,c)
 
#define IDirectPlay_QueryInterface(p, a, b)   (p)->lpVtbl->QueryInterface(p,a,b)
 
#define IDirectPlay_AddRef(p)   (p)->lpVtbl->AddRef(p)
 
#define IDirectPlay_Release(p)   (p)->lpVtbl->Release(p)
 

Typedefs

typedef struct IDirectPlay FAR * LPDIRECTPLAY
 
typedef struct IDirectPlay2 FAR * LPDIRECTPLAY2
 
typedef struct IDirectPlay2 FAR * LPDIRECTPLAY2A
 
typedef struct IDirectPlay2 IDirectPlay2A
 
typedef struct IDirectPlay3 FAR * LPDIRECTPLAY3
 
typedef struct IDirectPlay3 FAR * LPDIRECTPLAY3A
 
typedef struct IDirectPlay3 IDirectPlay3A
 
typedef DWORD DPID
 
typedef DWORD FAR * LPDPID
 
typedef struct DPCAPSLPDPCAPS
 
typedef struct DPSESSIONDESC2LPDPSESSIONDESC2
 
typedef const DPSESSIONDESC2 FAR * LPCDPSESSIONDESC2
 
typedef struct DPNAMELPDPNAME
 
typedef const DPNAME FAR * LPCDPNAME
 
typedef struct DPCREDENTIALSLPDPCREDENTIALS
 
typedef const DPCREDENTIALS FAR * LPCDPCREDENTIALS
 
typedef struct DPSECURITYDESCLPDPSECURITYDESC
 
typedef const DPSECURITYDESC FAR * LPCDPSECURITYDESC
 
typedef struct DPACCOUNTDESCLPDPACCOUNTDESC
 
typedef const DPACCOUNTDESC FAR * LPCDPACCOUNTDESC
 
typedef const GUID FAR * LPCGUID
 
typedef struct DPLCONNECTIONLPDPLCONNECTION
 
typedef const DPLCONNECTION FAR * LPCDPLCONNECTION
 
typedef struct DPCHATLPDPCHAT
 
typedef LPDWORD lpdwTimeOut
 
typedef LPDWORD DWORD dwFlags
 
typedef LPDWORD DWORD LPVOID lpContext
 
typedef DWORD dwPlayerType
 
typedef DWORD LPCDPNAME lpName
 
typedef LPWSTR lpSPName
 
typedef LPWSTR DWORD dwMajorVersion
 
typedef LPWSTR DWORD DWORD dwMinorVersion
 
typedef LPVOID lpConnection
 
typedef LPVOID DWORD dwConnectionSize
 
typedef struct DPMSG_GENERICLPDPMSG_GENERIC
 
typedef struct DPMSG_CREATEPLAYERORGROUPLPDPMSG_CREATEPLAYERORGROUP
 
typedef struct DPMSG_DESTROYPLAYERORGROUPLPDPMSG_DESTROYPLAYERORGROUP
 
typedef struct DPMSG_ADDPLAYERTOGROUPLPDPMSG_ADDPLAYERTOGROUP
 
typedef DPMSG_ADDPLAYERTOGROUP DPMSG_DELETEPLAYERFROMGROUP
 
typedef DPMSG_DELETEPLAYERFROMGROUP FAR * LPDPMSG_DELETEPLAYERFROMGROUP
 
typedef struct DPMSG_ADDGROUPTOGROUPLPDPMSG_ADDGROUPTOGROUP
 
typedef DPMSG_ADDGROUPTOGROUP DPMSG_DELETEGROUPFROMGROUP
 
typedef DPMSG_DELETEGROUPFROMGROUP FAR * LPDPMSG_DELETEGROUPFROMGROUP
 
typedef struct DPMSG_SETPLAYERORGROUPDATALPDPMSG_SETPLAYERORGROUPDATA
 
typedef struct DPMSG_SETPLAYERORGROUPNAMELPDPMSG_SETPLAYERORGROUPNAME
 
typedef struct DPMSG_SETSESSIONDESCLPDPMSG_SETSESSIONDESC
 
typedef DPMSG_GENERIC DPMSG_HOST
 
typedef DPMSG_HOST FAR * LPDPMSG_HOST
 
typedef DPMSG_GENERIC DPMSG_SESSIONLOST
 
typedef DPMSG_SESSIONLOST FAR * LPDPMSG_SESSIONLOST
 
typedef struct DPMSG_SECUREMESSAGELPDPMSG_SECUREMESSAGE
 
typedef struct DPMSG_STARTSESSIONLPDPMSG_STARTSESSION
 
typedef struct DPMSG_CHATLPDPMSG_CHAT
 
typedef DPMSG_ADDPLAYER DPMSG_ADDGROUP
 
typedef DPMSG_GROUPADD DPMSG_GROUPDELETE
 
typedef BOOL(PASCAL * LPDPENUMPLAYERSCALLBACK) (DPID dpId, LPSTR lpFriendlyName, LPSTR lpFormalName, DWORD dwFlags, LPVOID lpContext)
 
typedef struct DPSESSIONDESCLPDPSESSIONDESC
 
typedef BOOL(PASCAL * LPDPENUMSESSIONSCALLBACK) (LPDPSESSIONDESC lpDPSessionDesc, LPVOID lpContext, LPDWORD lpdwTimeOut, DWORD dwFlags)
 

Functions

 DEFINE_GUID (IID_IDirectPlay2, 0x2b74f7c0, 0x9154, 0x11cf, 0xa9, 0xcd, 0x0, 0xaa, 0x0, 0x68, 0x86, 0xe3)
 
 DEFINE_GUID (IID_IDirectPlay2A, 0x9d460580, 0xa822, 0x11cf, 0x96, 0xc, 0x0, 0x80, 0xc7, 0x53, 0x4e, 0x82)
 
 DEFINE_GUID (IID_IDirectPlay3, 0x133efe40, 0x32dc, 0x11d0, 0x9c, 0xfb, 0x0, 0xa0, 0xc9, 0xa, 0x43, 0xcb)
 
 DEFINE_GUID (IID_IDirectPlay3A, 0x133efe41, 0x32dc, 0x11d0, 0x9c, 0xfb, 0x0, 0xa0, 0xc9, 0xa, 0x43, 0xcb)
 
 DEFINE_GUID (CLSID_DirectPlay, 0xd1eb6d20, 0x8923, 0x11d0, 0x9d, 0x97, 0x0, 0xa0, 0xc9, 0xa, 0x43, 0xcb)
 
 DEFINE_GUID (DPSPGUID_IPX, 0x685bc400, 0x9d2c, 0x11cf, 0xa9, 0xcd, 0x0, 0xaa, 0x0, 0x68, 0x86, 0xe3)
 
 DEFINE_GUID (DPSPGUID_TCPIP, 0x36E95EE0, 0x8577, 0x11cf, 0x96, 0xc, 0x0, 0x80, 0xc7, 0x53, 0x4e, 0x82)
 
 DEFINE_GUID (DPSPGUID_SERIAL, 0xf1d6860, 0x88d9, 0x11cf, 0x9c, 0x4e, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e)
 
 DEFINE_GUID (DPSPGUID_MODEM, 0x44eaa760, 0xcb68, 0x11cf, 0x9c, 0x4e, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e)
 
typedef BOOL (FAR PASCAL *LPDPENUMSESSIONSCALLBACK2)(LPCDPSESSIONDESC2 lpThisSD
 
HRESULT WINAPI DirectPlayEnumerateA (LPDPENUMDPCALLBACKA, LPVOID)
 
HRESULT WINAPI DirectPlayEnumerateW (LPDPENUMDPCALLBACK, LPVOID)
 
HRESULT WINAPI DirectPlayCreate (LPGUID lpGUID, LPDIRECTPLAY *lplpDP, IUnknown *pUnk)
 
 DECLARE_INTERFACE_ (IDirectPlay2, IUnknown)
 
 DECLARE_INTERFACE_ (IDirectPlay3, IDirectPlay2)
 
 DECLARE_INTERFACE_ (IDirectPlay, IUnknown)
 
 DEFINE_GUID (IID_IDirectPlay, 0x5454e9a0, 0xdb65, 0x11ce, 0x92, 0x1c, 0x00, 0xaa, 0x00, 0x6c, 0x49, 0x72)
 

Macro Definition Documentation

◆ _FACDP

#define _FACDP   0x877

◆ DirectPlayEnumerate

#define DirectPlayEnumerate   DirectPlayEnumerateA

◆ DP_OK

#define DP_OK   S_OK

◆ DPCAPS_ENCRYPTIONSUPPORTED

#define DPCAPS_ENCRYPTIONSUPPORTED   0x00000100

This DirectPlay object supports encryption of messages.

◆ DPCAPS_GROUPOPTIMIZED

#define DPCAPS_GROUPOPTIMIZED   0x00000008

The service provider bound to this DirectPlay object can optimize group messaging.

◆ DPCAPS_GUARANTEED

#define DPCAPS_GUARANTEED   0x00000004

◆ DPCAPS_GUARANTEEDOPTIMIZED

#define DPCAPS_GUARANTEEDOPTIMIZED   0x00000020

The service provider bound to this DirectPlay object can optimize guaranteed message delivery.

◆ DPCAPS_GUARANTEEDSUPPORTED

#define DPCAPS_GUARANTEEDSUPPORTED   0x00000040

This DirectPlay object supports guaranteed message delivery.

◆ DPCAPS_ISHOST

#define DPCAPS_ISHOST   0x00000002

This DirectPlay object is the session host. If the host exits the session, another application will become the host and receive a DPSYS_HOST system message.

◆ DPCAPS_KEEPALIVEOPTIMIZED

#define DPCAPS_KEEPALIVEOPTIMIZED   0x00000010

The service provider bound to this DirectPlay object can optimize keep alives (see DPSESSION_KEEPALIVE)

◆ DPCAPS_NAMESERVER

#define DPCAPS_NAMESERVER   DPCAPS_ISHOST

◆ DPCAPS_NAMESERVICE

#define DPCAPS_NAMESERVICE   0x00000001

◆ DPCAPS_SIGNINGSUPPORTED

#define DPCAPS_SIGNINGSUPPORTED   0x00000080

This DirectPlay object supports digital signing of messages.

◆ DPCONNECTION_DIRECTPLAY

#define DPCONNECTION_DIRECTPLAY   0x00000001

Enumerate Service Providers

◆ DPCONNECTION_DIRECTPLAYLOBBY

#define DPCONNECTION_DIRECTPLAYLOBBY   0x00000002

Enumerate Lobby Providers

◆ DPENUMGROUPS_ALL

#define DPENUMGROUPS_ALL   DPENUMPLAYERS_ALL

◆ DPENUMGROUPS_LOCAL

#define DPENUMGROUPS_LOCAL   DPENUMPLAYERS_LOCAL

◆ DPENUMGROUPS_REMOTE

#define DPENUMGROUPS_REMOTE   DPENUMPLAYERS_REMOTE

◆ DPENUMGROUPS_SESSION

#define DPENUMGROUPS_SESSION   DPENUMPLAYERS_SESSION

◆ DPENUMGROUPS_SHORTCUT

#define DPENUMGROUPS_SHORTCUT   0x00000400

Enumerate shortcut groups

◆ DPENUMGROUPS_STAGINGAREA

#define DPENUMGROUPS_STAGINGAREA   0x00000800

Enumerate staging area groups

◆ DPENUMPLAYERS_ALL

#define DPENUMPLAYERS_ALL   0x00000000

Enumerate all players in the current session

◆ DPENUMPLAYERS_GROUP

#define DPENUMPLAYERS_GROUP   0x00000020

Enumerate groups along with the players

◆ DPENUMPLAYERS_LOCAL

#define DPENUMPLAYERS_LOCAL   0x00000008

Enumerate only local (created by this application) players or groups

◆ DPENUMPLAYERS_PREVIOUS

#define DPENUMPLAYERS_PREVIOUS   0x00000004

◆ DPENUMPLAYERS_REMOTE

#define DPENUMPLAYERS_REMOTE   0x00000010

Enumerate only remote (non-local) players or groups

◆ DPENUMPLAYERS_SERVERPLAYER

#define DPENUMPLAYERS_SERVERPLAYER   0x00000100

Enumerate server players

◆ DPENUMPLAYERS_SESSION

#define DPENUMPLAYERS_SESSION   0x00000080

Enumerate players or groups in another session (must supply lpguidInstance)

◆ DPENUMPLAYERS_SPECTATOR

#define DPENUMPLAYERS_SPECTATOR   0x00000200

Enumerate spectator players

◆ DPENUMSESSIONS_ALL

#define DPENUMSESSIONS_ALL   0x00000002

Enumerate all sessions even if they can't be joined.

◆ DPENUMSESSIONS_ASYNC

#define DPENUMSESSIONS_ASYNC   0x00000010

Start an asynchronous enum sessions

◆ DPENUMSESSIONS_AVAILABLE

#define DPENUMSESSIONS_AVAILABLE   0x00000001

Enumerate sessions which can be joined

◆ DPENUMSESSIONS_PASSWORDREQUIRED

#define DPENUMSESSIONS_PASSWORDREQUIRED   0x00000040

Enumerate sessions even if they require a password

◆ DPENUMSESSIONS_PREVIOUS

#define DPENUMSESSIONS_PREVIOUS   0x00000004

◆ DPENUMSESSIONS_RETURNSTATUS

#define DPENUMSESSIONS_RETURNSTATUS   0x00000080

Return status about progress of enumeration instead of showing any status dialogs.

◆ DPENUMSESSIONS_STOPASYNC

#define DPENUMSESSIONS_STOPASYNC   0x00000020

Stop an asynchronous enum sessions

◆ DPERR_ACCESSDENIED

#define DPERR_ACCESSDENIED   MAKE_DPHRESULT( 10 )

◆ DPERR_ACTIVEPLAYERS

#define DPERR_ACTIVEPLAYERS   MAKE_DPHRESULT( 20 )

◆ DPERR_ALREADYINITIALIZED

#define DPERR_ALREADYINITIALIZED   MAKE_DPHRESULT( 5 )

◆ DPERR_ALREADYREGISTERED

#define DPERR_ALREADYREGISTERED   MAKE_DPHRESULT( 1090 )

◆ DPERR_APPNOTSTARTED

#define DPERR_APPNOTSTARTED   MAKE_DPHRESULT( 1020 )

◆ DPERR_AUTHENTICATIONFAILED

#define DPERR_AUTHENTICATIONFAILED   MAKE_DPHRESULT( 2000 )

◆ DPERR_BUFFERTOOLARGE

#define DPERR_BUFFERTOOLARGE   MAKE_DPHRESULT( 1000 )

◆ DPERR_BUFFERTOOSMALL

#define DPERR_BUFFERTOOSMALL   MAKE_DPHRESULT( 30 )

◆ DPERR_BUSY

#define DPERR_BUSY   MAKE_DPHRESULT( 270 )

◆ DPERR_CANNOTCREATESERVER

#define DPERR_CANNOTCREATESERVER   MAKE_DPHRESULT( 290 )

◆ DPERR_CANTADDPLAYER

#define DPERR_CANTADDPLAYER   MAKE_DPHRESULT( 40 )

◆ DPERR_CANTCREATEGROUP

#define DPERR_CANTCREATEGROUP   MAKE_DPHRESULT( 50 )

◆ DPERR_CANTCREATEPLAYER

#define DPERR_CANTCREATEPLAYER   MAKE_DPHRESULT( 60 )

◆ DPERR_CANTCREATEPROCESS

#define DPERR_CANTCREATEPROCESS   MAKE_DPHRESULT( 1010 )

◆ DPERR_CANTCREATESESSION

#define DPERR_CANTCREATESESSION   MAKE_DPHRESULT( 70 )

◆ DPERR_CANTLOADCAPI

#define DPERR_CANTLOADCAPI   MAKE_DPHRESULT( 2060 )

◆ DPERR_CANTLOADSECURITYPACKAGE

#define DPERR_CANTLOADSECURITYPACKAGE   MAKE_DPHRESULT( 2040 )

◆ DPERR_CANTLOADSSPI

#define DPERR_CANTLOADSSPI   MAKE_DPHRESULT( 2010 )

◆ DPERR_CAPSNOTAVAILABLEYET

#define DPERR_CAPSNOTAVAILABLEYET   MAKE_DPHRESULT( 80 )

◆ DPERR_CONNECTING

#define DPERR_CONNECTING   MAKE_DPHRESULT( 350 )

◆ DPERR_ENCRYPTIONFAILED

#define DPERR_ENCRYPTIONFAILED   MAKE_DPHRESULT( 2020 )

◆ DPERR_ENCRYPTIONNOTSUPPORTED

#define DPERR_ENCRYPTIONNOTSUPPORTED   MAKE_DPHRESULT( 2050 )

◆ DPERR_EXCEPTION

#define DPERR_EXCEPTION   MAKE_DPHRESULT( 90 )

◆ DPERR_GENERIC

#define DPERR_GENERIC   E_FAIL

◆ DPERR_INVALIDFLAGS

#define DPERR_INVALIDFLAGS   MAKE_DPHRESULT( 120 )

◆ DPERR_INVALIDGROUP

#define DPERR_INVALIDGROUP   MAKE_DPHRESULT( 155 )

◆ DPERR_INVALIDINTERFACE

#define DPERR_INVALIDINTERFACE   MAKE_DPHRESULT( 1030 )

◆ DPERR_INVALIDOBJECT

#define DPERR_INVALIDOBJECT   MAKE_DPHRESULT( 130 )

◆ DPERR_INVALIDPARAM

#define DPERR_INVALIDPARAM   E_INVALIDARG

◆ DPERR_INVALIDPARAMS

#define DPERR_INVALIDPARAMS   DPERR_INVALIDPARAM

◆ DPERR_INVALIDPASSWORD

#define DPERR_INVALIDPASSWORD   MAKE_DPHRESULT( 340 )

◆ DPERR_INVALIDPLAYER

#define DPERR_INVALIDPLAYER   MAKE_DPHRESULT( 150 )

◆ DPERR_LOGONDENIED

#define DPERR_LOGONDENIED   MAKE_DPHRESULT( 2080 )

◆ DPERR_NOCAPS

#define DPERR_NOCAPS   MAKE_DPHRESULT( 160 )

◆ DPERR_NOCONNECTION

#define DPERR_NOCONNECTION   MAKE_DPHRESULT( 170 )

◆ DPERR_NOINTERFACE

#define DPERR_NOINTERFACE   E_NOINTERFACE

◆ DPERR_NOMEMORY

#define DPERR_NOMEMORY   E_OUTOFMEMORY

◆ DPERR_NOMESSAGES

#define DPERR_NOMESSAGES   MAKE_DPHRESULT( 190 )

◆ DPERR_NONAMESERVERFOUND

#define DPERR_NONAMESERVERFOUND   MAKE_DPHRESULT( 200 )

◆ DPERR_NONEWPLAYERS

#define DPERR_NONEWPLAYERS   MAKE_DPHRESULT( 330 )

◆ DPERR_NOPLAYERS

#define DPERR_NOPLAYERS   MAKE_DPHRESULT( 210 )

◆ DPERR_NOSERVICEPROVIDER

#define DPERR_NOSERVICEPROVIDER   MAKE_DPHRESULT( 1040 )

◆ DPERR_NOSESSIONS

#define DPERR_NOSESSIONS   MAKE_DPHRESULT( 220 )

◆ DPERR_NOTLOBBIED

#define DPERR_NOTLOBBIED   MAKE_DPHRESULT( 1070 )

◆ DPERR_NOTLOGGEDIN

#define DPERR_NOTLOGGEDIN   MAKE_DPHRESULT( 2070 )

◆ DPERR_NOTREGISTERED

#define DPERR_NOTREGISTERED   MAKE_DPHRESULT( 1100 )

◆ DPERR_OUTOFMEMORY

#define DPERR_OUTOFMEMORY   DPERR_NOMEMORY

◆ DPERR_PENDING

#define DPERR_PENDING   E_PENDING

◆ DPERR_PLAYERLOST

#define DPERR_PLAYERLOST   MAKE_DPHRESULT( 300 )

◆ DPERR_SENDTOOBIG

#define DPERR_SENDTOOBIG   MAKE_DPHRESULT( 230 )

◆ DPERR_SERVICEPROVIDERLOADED

#define DPERR_SERVICEPROVIDERLOADED   MAKE_DPHRESULT( 1080 )

◆ DPERR_SESSIONLOST

#define DPERR_SESSIONLOST   MAKE_DPHRESULT( 310 )

◆ DPERR_SIGNFAILED

#define DPERR_SIGNFAILED   MAKE_DPHRESULT( 2030 )

◆ DPERR_TIMEOUT

#define DPERR_TIMEOUT   MAKE_DPHRESULT( 240 )

◆ DPERR_UNAVAILABLE

#define DPERR_UNAVAILABLE   MAKE_DPHRESULT( 250 )

◆ DPERR_UNINITIALIZED

#define DPERR_UNINITIALIZED   MAKE_DPHRESULT( 320 )

◆ DPERR_UNKNOWNAPPLICATION

#define DPERR_UNKNOWNAPPLICATION   MAKE_DPHRESULT( 1050 )

◆ DPERR_UNSUPPORTED

#define DPERR_UNSUPPORTED   E_NOTIMPL

◆ DPERR_USERCANCEL

#define DPERR_USERCANCEL   MAKE_DPHRESULT( 280 )

◆ DPESC_TIMEDOUT

#define DPESC_TIMEDOUT   0x00000001

This flag is set on the EnumSessions callback dwFlags parameter when the time out has occurred. There will be no session data for this callback. If *lpdwTimeOut is set to a non-zero value and the EnumSessionsCallback function returns TRUE then EnumSessions will continue waiting until the next timeout occurs. Timeouts are in milliseconds.

◆ DPGET_LOCAL

#define DPGET_LOCAL   0x00000001

Get the local data (set by this DirectPlay object using DPSET_LOCAL)

◆ DPGET_REMOTE

#define DPGET_REMOTE   0x00000000

Get the remote data (set by any DirectPlay object in the session using DPSET_REMOTE)

◆ DPGETCAPS_GUARANTEED

#define DPGETCAPS_GUARANTEED   0x00000001

The latency returned should be for guaranteed message sending. Default is non-guaranteed messaging.

◆ DPGROUP_LOCAL

#define DPGROUP_LOCAL   DPENUMGROUPS_LOCAL

This flag indicates that this group was created locally. (returned from GetGroupFlags)

◆ DPGROUP_STAGINGAREA

#define DPGROUP_STAGINGAREA   DPENUMGROUPS_STAGINGAREA

This flag indicates that the StartSession can be called on the group. The app should specify this at CreateGroup, or CreateGroupInGroup.

◆ DPID_ALLPLAYERS

#define DPID_ALLPLAYERS   0

DPID representing all players in the session

◆ DPID_SERVERPLAYER

#define DPID_SERVERPLAYER   1

DPID representing the server player

◆ DPID_SYSMSG

#define DPID_SYSMSG   0

DPID that system messages come from

◆ DPID_UNKNOWN

#define DPID_UNKNOWN   0xFFFFFFFF

The player ID is unknown (used with e.g. DPSESSION_NOMESSAGEID)

◆ DPLCONNECTION_CREATESESSION

#define DPLCONNECTION_CREATESESSION   DPOPEN_CREATE

This application should create a new session as described by the DPSESIONDESC structure

◆ DPLCONNECTION_JOINSESSION

#define DPLCONNECTION_JOINSESSION   DPOPEN_JOIN

This application should join the session described by the DPSESIONDESC structure with the lpAddress data

◆ DPLONGNAMELEN

#define DPLONGNAMELEN   52

◆ DPOPEN_CREATE

#define DPOPEN_CREATE   0x00000002

Create a new session as described by the DPSESSIONDESC2 structure

◆ DPOPEN_CREATESESSION

#define DPOPEN_CREATESESSION   DPOPEN_CREATE

◆ DPOPEN_JOIN

#define DPOPEN_JOIN   0x00000001

Join the session that is described by the DPSESSIONDESC2 structure

◆ DPOPEN_OPENSESSION

#define DPOPEN_OPENSESSION   DPOPEN_JOIN

◆ DPOPEN_RETURNSTATUS

#define DPOPEN_RETURNSTATUS   DPENUMSESSIONS_RETURNSTATUS

Return status about progress of open instead of showing any status dialogs.

◆ DPPASSWORDLEN

#define DPPASSWORDLEN   16

◆ DPPLAYER_LOCAL

#define DPPLAYER_LOCAL   DPENUMPLAYERS_LOCAL

This flag indicates that this player was created locally. (returned from GetPlayerFlags)

◆ DPPLAYER_SERVERPLAYER

#define DPPLAYER_SERVERPLAYER   DPENUMPLAYERS_SERVERPLAYER

This flag indicates that this player should be designated the server player. The app should specify this at CreatePlayer.

◆ DPPLAYER_SPECTATOR

#define DPPLAYER_SPECTATOR   DPENUMPLAYERS_SPECTATOR

This flag indicates that this player should be designated a spectator. The app should specify this at CreatePlayer.

◆ DPPLAYERTYPE_GROUP

#define DPPLAYERTYPE_GROUP   0x00000000

Used in the dwPlayerType field to indicate if it applies to a group or a player

◆ DPPLAYERTYPE_PLAYER

#define DPPLAYERTYPE_PLAYER   0x00000001

◆ DPRECEIVE_ALL

#define DPRECEIVE_ALL   0x00000001

Get the first message in the queue

◆ DPRECEIVE_FROMPLAYER

#define DPRECEIVE_FROMPLAYER   0x00000004

Get the first message in the queue from a specific player

◆ DPRECEIVE_PEEK

#define DPRECEIVE_PEEK   0x00000008

Get the message but don't remove it from the queue

◆ DPRECEIVE_TOPLAYER

#define DPRECEIVE_TOPLAYER   0x00000002

Get the first message in the queue directed to a specific player

◆ DPSEND_CLOSESTREAM

#define DPSEND_CLOSESTREAM   0x00000010

This flag is obsolete. It is ignored by DirectPlay

◆ DPSEND_ENCRYPTED

#define DPSEND_ENCRYPTED   0x00000040

Send the message with encryption to ensure privacy.

◆ DPSEND_GUARANTEE

#define DPSEND_GUARANTEE   DPSEND_GUARANTEED

◆ DPSEND_GUARANTEED

#define DPSEND_GUARANTEED   0x00000001

Send the message using a guaranteed send method. Default is non-guaranteed.

◆ DPSEND_HIGHPRIORITY

#define DPSEND_HIGHPRIORITY   0x00000002

This flag is obsolete. It is ignored by DirectPlay

◆ DPSEND_OPENSTREAM

#define DPSEND_OPENSTREAM   0x00000008

This flag is obsolete. It is ignored by DirectPlay

◆ DPSEND_SIGNED

#define DPSEND_SIGNED   0x00000020

Send the message digitally signed to ensure authenticity.

◆ DPSEND_TRYONCE

#define DPSEND_TRYONCE   0x00000004

◆ DPSESSION_CLIENTSERVER

#define DPSESSION_CLIENTSERVER   0x00001000

This flag tells DirectPlay to only download information about the DPPLAYER_SERVERPLAYER.

◆ DPSESSION_JOINDISABLED

#define DPSESSION_JOINDISABLED   0x00000020

This flag tells DirectPlay to not allow any new applications to join the session. Applications already in the session can still create new players.

◆ DPSESSION_KEEPALIVE

#define DPSESSION_KEEPALIVE   0x00000040

This flag tells DirectPlay to detect when remote players exit abnormally (e.g. their computer or modem gets unplugged)

◆ DPSESSION_MIGRATEHOST

#define DPSESSION_MIGRATEHOST   0x00000004

If the DirectPlay object that created the session, the host, quits, then the host will attempt to migrate to another DirectPlay object so that new players can continue to be created and new applications can join the session.

◆ DPSESSION_MULTICASTSERVER

#define DPSESSION_MULTICASTSERVER   0x00000800

This flag tells DirectPlay to route all messages through the server

◆ DPSESSION_NEWPLAYERSDISABLED

#define DPSESSION_NEWPLAYERSDISABLED   0x00000001

Applications cannot create new players in this session.

◆ DPSESSION_NODATAMESSAGES

#define DPSESSION_NODATAMESSAGES   0x00000080

This flag tells DirectPlay not to send a message to all players when a players remote data changes

◆ DPSESSION_NOMESSAGEID

#define DPSESSION_NOMESSAGEID   0x00000008

This flag tells DirectPlay not to set the idPlayerTo and idPlayerFrom fields in player messages. This cuts two DWORD's off the message overhead.

◆ DPSESSION_PASSWORDREQUIRED

#define DPSESSION_PASSWORDREQUIRED   0x00000400

This flag indicates that the session requires a password for joining.

◆ DPSESSION_PRIVATE

#define DPSESSION_PRIVATE   0x00000200

This flag indicates that the session is private and requirs a password for EnumSessions as well as Open.

◆ DPSESSION_SECURESERVER

#define DPSESSION_SECURESERVER   0x00000100

This flag indicates that the session belongs to a secure server and needs user authentication

◆ DPSESSIONNAMELEN

#define DPSESSIONNAMELEN   32

◆ DPSET_GUARANTEED

#define DPSET_GUARANTEED   0x00000002

Used with DPSET_REMOTE, use guaranteed message send to propagate the data

◆ DPSET_LOCAL

#define DPSET_LOCAL   0x00000001

Do not propagate the data to other players

◆ DPSET_REMOTE

#define DPSET_REMOTE   0x00000000

Propagate the data to all players in the session

◆ DPSHORTNAMELEN

#define DPSHORTNAMELEN   20

◆ DPSYS_ADDGROUPTOGROUP

#define DPSYS_ADDGROUPTOGROUP   0x0105

A group has been added to a group Use DPMSG_ADDGROUPTOGROUP

◆ DPSYS_ADDPLAYER

#define DPSYS_ADDPLAYER   0x0003

◆ DPSYS_ADDPLAYERTOGROUP

#define DPSYS_ADDPLAYERTOGROUP   0x0007

A player has been added to a group Use DPMSG_ADDPLAYERTOGROUP

◆ DPSYS_CHAT

#define DPSYS_CHAT   0x0109

A chat message has arrived Use DPMSG_CHAT

◆ DPSYS_CONNECT

#define DPSYS_CONNECT   0x484b

◆ DPSYS_CREATEPLAYERORGROUP

#define DPSYS_CREATEPLAYERORGROUP   0x0003

A new player or group has been created in the session Use DPMSG_CREATEPLAYERORGROUP. Check dwPlayerType to see if it is a player or a group.

◆ DPSYS_DELETEGROUP

#define DPSYS_DELETEGROUP   0x0020

◆ DPSYS_DELETEGROUPFROMGROUP

#define DPSYS_DELETEGROUPFROMGROUP   0x0106

A group has been removed from a group Use DPMSG_DELETEGROUPFROMGROUP

◆ DPSYS_DELETEPLAYER

#define DPSYS_DELETEPLAYER   0x0005

◆ DPSYS_DELETEPLAYERFROMGROUP

#define DPSYS_DELETEPLAYERFROMGROUP   0x0021

A player has been removed from a group Use DPMSG_DELETEPLAYERFROMGROUP

◆ DPSYS_DELETEPLAYERFROMGRP

#define DPSYS_DELETEPLAYERFROMGRP   0x0021

◆ DPSYS_DESTROYPLAYERORGROUP

#define DPSYS_DESTROYPLAYERORGROUP   0x0005

A player has been deleted from the session Use DPMSG_DESTROYPLAYERORGROUP

◆ DPSYS_HOST

#define DPSYS_HOST   0x0101

The current host has left the session. This DirectPlay object is now the host. Use DPMSG_HOST.

◆ DPSYS_SECUREMESSAGE

#define DPSYS_SECUREMESSAGE   0x0107

A secure player-player message has arrived. Use DPMSG_SECUREMESSAGE

◆ DPSYS_SESSIONLOST

#define DPSYS_SESSIONLOST   0x0031

This DirectPlay object lost its connection with all the other players in the session. Use DPMSG_SESSIONLOST.

◆ DPSYS_SETPLAYERORGROUPDATA

#define DPSYS_SETPLAYERORGROUPDATA   0x0102

The remote data associated with a player or group has changed. Check dwPlayerType to see if it is a player or a group Use DPMSG_SETPLAYERORGROUPDATA

◆ DPSYS_SETPLAYERORGROUPNAME

#define DPSYS_SETPLAYERORGROUPNAME   0x0103

The name of a player or group has changed. Check dwPlayerType to see if it is a player or a group. Use DPMSG_SETPLAYERORGROUPNAME

◆ DPSYS_SETSESSIONDESC

#define DPSYS_SETSESSIONDESC   0x0104

The session description has changed. Use DPMSG_SETSESSIONDESC

◆ DPSYS_STARTSESSION

#define DPSYS_STARTSESSION   0x0108

Start a new session. Use DPMSG_STARTSESSION

◆ DPUSERRESERVED

#define DPUSERRESERVED   16

◆ IDirectPlay2_AddPlayerToGroup

#define IDirectPlay2_AddPlayerToGroup (   p,
  a,
 
)    (p)->lpVtbl->AddPlayerToGroup(p,a,b)

◆ IDirectPlay2_AddRef

#define IDirectPlay2_AddRef (   p)    (p)->lpVtbl->AddRef(p)

◆ IDirectPlay2_Close

#define IDirectPlay2_Close (   p)    (p)->lpVtbl->Close(p)

◆ IDirectPlay2_CreateGroup

#define IDirectPlay2_CreateGroup (   p,
  a,
  b,
  c,
  d,
 
)    (p)->lpVtbl->CreateGroup(p,a,b,c,d,e)

◆ IDirectPlay2_CreatePlayer

#define IDirectPlay2_CreatePlayer (   p,
  a,
  b,
  c,
  d,
  e,
 
)    (p)->lpVtbl->CreatePlayer(p,a,b,c,d,e,f)

◆ IDirectPlay2_DeletePlayerFromGroup

#define IDirectPlay2_DeletePlayerFromGroup (   p,
  a,
 
)    (p)->lpVtbl->DeletePlayerFromGroup(p,a,b)

◆ IDirectPlay2_DestroyGroup

#define IDirectPlay2_DestroyGroup (   p,
 
)    (p)->lpVtbl->DestroyGroup(p,a)

◆ IDirectPlay2_DestroyPlayer

#define IDirectPlay2_DestroyPlayer (   p,
 
)    (p)->lpVtbl->DestroyPlayer(p,a)

◆ IDirectPlay2_EnumGroupPlayers

#define IDirectPlay2_EnumGroupPlayers (   p,
  a,
  b,
  c,
  d,
 
)    (p)->lpVtbl->EnumGroupPlayers(p,a,b,c,d,e)

◆ IDirectPlay2_EnumGroups

#define IDirectPlay2_EnumGroups (   p,
  a,
  b,
  c,
 
)    (p)->lpVtbl->EnumGroups(p,a,b,c,d)

◆ IDirectPlay2_EnumPlayers

#define IDirectPlay2_EnumPlayers (   p,
  a,
  b,
  c,
 
)    (p)->lpVtbl->EnumPlayers(p,a,b,c,d)

◆ IDirectPlay2_EnumSessions

#define IDirectPlay2_EnumSessions (   p,
  a,
  b,
  c,
  d,
 
)    (p)->lpVtbl->EnumSessions(p,a,b,c,d,e)

◆ IDirectPlay2_GetCaps

#define IDirectPlay2_GetCaps (   p,
  a,
 
)    (p)->lpVtbl->GetCaps(p,a,b)

◆ IDirectPlay2_GetGroupData

#define IDirectPlay2_GetGroupData (   p,
  a,
  b,
  c,
 
)    (p)->lpVtbl->GetGroupData(p,a,b,c,d)

◆ IDirectPlay2_GetGroupName

#define IDirectPlay2_GetGroupName (   p,
  a,
  b,
 
)    (p)->lpVtbl->GetGroupName(p,a,b,c)

◆ IDirectPlay2_GetMessageCount

#define IDirectPlay2_GetMessageCount (   p,
  a,
 
)    (p)->lpVtbl->GetMessageCount(p,a,b)

◆ IDirectPlay2_GetPlayerAddress

#define IDirectPlay2_GetPlayerAddress (   p,
  a,
  b,
 
)    (p)->lpVtbl->GetPlayerAddress(p,a,b,c)

◆ IDirectPlay2_GetPlayerCaps

#define IDirectPlay2_GetPlayerCaps (   p,
  a,
  b,
 
)    (p)->lpVtbl->GetPlayerCaps(p,a,b,c)

◆ IDirectPlay2_GetPlayerData

#define IDirectPlay2_GetPlayerData (   p,
  a,
  b,
  c,
 
)    (p)->lpVtbl->GetPlayerData(p,a,b,c,d)

◆ IDirectPlay2_GetPlayerName

#define IDirectPlay2_GetPlayerName (   p,
  a,
  b,
 
)    (p)->lpVtbl->GetPlayerName(p,a,b,c)

◆ IDirectPlay2_GetSessionDesc

#define IDirectPlay2_GetSessionDesc (   p,
  a,
 
)    (p)->lpVtbl->GetSessionDesc(p,a,b)

◆ IDirectPlay2_Initialize

#define IDirectPlay2_Initialize (   p,
 
)    (p)->lpVtbl->Initialize(p,a)

◆ IDirectPlay2_Open

#define IDirectPlay2_Open (   p,
  a,
 
)    (p)->lpVtbl->Open(p,a,b)

◆ IDirectPlay2_QueryInterface

#define IDirectPlay2_QueryInterface (   p,
  a,
 
)    (p)->lpVtbl->QueryInterface(p,a,b)

◆ IDirectPlay2_Receive

#define IDirectPlay2_Receive (   p,
  a,
  b,
  c,
  d,
 
)    (p)->lpVtbl->Receive(p,a,b,c,d,e)

◆ IDirectPlay2_Release

#define IDirectPlay2_Release (   p)    (p)->lpVtbl->Release(p)

◆ IDirectPlay2_Send

#define IDirectPlay2_Send (   p,
  a,
  b,
  c,
  d,
 
)    (p)->lpVtbl->Send(p,a,b,c,d,e)

◆ IDirectPlay2_SetGroupData

#define IDirectPlay2_SetGroupData (   p,
  a,
  b,
  c,
 
)    (p)->lpVtbl->SetGroupData(p,a,b,c,d)

◆ IDirectPlay2_SetGroupName

#define IDirectPlay2_SetGroupName (   p,
  a,
  b,
 
)    (p)->lpVtbl->SetGroupName(p,a,b,c)

◆ IDirectPlay2_SetPlayerData

#define IDirectPlay2_SetPlayerData (   p,
  a,
  b,
  c,
 
)    (p)->lpVtbl->SetPlayerData(p,a,b,c,d)

◆ IDirectPlay2_SetPlayerName

#define IDirectPlay2_SetPlayerName (   p,
  a,
  b,
 
)    (p)->lpVtbl->SetPlayerName(p,a,b,c)

◆ IDirectPlay2_SetSessionDesc

#define IDirectPlay2_SetSessionDesc (   p,
  a,
 
)    (p)->lpVtbl->SetSessionDesc(p,a,b)

◆ IDirectPlay3_AddGroupToGroup

#define IDirectPlay3_AddGroupToGroup (   p,
  a,
 
)    (p)->lpVtbl->AddGroupToGroup(p,a,b)

◆ IDirectPlay3_AddPlayerToGroup

#define IDirectPlay3_AddPlayerToGroup (   p,
  a,
 
)    (p)->lpVtbl->AddPlayerToGroup(p,a,b)

◆ IDirectPlay3_AddRef

#define IDirectPlay3_AddRef (   p)    (p)->lpVtbl->AddRef(p)

◆ IDirectPlay3_Close

#define IDirectPlay3_Close (   p)    (p)->lpVtbl->Close(p)

◆ IDirectPlay3_CreateGroup

#define IDirectPlay3_CreateGroup (   p,
  a,
  b,
  c,
  d,
 
)    (p)->lpVtbl->CreateGroup(p,a,b,c,d,e)

◆ IDirectPlay3_CreateGroupInGroup

#define IDirectPlay3_CreateGroupInGroup (   p,
  a,
  b,
  c,
  d,
  e,
 
)    (p)->lpVtbl->CreateGroupInGroup(p,a,b,c,d,e,f)

◆ IDirectPlay3_CreatePlayer

#define IDirectPlay3_CreatePlayer (   p,
  a,
  b,
  c,
  d,
  e,
 
)    (p)->lpVtbl->CreatePlayer(p,a,b,c,d,e,f)

◆ IDirectPlay3_DeleteGroupFromGroup

#define IDirectPlay3_DeleteGroupFromGroup (   p,
  a,
 
)    (p)->lpVtbl->DeleteGroupFromGroup(p,a,b)

◆ IDirectPlay3_DeletePlayerFromGroup

#define IDirectPlay3_DeletePlayerFromGroup (   p,
  a,
 
)    (p)->lpVtbl->DeletePlayerFromGroup(p,a,b)

◆ IDirectPlay3_DestroyGroup

#define IDirectPlay3_DestroyGroup (   p,
 
)    (p)->lpVtbl->DestroyGroup(p,a)

◆ IDirectPlay3_DestroyPlayer

#define IDirectPlay3_DestroyPlayer (   p,
 
)    (p)->lpVtbl->DestroyPlayer(p,a)

◆ IDirectPlay3_EnumConnections

#define IDirectPlay3_EnumConnections (   p,
  a,
  b,
  c,
 
)    (p)->lpVtbl->EnumConnections(p,a,b,c,d)

◆ IDirectPlay3_EnumGroupPlayers

#define IDirectPlay3_EnumGroupPlayers (   p,
  a,
  b,
  c,
  d,
 
)    (p)->lpVtbl->EnumGroupPlayers(p,a,b,c,d,e)

◆ IDirectPlay3_EnumGroups

#define IDirectPlay3_EnumGroups (   p,
  a,
  b,
  c,
 
)    (p)->lpVtbl->EnumGroups(p,a,b,c,d)

◆ IDirectPlay3_EnumGroupsInGroup

#define IDirectPlay3_EnumGroupsInGroup (   p,
  a,
  b,
  c,
  d,
 
)    (p)->lpVtbl->EnumGroupsInGroup(p,a,b,c,d,e)

◆ IDirectPlay3_EnumPlayers

#define IDirectPlay3_EnumPlayers (   p,
  a,
  b,
  c,
 
)    (p)->lpVtbl->EnumPlayers(p,a,b,c,d)

◆ IDirectPlay3_EnumSessions

#define IDirectPlay3_EnumSessions (   p,
  a,
  b,
  c,
  d,
 
)    (p)->lpVtbl->EnumSessions(p,a,b,c,d,e)

◆ IDirectPlay3_GetCaps

#define IDirectPlay3_GetCaps (   p,
  a,
 
)    (p)->lpVtbl->GetCaps(p,a,b)

◆ IDirectPlay3_GetGroupConnectionSettings

#define IDirectPlay3_GetGroupConnectionSettings (   p,
  a,
  b,
  c,
 
)    (p)->lpVtbl->GetGroupConnectionSettings(p,a,b,c,d)

◆ IDirectPlay3_GetGroupData

#define IDirectPlay3_GetGroupData (   p,
  a,
  b,
  c,
 
)    (p)->lpVtbl->GetGroupData(p,a,b,c,d)

◆ IDirectPlay3_GetGroupFlags

#define IDirectPlay3_GetGroupFlags (   p,
  a,
 
)    (p)->lpVtbl->GetGroupFlags(p,a,b)

◆ IDirectPlay3_GetGroupName

#define IDirectPlay3_GetGroupName (   p,
  a,
  b,
 
)    (p)->lpVtbl->GetGroupName(p,a,b,c)

◆ IDirectPlay3_GetGroupParent

#define IDirectPlay3_GetGroupParent (   p,
  a,
 
)    (p)->lpVtbl->GetGroupParent(p,a,b)

◆ IDirectPlay3_GetMessageCount

#define IDirectPlay3_GetMessageCount (   p,
  a,
 
)    (p)->lpVtbl->GetMessageCount(p,a,b)

◆ IDirectPlay3_GetPlayerAccount

#define IDirectPlay3_GetPlayerAccount (   p,
  a,
  b,
  c,
 
)    (p)->lpVtbl->GetPlayerAccount(p,a,b,c,d)

◆ IDirectPlay3_GetPlayerAddress

#define IDirectPlay3_GetPlayerAddress (   p,
  a,
  b,
 
)    (p)->lpVtbl->GetPlayerAddress(p,a,b,c)

◆ IDirectPlay3_GetPlayerCaps

#define IDirectPlay3_GetPlayerCaps (   p,
  a,
  b,
 
)    (p)->lpVtbl->GetPlayerCaps(p,a,b,c)

◆ IDirectPlay3_GetPlayerData

#define IDirectPlay3_GetPlayerData (   p,
  a,
  b,
  c,
 
)    (p)->lpVtbl->GetPlayerData(p,a,b,c,d)

◆ IDirectPlay3_GetPlayerFlags

#define IDirectPlay3_GetPlayerFlags (   p,
  a,
 
)    (p)->lpVtbl->GetPlayerFlags(p,a,b)

◆ IDirectPlay3_GetPlayerName

#define IDirectPlay3_GetPlayerName (   p,
  a,
  b,
 
)    (p)->lpVtbl->GetPlayerName(p,a,b,c)

◆ IDirectPlay3_GetSessionDesc

#define IDirectPlay3_GetSessionDesc (   p,
  a,
 
)    (p)->lpVtbl->GetSessionDesc(p,a,b)

◆ IDirectPlay3_Initialize

#define IDirectPlay3_Initialize (   p,
 
)    (p)->lpVtbl->Initialize(p,a)

◆ IDirectPlay3_InitializeConnection

#define IDirectPlay3_InitializeConnection (   p,
  a,
 
)    (p)->lpVtbl->InitializeConnection(p,a,b)

◆ IDirectPlay3_Open

#define IDirectPlay3_Open (   p,
  a,
 
)    (p)->lpVtbl->Open(p,a,b)

◆ IDirectPlay3_QueryInterface

#define IDirectPlay3_QueryInterface (   p,
  a,
 
)    (p)->lpVtbl->QueryInterface(p,a,b)

◆ IDirectPlay3_Receive

#define IDirectPlay3_Receive (   p,
  a,
  b,
  c,
  d,
 
)    (p)->lpVtbl->Receive(p,a,b,c,d,e)

◆ IDirectPlay3_Release

#define IDirectPlay3_Release (   p)    (p)->lpVtbl->Release(p)

◆ IDirectPlay3_SecureOpen

#define IDirectPlay3_SecureOpen (   p,
  a,
  b,
  c,
 
)    (p)->lpVtbl->SecureOpen(p,a,b,c,d)

◆ IDirectPlay3_Send

#define IDirectPlay3_Send (   p,
  a,
  b,
  c,
  d,
 
)    (p)->lpVtbl->Send(p,a,b,c,d,e)

◆ IDirectPlay3_SendChatMessage

#define IDirectPlay3_SendChatMessage (   p,
  a,
  b,
  c,
 
)    (p)->lpVtbl->SendChatMessage(p,a,b,c,d)

◆ IDirectPlay3_SetGroupConnectionSettings

#define IDirectPlay3_SetGroupConnectionSettings (   p,
  a,
  b,
 
)    (p)->lpVtbl->SetGroupConnectionSettings(p,a,b,c)

◆ IDirectPlay3_SetGroupData

#define IDirectPlay3_SetGroupData (   p,
  a,
  b,
  c,
 
)    (p)->lpVtbl->SetGroupData(p,a,b,c,d)

◆ IDirectPlay3_SetGroupName

#define IDirectPlay3_SetGroupName (   p,
  a,
  b,
 
)    (p)->lpVtbl->SetGroupName(p,a,b,c)

◆ IDirectPlay3_SetPlayerData

#define IDirectPlay3_SetPlayerData (   p,
  a,
  b,
  c,
 
)    (p)->lpVtbl->SetPlayerData(p,a,b,c,d)

◆ IDirectPlay3_SetPlayerName

#define IDirectPlay3_SetPlayerName (   p,
  a,
  b,
 
)    (p)->lpVtbl->SetPlayerName(p,a,b,c)

◆ IDirectPlay3_SetSessionDesc

#define IDirectPlay3_SetSessionDesc (   p,
  a,
 
)    (p)->lpVtbl->SetSessionDesc(p,a,b)

◆ IDirectPlay3_StartSession

#define IDirectPlay3_StartSession (   p,
  a,
 
)    (p)->lpVtbl->StartSession(p,a,b)

◆ IDirectPlay_AddPlayerToGroup

#define IDirectPlay_AddPlayerToGroup (   p,
  a,
 
)    (p)->lpVtbl->AddPlayerToGroup(p,a,b)

◆ IDirectPlay_AddRef

#define IDirectPlay_AddRef (   p)    (p)->lpVtbl->AddRef(p)

◆ IDirectPlay_Close

#define IDirectPlay_Close (   p)    (p)->lpVtbl->Close(p)

◆ IDirectPlay_CreateGroup

#define IDirectPlay_CreateGroup (   p,
  a,
  b,
 
)    (p)->lpVtbl->CreateGroup(p,a,b,c)

◆ IDirectPlay_CreatePlayer

#define IDirectPlay_CreatePlayer (   p,
  a,
  b,
  c,
 
)    (p)->lpVtbl->CreatePlayer(p,a,b,c,d)

◆ IDirectPlay_DeletePlayerFromGroup

#define IDirectPlay_DeletePlayerFromGroup (   p,
  a,
 
)    (p)->lpVtbl->DeletePlayerFromGroup(p,a,b)

◆ IDirectPlay_DestroyGroup

#define IDirectPlay_DestroyGroup (   p,
 
)    (p)->lpVtbl->DestroyGroup(p,a)

◆ IDirectPlay_DestroyPlayer

#define IDirectPlay_DestroyPlayer (   p,
 
)    (p)->lpVtbl->DestroyPlayer(p,a)

◆ IDirectPlay_EnableNewPlayers

#define IDirectPlay_EnableNewPlayers (   p,
 
)    (p)->lpVtbl->EnableNewPlayers(p,a)

◆ IDirectPlay_EnumGroupPlayers

#define IDirectPlay_EnumGroupPlayers (   p,
  a,
  b,
  c,
 
)    (p)->lpVtbl->EnumGroupPlayers(p,a,b,c,d)

◆ IDirectPlay_EnumGroups

#define IDirectPlay_EnumGroups (   p,
  a,
  b,
  c,
 
)    (p)->lpVtbl->EnumGroups(p,a,b,c,d)

◆ IDirectPlay_EnumPlayers

#define IDirectPlay_EnumPlayers (   p,
  a,
  b,
  c,
 
)    (p)->lpVtbl->EnumPlayers(p,a,b,c,d)

◆ IDirectPlay_EnumSessions

#define IDirectPlay_EnumSessions (   p,
  a,
  b,
  c,
  d,
 
)    (p)->lpVtbl->EnumSessions(p,a,b,c,d,e)

◆ IDirectPlay_GetCaps

#define IDirectPlay_GetCaps (   p,
 
)    (p)->lpVtbl->GetCaps(p,a)

◆ IDirectPlay_GetMessageCount

#define IDirectPlay_GetMessageCount (   p,
  a,
 
)    (p)->lpVtbl->GetMessageCount(p,a,b)

◆ IDirectPlay_GetPlayerCaps

#define IDirectPlay_GetPlayerCaps (   p,
  a,
 
)    (p)->lpVtbl->GetPlayerCaps(p,a,b)

◆ IDirectPlay_GetPlayerName

#define IDirectPlay_GetPlayerName (   p,
  a,
  b,
  c,
  d,
 
)    (p)->lpVtbl->GetPlayerName(p,a,b,c,d,e)

◆ IDirectPlay_Initialize

#define IDirectPlay_Initialize (   p,
 
)    (p)->lpVtbl->Initialize(p,a)

◆ IDirectPlay_Open

#define IDirectPlay_Open (   p,
 
)    (p)->lpVtbl->Open(p,a)

◆ IDirectPlay_QueryInterface

#define IDirectPlay_QueryInterface (   p,
  a,
 
)    (p)->lpVtbl->QueryInterface(p,a,b)

◆ IDirectPlay_Receive

#define IDirectPlay_Receive (   p,
  a,
  b,
  c,
  d,
 
)    (p)->lpVtbl->Receive(p,a,b,c,d,e)

◆ IDirectPlay_Release

#define IDirectPlay_Release (   p)    (p)->lpVtbl->Release(p)

◆ IDirectPlay_SaveSession

#define IDirectPlay_SaveSession (   p,
 
)    (p)->lpVtbl->SaveSession(p,a)

◆ IDirectPlay_Send

#define IDirectPlay_Send (   p,
  a,
  b,
  c,
  d,
 
)    (p)->lpVtbl->Send(p,a,b,c,d,e)

◆ IDirectPlay_SetPlayerName

#define IDirectPlay_SetPlayerName (   p,
  a,
  b,
 
)    (p)->lpVtbl->SetPlayerName(p,a,b,c)

◆ INTERFACE [1/3]

#define INTERFACE   IDirectPlay2

◆ INTERFACE [2/3]

#define INTERFACE   IDirectPlay3

◆ INTERFACE [3/3]

#define INTERFACE   IDirectPlay

◆ MAKE_DPHRESULT

#define MAKE_DPHRESULT (   code)    MAKE_HRESULT( 1, _FACDP, code )

Typedef Documentation

◆ DPID

typedef DWORD DPID

DPID DirectPlay player and group ID

◆ DPMSG_ADDGROUP

◆ DPMSG_DELETEGROUPFROMGROUP

System message generated when a GROUP is being removed from a group

◆ DPMSG_DELETEPLAYERFROMGROUP

System message generated when a player is being removed from a group

◆ DPMSG_GROUPDELETE

◆ DPMSG_HOST

System message generated when the host has migrated to this DirectPlay object.

◆ DPMSG_SESSIONLOST

System message generated when the connection to the session is lost.

◆ dwConnectionSize

◆ dwFlags

typedef LPVOID DWORD dwFlags

◆ dwMajorVersion

typedef LPSTR DWORD dwMajorVersion

◆ dwMinorVersion

typedef LPSTR DWORD DWORD dwMinorVersion

◆ dwPlayerType

◆ IDirectPlay2A

typedef struct IDirectPlay2 IDirectPlay2A

◆ IDirectPlay3A

typedef struct IDirectPlay3 IDirectPlay3A

◆ LPCDPACCOUNTDESC

typedef const DPACCOUNTDESC FAR* LPCDPACCOUNTDESC

◆ LPCDPCREDENTIALS

typedef const DPCREDENTIALS FAR* LPCDPCREDENTIALS

◆ LPCDPLCONNECTION

typedef const DPLCONNECTION FAR* LPCDPLCONNECTION

◆ LPCDPNAME

typedef const DPNAME FAR* LPCDPNAME

A constant pointer to DPNAME

◆ LPCDPSECURITYDESC

typedef const DPSECURITYDESC FAR* LPCDPSECURITYDESC

◆ LPCDPSESSIONDESC2

typedef const DPSESSIONDESC2 FAR* LPCDPSESSIONDESC2

LPCDPSESSIONDESC2 A constant pointer to DPSESSIONDESC2

◆ LPCGUID

typedef const GUID FAR* LPCGUID

A constant pointer to a guid

◆ lpConnection

◆ lpContext

◆ LPDIRECTPLAY

typedef struct IDirectPlay FAR* LPDIRECTPLAY

◆ LPDIRECTPLAY2

typedef struct IDirectPlay2 FAR* LPDIRECTPLAY2

◆ LPDIRECTPLAY2A

typedef struct IDirectPlay2 FAR* LPDIRECTPLAY2A

◆ LPDIRECTPLAY3

typedef struct IDirectPlay3 FAR* LPDIRECTPLAY3

◆ LPDIRECTPLAY3A

typedef struct IDirectPlay3 FAR* LPDIRECTPLAY3A

◆ LPDPACCOUNTDESC

typedef struct DPACCOUNTDESC* LPDPACCOUNTDESC

◆ LPDPCAPS

typedef struct DPCAPS* LPDPCAPS

◆ LPDPCHAT

typedef struct DPCHAT* LPDPCHAT

◆ LPDPCREDENTIALS

typedef struct DPCREDENTIALS* LPDPCREDENTIALS

◆ LPDPENUMPLAYERSCALLBACK

typedef BOOL(PASCAL * LPDPENUMPLAYERSCALLBACK) (DPID dpId, LPSTR lpFriendlyName, LPSTR lpFormalName, DWORD dwFlags, LPVOID lpContext)

◆ LPDPENUMSESSIONSCALLBACK

typedef BOOL(PASCAL * LPDPENUMSESSIONSCALLBACK) (LPDPSESSIONDESC lpDPSessionDesc, LPVOID lpContext, LPDWORD lpdwTimeOut, DWORD dwFlags)

◆ LPDPID

typedef DWORD FAR* LPDPID

◆ LPDPLCONNECTION

typedef struct DPLCONNECTION* LPDPLCONNECTION

◆ LPDPMSG_ADDGROUPTOGROUP

◆ LPDPMSG_ADDPLAYERTOGROUP

◆ LPDPMSG_CHAT

typedef struct DPMSG_CHAT* LPDPMSG_CHAT

◆ LPDPMSG_CREATEPLAYERORGROUP

◆ LPDPMSG_DELETEGROUPFROMGROUP

◆ LPDPMSG_DELETEPLAYERFROMGROUP

◆ LPDPMSG_DESTROYPLAYERORGROUP

◆ LPDPMSG_GENERIC

typedef struct DPMSG_GENERIC* LPDPMSG_GENERIC

◆ LPDPMSG_HOST

typedef DPMSG_HOST FAR* LPDPMSG_HOST

◆ LPDPMSG_SECUREMESSAGE

◆ LPDPMSG_SESSIONLOST

◆ LPDPMSG_SETPLAYERORGROUPDATA

◆ LPDPMSG_SETPLAYERORGROUPNAME

◆ LPDPMSG_SETSESSIONDESC

◆ LPDPMSG_STARTSESSION

◆ LPDPNAME

typedef struct DPNAME* LPDPNAME

◆ LPDPSECURITYDESC

◆ LPDPSESSIONDESC

typedef struct DPSESSIONDESC* LPDPSESSIONDESC

◆ LPDPSESSIONDESC2

◆ lpdwTimeOut

typedef LPDWORD lpdwTimeOut

◆ lpName

◆ lpSPName

typedef LPSTR lpSPName

Function Documentation

◆ BOOL()

typedef BOOL ( FAR PASCAL *  LPDPENUMCONNECTIONSCALLBACK)

Callback for IDirectPlay2::EnumSessions

Callback for IDirectPlay2::EnumPlayers IDirectPlay2::EnumGroups IDirectPlay2::EnumGroupPlayers

Unicode callback for DirectPlayEnumerate This callback prototype will be used if compiling for Unicode strings

ANSI callback for DirectPlayEnumerate This callback prototype will be used if compiling for ANSI strings

Callback for IDirectPlay3(A)::EnumConnections

Referenced by DECLARE_INTERFACE_().

◆ DECLARE_INTERFACE_() [1/3]

DECLARE_INTERFACE_ ( IDirectPlay  ,
IUnknown   
)

References BOOL(), and DWORD().

◆ DECLARE_INTERFACE_() [2/3]

DECLARE_INTERFACE_ ( IDirectPlay2  ,
IUnknown   
)

References DWORD().

◆ DECLARE_INTERFACE_() [3/3]

DECLARE_INTERFACE_ ( IDirectPlay3  ,
IDirectPlay2   
)

References DWORD().

◆ DEFINE_GUID() [1/10]

DEFINE_GUID ( CLSID_DirectPlay  ,
0xd1eb6d20  ,
0x8923  ,
0x11d0  ,
0x9d  ,
0x97  ,
0x0  ,
0xa0  ,
0xc9  ,
0xa  ,
0x43  ,
0xcb   
)

◆ DEFINE_GUID() [2/10]

DEFINE_GUID ( DPSPGUID_IPX  ,
0x685bc400  ,
0x9d2c  ,
0x11cf  ,
0xa9  ,
0xcd  ,
0x0  ,
0xaa  ,
0x0  ,
0x68  ,
0x86  ,
0xe3   
)

◆ DEFINE_GUID() [3/10]

DEFINE_GUID ( DPSPGUID_MODEM  ,
0x44eaa760  ,
0xcb68  ,
0x11cf  ,
0x9c  ,
0x4e  ,
0x0  ,
0xa0  ,
0xc9  ,
0x5  ,
0x42  ,
0x5e   
)

◆ DEFINE_GUID() [4/10]

DEFINE_GUID ( DPSPGUID_SERIAL  ,
0xf1d6860  ,
0x88d9  ,
0x11cf  ,
0x9c  ,
0x4e  ,
0x0  ,
0xa0  ,
0xc9  ,
0x5  ,
0x42  ,
0x5e   
)

◆ DEFINE_GUID() [5/10]

DEFINE_GUID ( DPSPGUID_TCPIP  ,
0x36E95EE0  ,
0x8577  ,
0x11cf  ,
0x96  ,
0xc  ,
0x0  ,
0x80  ,
0xc7  ,
0x53  ,
0x4e  ,
0x82   
)

◆ DEFINE_GUID() [6/10]

DEFINE_GUID ( IID_IDirectPlay  ,
0x5454e9a0  ,
0xdb65  ,
0x11ce  ,
0x92  ,
0x1c  ,
0x00  ,
0xaa  ,
0x00  ,
0x6c  ,
0x49  ,
0x72   
)

◆ DEFINE_GUID() [7/10]

DEFINE_GUID ( IID_IDirectPlay2  ,
0x2b74f7c0  ,
0x9154  ,
0x11cf  ,
0xa9  ,
0xcd  ,
0x0  ,
0xaa  ,
0x0  ,
0x68  ,
0x86  ,
0xe3   
)

◆ DEFINE_GUID() [8/10]

DEFINE_GUID ( IID_IDirectPlay2A  ,
0x9d460580  ,
0xa822  ,
0x11cf  ,
0x96  ,
0xc  ,
0x0  ,
0x80  ,
0xc7  ,
0x53  ,
0x4e  ,
0x82   
)

◆ DEFINE_GUID() [9/10]

DEFINE_GUID ( IID_IDirectPlay3  ,
0x133efe40  ,
0x32dc  ,
0x11d0  ,
0x9c  ,
0xfb  ,
0x0  ,
0xa0  ,
0xc9  ,
0xa  ,
0x43  ,
0xcb   
)

◆ DEFINE_GUID() [10/10]

DEFINE_GUID ( IID_IDirectPlay3A  ,
0x133efe41  ,
0x32dc  ,
0x11d0  ,
0x9c  ,
0xfb  ,
0x0  ,
0xa0  ,
0xc9  ,
0xa  ,
0x43  ,
0xcb   
)

◆ DirectPlayCreate()

HRESULT WINAPI DirectPlayCreate ( LPGUID  lpGUID,
LPDIRECTPLAY lplpDP,
IUnknown pUnk 
)

◆ DirectPlayEnumerateA()

HRESULT WINAPI DirectPlayEnumerateA ( LPDPENUMDPCALLBACKA  ,
LPVOID   
)

◆ DirectPlayEnumerateW()

HRESULT WINAPI DirectPlayEnumerateW ( LPDPENUMDPCALLBACK  ,
LPVOID   
)