10#ifndef __DPLAY_INCLUDED__
11#define __DPLAY_INCLUDED__
16#define MAKE_DPHRESULT( code ) MAKE_HRESULT( 1, _FACDP, code )
25DEFINE_GUID(IID_IDirectPlay2, 0x2b74f7c0, 0x9154, 0x11cf, 0xa9, 0xcd, 0x0, 0xaa, 0x0, 0x68, 0x86, 0xe3);
26DEFINE_GUID(IID_IDirectPlay2A,0x9d460580, 0xa822, 0x11cf, 0x96, 0xc, 0x0, 0x80, 0xc7, 0x53, 0x4e, 0x82);
28DEFINE_GUID(IID_IDirectPlay3, 0x133efe40, 0x32dc, 0x11d0, 0x9c, 0xfb, 0x0, 0xa0, 0xc9, 0xa, 0x43, 0xcb);
29DEFINE_GUID(IID_IDirectPlay3A,0x133efe41, 0x32dc, 0x11d0, 0x9c, 0xfb, 0x0, 0xa0, 0xc9, 0xa, 0x43, 0xcb);
32DEFINE_GUID(CLSID_DirectPlay,0xd1eb6d20, 0x8923, 0x11d0, 0x9d, 0x97, 0x0, 0xa0, 0xc9, 0xa, 0x43, 0xcb);
420x685bc400, 0x9d2c, 0x11cf, 0xa9, 0xcd, 0x0, 0xaa, 0x0, 0x68, 0x86, 0xe3);
470x36E95EE0, 0x8577, 0x11cf, 0x96, 0xc, 0x0, 0x80, 0xc7, 0x53, 0x4e, 0x82);
520xf1d6860, 0x88d9, 0x11cf, 0x9c, 0x4e, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
570x44eaa760, 0xcb68, 0x11cf, 0x9c, 0x4e, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
67#ifndef IDIRECTPLAY2_OR_GREATER
95#define DPID_ALLPLAYERS 0
100#define DPID_SERVERPLAYER 1
105#define DPID_UNKNOWN 0xFFFFFFFF
133#define DPCAPS_ISHOST 0x00000002
139#define DPCAPS_GROUPOPTIMIZED 0x00000008
145#define DPCAPS_KEEPALIVEOPTIMIZED 0x00000010
151#define DPCAPS_GUARANTEEDOPTIMIZED 0x00000020
156#define DPCAPS_GUARANTEEDSUPPORTED 0x00000040
161#define DPCAPS_SIGNINGSUPPORTED 0x00000080
166#define DPCAPS_ENCRYPTIONSUPPORTED 0x00000100
209#define DPSESSION_NEWPLAYERSDISABLED 0x00000001
217#define DPSESSION_MIGRATEHOST 0x00000004
224#define DPSESSION_NOMESSAGEID 0x00000008
232#define DPSESSION_JOINDISABLED 0x00000020
238#define DPSESSION_KEEPALIVE 0x00000040
244#define DPSESSION_NODATAMESSAGES 0x00000080
250#define DPSESSION_SECURESERVER 0x00000100
256#define DPSESSION_PRIVATE 0x00000200
261#define DPSESSION_PASSWORDREQUIRED 0x00000400
266#define DPSESSION_MULTICASTSERVER 0x00000800
272#define DPSESSION_CLIENTSERVER 0x00001000
414typedef BOOL (FAR PASCAL * LPDPENUMSESSIONSCALLBACK2)(
428#define DPESC_TIMEDOUT 0x00000001
436typedef BOOL (FAR PASCAL *LPDPENUMPLAYERSCALLBACK2)(
449typedef BOOL (FAR PASCAL * LPDPENUMDPCALLBACK)(
461typedef BOOL (FAR PASCAL * LPDPENUMDPCALLBACKA)(
471typedef BOOL (FAR PASCAL * LPDPENUMCONNECTIONSCALLBACK)(
485#define DirectPlayEnumerate DirectPlayEnumerateW
487#define DirectPlayEnumerate DirectPlayEnumerateA
501#define INTERFACE IDirectPlay2
505 STDMETHOD(QueryInterface) (THIS_ REFIID riid,
LPVOID * ppvObj) PURE;
506 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
507 STDMETHOD_(ULONG,Release) (THIS) PURE;
509 STDMETHOD(AddPlayerToGroup) (THIS_
DPID,
DPID) PURE;
510 STDMETHOD(Close) (THIS) PURE;
513 STDMETHOD(DeletePlayerFromGroup)(THIS_
DPID,
DPID) PURE;
514 STDMETHOD(DestroyGroup) (THIS_
DPID) PURE;
515 STDMETHOD(DestroyPlayer) (THIS_
DPID) PURE;
516 STDMETHOD(EnumGroupPlayers) (THIS_
DPID,LPGUID,LPDPENUMPLAYERSCALLBACK2,
LPVOID,
DWORD) PURE;
517 STDMETHOD(EnumGroups) (THIS_ LPGUID,LPDPENUMPLAYERSCALLBACK2,
LPVOID,
DWORD) PURE;
518 STDMETHOD(EnumPlayers) (THIS_ LPGUID,LPDPENUMPLAYERSCALLBACK2,
LPVOID,
DWORD) PURE;
522 STDMETHOD(GetGroupName) (THIS_
DPID,
LPVOID,LPDWORD) PURE;
523 STDMETHOD(GetMessageCount) (THIS_
DPID, LPDWORD) PURE;
524 STDMETHOD(GetPlayerAddress) (THIS_
DPID,
LPVOID,LPDWORD) PURE;
527 STDMETHOD(GetPlayerName) (THIS_
DPID,
LPVOID,LPDWORD) PURE;
528 STDMETHOD(GetSessionDesc) (THIS_
LPVOID,LPDWORD) PURE;
529 STDMETHOD(Initialize) (THIS_ LPGUID) PURE;
546#if !defined(__cplusplus) || defined(CINTERFACE)
548#define IDirectPlay2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
549#define IDirectPlay2_AddRef(p) (p)->lpVtbl->AddRef(p)
550#define IDirectPlay2_Release(p) (p)->lpVtbl->Release(p)
551#define IDirectPlay2_AddPlayerToGroup(p,a,b) (p)->lpVtbl->AddPlayerToGroup(p,a,b)
552#define IDirectPlay2_Close(p) (p)->lpVtbl->Close(p)
553#define IDirectPlay2_CreateGroup(p,a,b,c,d,e) (p)->lpVtbl->CreateGroup(p,a,b,c,d,e)
554#define IDirectPlay2_CreatePlayer(p,a,b,c,d,e,f) (p)->lpVtbl->CreatePlayer(p,a,b,c,d,e,f)
555#define IDirectPlay2_DeletePlayerFromGroup(p,a,b) (p)->lpVtbl->DeletePlayerFromGroup(p,a,b)
556#define IDirectPlay2_DestroyGroup(p,a) (p)->lpVtbl->DestroyGroup(p,a)
557#define IDirectPlay2_DestroyPlayer(p,a) (p)->lpVtbl->DestroyPlayer(p,a)
558#define IDirectPlay2_EnumGroupPlayers(p,a,b,c,d,e) (p)->lpVtbl->EnumGroupPlayers(p,a,b,c,d,e)
559#define IDirectPlay2_EnumGroups(p,a,b,c,d) (p)->lpVtbl->EnumGroups(p,a,b,c,d)
560#define IDirectPlay2_EnumPlayers(p,a,b,c,d) (p)->lpVtbl->EnumPlayers(p,a,b,c,d)
561#define IDirectPlay2_EnumSessions(p,a,b,c,d,e) (p)->lpVtbl->EnumSessions(p,a,b,c,d,e)
562#define IDirectPlay2_GetCaps(p,a,b) (p)->lpVtbl->GetCaps(p,a,b)
563#define IDirectPlay2_GetMessageCount(p,a,b) (p)->lpVtbl->GetMessageCount(p,a,b)
564#define IDirectPlay2_GetGroupData(p,a,b,c,d) (p)->lpVtbl->GetGroupData(p,a,b,c,d)
565#define IDirectPlay2_GetGroupName(p,a,b,c) (p)->lpVtbl->GetGroupName(p,a,b,c)
566#define IDirectPlay2_GetPlayerAddress(p,a,b,c) (p)->lpVtbl->GetPlayerAddress(p,a,b,c)
567#define IDirectPlay2_GetPlayerCaps(p,a,b,c) (p)->lpVtbl->GetPlayerCaps(p,a,b,c)
568#define IDirectPlay2_GetPlayerData(p,a,b,c,d) (p)->lpVtbl->GetPlayerData(p,a,b,c,d)
569#define IDirectPlay2_GetPlayerName(p,a,b,c) (p)->lpVtbl->GetPlayerName(p,a,b,c)
570#define IDirectPlay2_GetSessionDesc(p,a,b) (p)->lpVtbl->GetSessionDesc(p,a,b)
571#define IDirectPlay2_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
572#define IDirectPlay2_Open(p,a,b) (p)->lpVtbl->Open(p,a,b)
573#define IDirectPlay2_Receive(p,a,b,c,d,e) (p)->lpVtbl->Receive(p,a,b,c,d,e)
574#define IDirectPlay2_Send(p,a,b,c,d,e) (p)->lpVtbl->Send(p,a,b,c,d,e)
575#define IDirectPlay2_SetGroupData(p,a,b,c,d) (p)->lpVtbl->SetGroupData(p,a,b,c,d)
576#define IDirectPlay2_SetGroupName(p,a,b,c) (p)->lpVtbl->SetGroupName(p,a,b,c)
577#define IDirectPlay2_SetPlayerData(p,a,b,c,d) (p)->lpVtbl->SetPlayerData(p,a,b,c,d)
578#define IDirectPlay2_SetPlayerName(p,a,b,c) (p)->lpVtbl->SetPlayerName(p,a,b,c)
579#define IDirectPlay2_SetSessionDesc(p,a,b) (p)->lpVtbl->SetSessionDesc(p,a,b)
583#define IDirectPlay2_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
584#define IDirectPlay2_AddRef(p) (p)->AddRef()
585#define IDirectPlay2_Release(p) (p)->Release()
586#define IDirectPlay2_AddPlayerToGroup(p,a,b) (p)->AddPlayerToGroup(a,b)
587#define IDirectPlay2_Close(p) (p)->Close()
588#define IDirectPlay2_CreateGroup(p,a,b,c,d,e) (p)->CreateGroup(a,b,c,d,e)
589#define IDirectPlay2_CreatePlayer(p,a,b,c,d,e,f) (p)->CreatePlayer(a,b,c,d,e,f)
590#define IDirectPlay2_DeletePlayerFromGroup(p,a,b) (p)->DeletePlayerFromGroup(a,b)
591#define IDirectPlay2_DestroyGroup(p,a) (p)->DestroyGroup(a)
592#define IDirectPlay2_DestroyPlayer(p,a) (p)->DestroyPlayer(a)
593#define IDirectPlay2_EnumGroupPlayers(p,a,b,c,d,e) (p)->EnumGroupPlayers(a,b,c,d,e)
594#define IDirectPlay2_EnumGroups(p,a,b,c,d) (p)->EnumGroups(a,b,c,d)
595#define IDirectPlay2_EnumPlayers(p,a,b,c,d) (p)->EnumPlayers(a,b,c,d)
596#define IDirectPlay2_EnumSessions(p,a,b,c,d,e) (p)->EnumSessions(a,b,c,d,e)
597#define IDirectPlay2_GetCaps(p,a,b) (p)->GetCaps(a,b)
598#define IDirectPlay2_GetMessageCount(p,a,b) (p)->GetMessageCount(a,b)
599#define IDirectPlay2_GetGroupData(p,a,b,c,d) (p)->GetGroupData(a,b,c,d)
600#define IDirectPlay2_GetGroupName(p,a,b,c) (p)->GetGroupName(a,b,c)
601#define IDirectPlay2_GetPlayerAddress(p,a,b,c) (p)->GetPlayerAddress(a,b,c)
602#define IDirectPlay2_GetPlayerCaps(p,a,b,c) (p)->GetPlayerCaps(a,b,c)
603#define IDirectPlay2_GetPlayerData(p,a,b,c,d) (p)->GetPlayerData(a,b,c,d)
604#define IDirectPlay2_GetPlayerName(p,a,b,c) (p)->GetPlayerName(a,b,c)
605#define IDirectPlay2_GetSessionDesc(p,a,b) (p)->GetSessionDesc(a,b)
606#define IDirectPlay2_Initialize(p,a) (p)->Initialize(a)
607#define IDirectPlay2_Open(p,a,b) (p)->Open(a,b)
608#define IDirectPlay2_Receive(p,a,b,c,d,e) (p)->Receive(a,b,c,d,e)
609#define IDirectPlay2_Send(p,a,b,c,d,e) (p)->Send(a,b,c,d,e)
610#define IDirectPlay2_SetGroupData(p,a,b,c,d) (p)->SetGroupData(a,b,c,d)
611#define IDirectPlay2_SetGroupName(p,a,b,c) (p)->SetGroupName(a,b,c)
612#define IDirectPlay2_SetPlayerData(p,a,b,c,d) (p)->SetPlayerData(a,b,c,d)
613#define IDirectPlay2_SetPlayerName(p,a,b,c) (p)->SetPlayerName(a,b,c)
614#define IDirectPlay2_SetSessionDesc(p,a,b) (p)->SetSessionDesc(a,b)
625#define INTERFACE IDirectPlay3
629 STDMETHOD(QueryInterface) (THIS_ REFIID riid,
LPVOID * ppvObj) PURE;
630 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
631 STDMETHOD_(ULONG,Release) (THIS) PURE;
633 STDMETHOD(AddPlayerToGroup) (THIS_
DPID,
DPID) PURE;
634 STDMETHOD(Close) (THIS) PURE;
637 STDMETHOD(DeletePlayerFromGroup)(THIS_
DPID,
DPID) PURE;
638 STDMETHOD(DestroyGroup) (THIS_
DPID) PURE;
639 STDMETHOD(DestroyPlayer) (THIS_
DPID) PURE;
640 STDMETHOD(EnumGroupPlayers) (THIS_
DPID,LPGUID,LPDPENUMPLAYERSCALLBACK2,
LPVOID,
DWORD) PURE;
641 STDMETHOD(EnumGroups) (THIS_ LPGUID,LPDPENUMPLAYERSCALLBACK2,
LPVOID,
DWORD) PURE;
642 STDMETHOD(EnumPlayers) (THIS_ LPGUID,LPDPENUMPLAYERSCALLBACK2,
LPVOID,
DWORD) PURE;
646 STDMETHOD(GetGroupName) (THIS_
DPID,
LPVOID,LPDWORD) PURE;
647 STDMETHOD(GetMessageCount) (THIS_
DPID, LPDWORD) PURE;
648 STDMETHOD(GetPlayerAddress) (THIS_
DPID,
LPVOID,LPDWORD) PURE;
651 STDMETHOD(GetPlayerName) (THIS_
DPID,
LPVOID,LPDWORD) PURE;
652 STDMETHOD(GetSessionDesc) (THIS_
LPVOID,LPDWORD) PURE;
653 STDMETHOD(Initialize) (THIS_ LPGUID) PURE;
663 STDMETHOD(AddGroupToGroup) (THIS_
DPID,
DPID) PURE;
665 STDMETHOD(DeleteGroupFromGroup) (THIS_
DPID,
DPID) PURE;
666 STDMETHOD(EnumConnections) (THIS_
LPCGUID,LPDPENUMCONNECTIONSCALLBACK,
LPVOID,
DWORD) PURE;
667 STDMETHOD(EnumGroupsInGroup) (THIS_
DPID,LPGUID,LPDPENUMPLAYERSCALLBACK2,
LPVOID,
DWORD) PURE;
668 STDMETHOD(GetGroupConnectionSettings)(THIS_
DWORD,
DPID,
LPVOID, LPDWORD) PURE;
669 STDMETHOD(InitializeConnection) (THIS_
LPVOID,
DWORD) PURE;
673 STDMETHOD(StartSession) (THIS_
DWORD,
DPID);
674 STDMETHOD(GetGroupFlags) (THIS_
DPID,LPDWORD);
675 STDMETHOD(GetGroupParent) (THIS_
DPID,
LPDPID);
677 STDMETHOD(GetPlayerFlags) (THIS_
DPID,LPDWORD);
686#if !defined(__cplusplus) || defined(CINTERFACE)
688#define IDirectPlay3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
689#define IDirectPlay3_AddRef(p) (p)->lpVtbl->AddRef(p)
690#define IDirectPlay3_Release(p) (p)->lpVtbl->Release(p)
691#define IDirectPlay3_AddPlayerToGroup(p,a,b) (p)->lpVtbl->AddPlayerToGroup(p,a,b)
692#define IDirectPlay3_Close(p) (p)->lpVtbl->Close(p)
693#define IDirectPlay3_CreateGroup(p,a,b,c,d,e) (p)->lpVtbl->CreateGroup(p,a,b,c,d,e)
694#define IDirectPlay3_CreatePlayer(p,a,b,c,d,e,f) (p)->lpVtbl->CreatePlayer(p,a,b,c,d,e,f)
695#define IDirectPlay3_DeletePlayerFromGroup(p,a,b) (p)->lpVtbl->DeletePlayerFromGroup(p,a,b)
696#define IDirectPlay3_DestroyGroup(p,a) (p)->lpVtbl->DestroyGroup(p,a)
697#define IDirectPlay3_DestroyPlayer(p,a) (p)->lpVtbl->DestroyPlayer(p,a)
698#define IDirectPlay3_EnumGroupPlayers(p,a,b,c,d,e) (p)->lpVtbl->EnumGroupPlayers(p,a,b,c,d,e)
699#define IDirectPlay3_EnumGroups(p,a,b,c,d) (p)->lpVtbl->EnumGroups(p,a,b,c,d)
700#define IDirectPlay3_EnumPlayers(p,a,b,c,d) (p)->lpVtbl->EnumPlayers(p,a,b,c,d)
701#define IDirectPlay3_EnumSessions(p,a,b,c,d,e) (p)->lpVtbl->EnumSessions(p,a,b,c,d,e)
702#define IDirectPlay3_GetCaps(p,a,b) (p)->lpVtbl->GetCaps(p,a,b)
703#define IDirectPlay3_GetMessageCount(p,a,b) (p)->lpVtbl->GetMessageCount(p,a,b)
704#define IDirectPlay3_GetGroupData(p,a,b,c,d) (p)->lpVtbl->GetGroupData(p,a,b,c,d)
705#define IDirectPlay3_GetGroupName(p,a,b,c) (p)->lpVtbl->GetGroupName(p,a,b,c)
706#define IDirectPlay3_GetPlayerAddress(p,a,b,c) (p)->lpVtbl->GetPlayerAddress(p,a,b,c)
707#define IDirectPlay3_GetPlayerCaps(p,a,b,c) (p)->lpVtbl->GetPlayerCaps(p,a,b,c)
708#define IDirectPlay3_GetPlayerData(p,a,b,c,d) (p)->lpVtbl->GetPlayerData(p,a,b,c,d)
709#define IDirectPlay3_GetPlayerName(p,a,b,c) (p)->lpVtbl->GetPlayerName(p,a,b,c)
710#define IDirectPlay3_GetSessionDesc(p,a,b) (p)->lpVtbl->GetSessionDesc(p,a,b)
711#define IDirectPlay3_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
712#define IDirectPlay3_Open(p,a,b) (p)->lpVtbl->Open(p,a,b)
713#define IDirectPlay3_Receive(p,a,b,c,d,e) (p)->lpVtbl->Receive(p,a,b,c,d,e)
714#define IDirectPlay3_Send(p,a,b,c,d,e) (p)->lpVtbl->Send(p,a,b,c,d,e)
715#define IDirectPlay3_SetGroupData(p,a,b,c,d) (p)->lpVtbl->SetGroupData(p,a,b,c,d)
716#define IDirectPlay3_SetGroupName(p,a,b,c) (p)->lpVtbl->SetGroupName(p,a,b,c)
717#define IDirectPlay3_SetPlayerData(p,a,b,c,d) (p)->lpVtbl->SetPlayerData(p,a,b,c,d)
718#define IDirectPlay3_SetPlayerName(p,a,b,c) (p)->lpVtbl->SetPlayerName(p,a,b,c)
719#define IDirectPlay3_SetSessionDesc(p,a,b) (p)->lpVtbl->SetSessionDesc(p,a,b)
720#define IDirectPlay3_AddGroupToGroup(p,a,b) (p)->lpVtbl->AddGroupToGroup(p,a,b)
721#define IDirectPlay3_CreateGroupInGroup(p,a,b,c,d,e,f) (p)->lpVtbl->CreateGroupInGroup(p,a,b,c,d,e,f)
722#define IDirectPlay3_DeleteGroupFromGroup(p,a,b) (p)->lpVtbl->DeleteGroupFromGroup(p,a,b)
723#define IDirectPlay3_EnumConnections(p,a,b,c,d) (p)->lpVtbl->EnumConnections(p,a,b,c,d)
724#define IDirectPlay3_EnumGroupsInGroup(p,a,b,c,d,e) (p)->lpVtbl->EnumGroupsInGroup(p,a,b,c,d,e)
725#define IDirectPlay3_GetGroupConnectionSettings(p,a,b,c,d) (p)->lpVtbl->GetGroupConnectionSettings(p,a,b,c,d)
726#define IDirectPlay3_InitializeConnection(p,a,b) (p)->lpVtbl->InitializeConnection(p,a,b)
727#define IDirectPlay3_SecureOpen(p,a,b,c,d) (p)->lpVtbl->SecureOpen(p,a,b,c,d)
728#define IDirectPlay3_SendChatMessage(p,a,b,c,d) (p)->lpVtbl->SendChatMessage(p,a,b,c,d)
729#define IDirectPlay3_SetGroupConnectionSettings(p,a,b,c) (p)->lpVtbl->SetGroupConnectionSettings(p,a,b,c)
730#define IDirectPlay3_StartSession(p,a,b) (p)->lpVtbl->StartSession(p,a,b)
731#define IDirectPlay3_GetGroupFlags(p,a,b) (p)->lpVtbl->GetGroupFlags(p,a,b)
732#define IDirectPlay3_GetGroupParent(p,a,b) (p)->lpVtbl->GetGroupParent(p,a,b)
733#define IDirectPlay3_GetPlayerAccount(p,a,b,c,d) (p)->lpVtbl->GetPlayerAccount(p,a,b,c,d)
734#define IDirectPlay3_GetPlayerFlags(p,a,b) (p)->lpVtbl->GetPlayerFlags(p,a,b)
738#define IDirectPlay3_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
739#define IDirectPlay3_AddRef(p) (p)->AddRef()
740#define IDirectPlay3_Release(p) (p)->Release()
741#define IDirectPlay3_AddPlayerToGroup(p,a,b) (p)->AddPlayerToGroup(a,b)
742#define IDirectPlay3_Close(p) (p)->Close()
743#define IDirectPlay3_CreateGroup(p,a,b,c,d,e) (p)->CreateGroup(a,b,c,d,e)
744#define IDirectPlay3_CreatePlayer(p,a,b,c,d,e,f) (p)->CreatePlayer(a,b,c,d,e,f)
745#define IDirectPlay3_DeletePlayerFromGroup(p,a,b) (p)->DeletePlayerFromGroup(a,b)
746#define IDirectPlay3_DestroyGroup(p,a) (p)->DestroyGroup(a)
747#define IDirectPlay3_DestroyPlayer(p,a) (p)->DestroyPlayer(a)
748#define IDirectPlay3_EnumGroupPlayers(p,a,b,c,d,e) (p)->EnumGroupPlayers(a,b,c,d,e)
749#define IDirectPlay3_EnumGroups(p,a,b,c,d) (p)->EnumGroups(a,b,c,d)
750#define IDirectPlay3_EnumPlayers(p,a,b,c,d) (p)->EnumPlayers(a,b,c,d)
751#define IDirectPlay3_EnumSessions(p,a,b,c,d,e) (p)->EnumSessions(a,b,c,d,e)
752#define IDirectPlay3_GetCaps(p,a,b) (p)->GetCaps(a,b)
753#define IDirectPlay3_GetMessageCount(p,a,b) (p)->GetMessageCount(a,b)
754#define IDirectPlay3_GetGroupData(p,a,b,c,d) (p)->GetGroupData(a,b,c,d)
755#define IDirectPlay3_GetGroupName(p,a,b,c) (p)->GetGroupName(a,b,c)
756#define IDirectPlay3_GetPlayerAddress(p,a,b,c) (p)->GetPlayerAddress(a,b,c)
757#define IDirectPlay3_GetPlayerCaps(p,a,b,c) (p)->GetPlayerCaps(a,b,c)
758#define IDirectPlay3_GetPlayerData(p,a,b,c,d) (p)->GetPlayerData(a,b,c,d)
759#define IDirectPlay3_GetPlayerName(p,a,b,c) (p)->GetPlayerName(a,b,c)
760#define IDirectPlay3_GetSessionDesc(p,a,b) (p)->GetSessionDesc(a,b)
761#define IDirectPlay3_Initialize(p,a) (p)->Initialize(a)
762#define IDirectPlay3_Open(p,a,b) (p)->Open(a,b)
763#define IDirectPlay3_Receive(p,a,b,c,d,e) (p)->Receive(a,b,c,d,e)
764#define IDirectPlay3_Send(p,a,b,c,d,e) (p)->Send(a,b,c,d,e)
765#define IDirectPlay3_SetGroupData(p,a,b,c,d) (p)->SetGroupData(a,b,c,d)
766#define IDirectPlay3_SetGroupName(p,a,b,c) (p)->SetGroupName(a,b,c)
767#define IDirectPlay3_SetPlayerData(p,a,b,c,d) (p)->SetPlayerData(a,b,c,d)
768#define IDirectPlay3_SetPlayerName(p,a,b,c) (p)->SetPlayerName(a,b,c)
769#define IDirectPlay3_SetSessionDesc(p,a,b) (p)->SetSessionDesc(a,b)
770#define IDirectPlay3_AddGroupToGroup(p,a,b) (p)->AddGroupToGroup(a,b)
771#define IDirectPlay3_CreateGroupInGroup(p,a,b,c,d,e,f) (p)->CreateGroupInGroup(a,b,c,d,e,f)
772#define IDirectPlay3_DeleteGroupFromGroup(p,a,b) (p)->DeleteGroupFromGroup(a,b)
773#define IDirectPlay3_EnumConnections(p,a,b,c,d) (p)->EnumConnections(a,b,c,d)
774#define IDirectPlay3_EnumGroupsInGroup(p,a,b,c,d,e) (p)->EnumGroupsInGroup(a,b,c,d,e)
775#define IDirectPlay3_GetGroupConnectionSettings(p,a,b,c,d) (p)->GetGroupConnectionSettings(a,b,c,d)
776#define IDirectPlay3_InitializeConnection(p,a,b) (p)->InitializeConnection(a,b)
777#define IDirectPlay3_SecureOpen(p,a,b,c,d) (p)->SecureOpen(a,b,c,d)
778#define IDirectPlay3_SendChatMessage(p,a,b,c,d) (p)->SendChatMessage(a,b,c,d)
779#define IDirectPlay3_SetGroupConnectionSettings(p,a,b,c) (p)->SetGroupConnectionSettings(a,b,c)
780#define IDirectPlay3_StartSession(p,a,b) (p)->StartSession(a,b)
781#define IDirectPlay3_GetGroupFlags(p,a,b) (p)->GetGroupFlags(a,b)
782#define IDirectPlay3_GetGroupParent(p,a,b) (p)->GetGroupParent(a,b)
783#define IDirectPlay3_GetPlayerAccount(p,a,b,c,d) (p)->GetPlayerAccount(a,b,c,d)
784#define IDirectPlay3_GetPlayerFlags(p,a,b) (p)->GetPlayerFlags(a,b)
797#define DPCONNECTION_DIRECTPLAY 0x00000001
802#define DPCONNECTION_DIRECTPLAYLOBBY 0x00000002
814#define DPENUMPLAYERS_ALL 0x00000000
815#define DPENUMGROUPS_ALL DPENUMPLAYERS_ALL
822#define DPENUMPLAYERS_LOCAL 0x00000008
823#define DPENUMGROUPS_LOCAL DPENUMPLAYERS_LOCAL
829#define DPENUMPLAYERS_REMOTE 0x00000010
830#define DPENUMGROUPS_REMOTE DPENUMPLAYERS_REMOTE
835#define DPENUMPLAYERS_GROUP 0x00000020
841#define DPENUMPLAYERS_SESSION 0x00000080
842#define DPENUMGROUPS_SESSION DPENUMPLAYERS_SESSION
847#define DPENUMPLAYERS_SERVERPLAYER 0x00000100
852#define DPENUMPLAYERS_SPECTATOR 0x00000200
857#define DPENUMGROUPS_SHORTCUT 0x00000400
862#define DPENUMGROUPS_STAGINGAREA 0x00000800
874#define DPPLAYER_SERVERPLAYER DPENUMPLAYERS_SERVERPLAYER
880#define DPPLAYER_SPECTATOR DPENUMPLAYERS_SPECTATOR
886#define DPPLAYER_LOCAL DPENUMPLAYERS_LOCAL
899#define DPGROUP_STAGINGAREA DPENUMGROUPS_STAGINGAREA
905#define DPGROUP_LOCAL DPENUMGROUPS_LOCAL
916#define DPENUMSESSIONS_AVAILABLE 0x00000001
921#define DPENUMSESSIONS_ALL 0x00000002
929 #define DPENUMSESSIONS_ASYNC 0x00000010
934 #define DPENUMSESSIONS_STOPASYNC 0x00000020
939 #define DPENUMSESSIONS_PASSWORDREQUIRED 0x00000040
945 #define DPENUMSESSIONS_RETURNSTATUS 0x00000080
957#define DPGETCAPS_GUARANTEED 0x00000001
972#define DPGET_REMOTE 0x00000000
978#define DPGET_LOCAL 0x00000001
990#define DPOPEN_JOIN 0x00000001
995#define DPOPEN_CREATE 0x00000002
1001 #define DPOPEN_RETURNSTATUS DPENUMSESSIONS_RETURNSTATUS
1013#define DPLCONNECTION_CREATESESSION DPOPEN_CREATE
1019#define DPLCONNECTION_JOINSESSION DPOPEN_JOIN
1031#define DPRECEIVE_ALL 0x00000001
1036#define DPRECEIVE_TOPLAYER 0x00000002
1041#define DPRECEIVE_FROMPLAYER 0x00000004
1046#define DPRECEIVE_PEEK 0x00000008
1059#define DPSEND_GUARANTEED 0x00000001
1065#define DPSEND_HIGHPRIORITY 0x00000002
1070#define DPSEND_OPENSTREAM 0x00000008
1075#define DPSEND_CLOSESTREAM 0x00000010
1080#define DPSEND_SIGNED 0x00000020
1085#define DPSEND_ENCRYPTED 0x00000040
1099#define DPSET_REMOTE 0x00000000
1104#define DPSET_LOCAL 0x00000001
1110#define DPSET_GUARANTEED 0x00000002
1130#define DPSYS_CREATEPLAYERORGROUP 0x0003
1136#define DPSYS_DESTROYPLAYERORGROUP 0x0005
1142#define DPSYS_ADDPLAYERTOGROUP 0x0007
1148#define DPSYS_DELETEPLAYERFROMGROUP 0x0021
1155#define DPSYS_SESSIONLOST 0x0031
1162#define DPSYS_HOST 0x0101
1170#define DPSYS_SETPLAYERORGROUPDATA 0x0102
1178#define DPSYS_SETPLAYERORGROUPNAME 0x0103
1184#define DPSYS_SETSESSIONDESC 0x0104
1190#define DPSYS_ADDGROUPTOGROUP 0x0105
1196#define DPSYS_DELETEGROUPFROMGROUP 0x0106
1202#define DPSYS_SECUREMESSAGE 0x0107
1208#define DPSYS_STARTSESSION 0x0108
1214#define DPSYS_CHAT 0x0109
1220#define DPPLAYERTYPE_GROUP 0x00000000
1221#define DPPLAYERTYPE_PLAYER 0x00000001
1399#define DPERR_ALREADYINITIALIZED MAKE_DPHRESULT( 5 )
1400#define DPERR_ACCESSDENIED MAKE_DPHRESULT( 10 )
1401#define DPERR_ACTIVEPLAYERS MAKE_DPHRESULT( 20 )
1402#define DPERR_BUFFERTOOSMALL MAKE_DPHRESULT( 30 )
1403#define DPERR_CANTADDPLAYER MAKE_DPHRESULT( 40 )
1404#define DPERR_CANTCREATEGROUP MAKE_DPHRESULT( 50 )
1405#define DPERR_CANTCREATEPLAYER MAKE_DPHRESULT( 60 )
1406#define DPERR_CANTCREATESESSION MAKE_DPHRESULT( 70 )
1407#define DPERR_CAPSNOTAVAILABLEYET MAKE_DPHRESULT( 80 )
1408#define DPERR_EXCEPTION MAKE_DPHRESULT( 90 )
1409#define DPERR_GENERIC E_FAIL
1410#define DPERR_INVALIDFLAGS MAKE_DPHRESULT( 120 )
1411#define DPERR_INVALIDOBJECT MAKE_DPHRESULT( 130 )
1412#define DPERR_INVALIDPARAM E_INVALIDARG
1413#define DPERR_INVALIDPARAMS DPERR_INVALIDPARAM
1414#define DPERR_INVALIDPLAYER MAKE_DPHRESULT( 150 )
1415#define DPERR_INVALIDGROUP MAKE_DPHRESULT( 155 )
1416#define DPERR_NOCAPS MAKE_DPHRESULT( 160 )
1417#define DPERR_NOCONNECTION MAKE_DPHRESULT( 170 )
1418#define DPERR_NOMEMORY E_OUTOFMEMORY
1419#define DPERR_OUTOFMEMORY DPERR_NOMEMORY
1420#define DPERR_NOMESSAGES MAKE_DPHRESULT( 190 )
1421#define DPERR_NONAMESERVERFOUND MAKE_DPHRESULT( 200 )
1422#define DPERR_NOPLAYERS MAKE_DPHRESULT( 210 )
1423#define DPERR_NOSESSIONS MAKE_DPHRESULT( 220 )
1424#define DPERR_PENDING E_PENDING
1425#define DPERR_SENDTOOBIG MAKE_DPHRESULT( 230 )
1426#define DPERR_TIMEOUT MAKE_DPHRESULT( 240 )
1427#define DPERR_UNAVAILABLE MAKE_DPHRESULT( 250 )
1428#define DPERR_UNSUPPORTED E_NOTIMPL
1429#define DPERR_BUSY MAKE_DPHRESULT( 270 )
1430#define DPERR_USERCANCEL MAKE_DPHRESULT( 280 )
1431#define DPERR_NOINTERFACE E_NOINTERFACE
1432#define DPERR_CANNOTCREATESERVER MAKE_DPHRESULT( 290 )
1433#define DPERR_PLAYERLOST MAKE_DPHRESULT( 300 )
1434#define DPERR_SESSIONLOST MAKE_DPHRESULT( 310 )
1435#define DPERR_UNINITIALIZED MAKE_DPHRESULT( 320 )
1436#define DPERR_NONEWPLAYERS MAKE_DPHRESULT( 330 )
1437#define DPERR_INVALIDPASSWORD MAKE_DPHRESULT( 340 )
1438#define DPERR_CONNECTING MAKE_DPHRESULT( 350 )
1441#define DPERR_BUFFERTOOLARGE MAKE_DPHRESULT( 1000 )
1442#define DPERR_CANTCREATEPROCESS MAKE_DPHRESULT( 1010 )
1443#define DPERR_APPNOTSTARTED MAKE_DPHRESULT( 1020 )
1444#define DPERR_INVALIDINTERFACE MAKE_DPHRESULT( 1030 )
1445#define DPERR_NOSERVICEPROVIDER MAKE_DPHRESULT( 1040 )
1446#define DPERR_UNKNOWNAPPLICATION MAKE_DPHRESULT( 1050 )
1447#define DPERR_NOTLOBBIED MAKE_DPHRESULT( 1070 )
1448#define DPERR_SERVICEPROVIDERLOADED MAKE_DPHRESULT( 1080 )
1449#define DPERR_ALREADYREGISTERED MAKE_DPHRESULT( 1090 )
1450#define DPERR_NOTREGISTERED MAKE_DPHRESULT( 1100 )
1455#define DPERR_AUTHENTICATIONFAILED MAKE_DPHRESULT( 2000 )
1456#define DPERR_CANTLOADSSPI MAKE_DPHRESULT( 2010 )
1457#define DPERR_ENCRYPTIONFAILED MAKE_DPHRESULT( 2020 )
1458#define DPERR_SIGNFAILED MAKE_DPHRESULT( 2030 )
1459#define DPERR_CANTLOADSECURITYPACKAGE MAKE_DPHRESULT( 2040 )
1460#define DPERR_ENCRYPTIONNOTSUPPORTED MAKE_DPHRESULT( 2050 )
1461#define DPERR_CANTLOADCAPI MAKE_DPHRESULT( 2060 )
1462#define DPERR_NOTLOGGEDIN MAKE_DPHRESULT( 2070 )
1463#define DPERR_LOGONDENIED MAKE_DPHRESULT( 2080 )
1475#ifndef IDIRECTPLAY2_OR_GREATER
1477#define DPOPEN_OPENSESSION DPOPEN_JOIN
1478#define DPOPEN_CREATESESSION DPOPEN_CREATE
1480#define DPENUMSESSIONS_PREVIOUS 0x00000004
1482#define DPENUMPLAYERS_PREVIOUS 0x00000004
1484#define DPSEND_GUARANTEE DPSEND_GUARANTEED
1485#define DPSEND_TRYONCE 0x00000004
1487#define DPCAPS_NAMESERVICE 0x00000001
1488#define DPCAPS_NAMESERVER DPCAPS_ISHOST
1489#define DPCAPS_GUARANTEED 0x00000004
1491#define DPLONGNAMELEN 52
1492#define DPSHORTNAMELEN 20
1493#define DPSESSIONNAMELEN 32
1494#define DPPASSWORDLEN 16
1495#define DPUSERRESERVED 16
1497#define DPSYS_ADDPLAYER 0x0003
1498#define DPSYS_DELETEPLAYER 0x0005
1500#define DPSYS_DELETEGROUP 0x0020
1501#define DPSYS_DELETEPLAYERFROMGRP 0x0021
1502#define DPSYS_CONNECT 0x484b
1532 LPSTR lpFriendlyName,
1566#define INTERFACE IDirectPlay
1570 STDMETHOD(QueryInterface) (THIS_ REFIID riid,
LPVOID * ppvObj) PURE;
1571 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
1572 STDMETHOD_(ULONG,Release) (THIS) PURE;
1574 STDMETHOD(AddPlayerToGroup) (THIS_
DPID,
DPID) PURE;
1575 STDMETHOD(Close) (THIS) PURE;
1576 STDMETHOD(CreatePlayer) (THIS_
LPDPID,LPSTR,LPSTR,LPHANDLE) PURE;
1577 STDMETHOD(CreateGroup) (THIS_
LPDPID,LPSTR,LPSTR) PURE;
1578 STDMETHOD(DeletePlayerFromGroup)(THIS_
DPID,
DPID) PURE;
1579 STDMETHOD(DestroyPlayer) (THIS_
DPID) PURE;
1580 STDMETHOD(DestroyGroup) (THIS_
DPID) PURE;
1581 STDMETHOD(EnableNewPlayers) (THIS_
BOOL) PURE;
1586 STDMETHOD(GetCaps) (THIS_
LPDPCAPS) PURE;
1587 STDMETHOD(GetMessageCount) (THIS_
DPID, LPDWORD) PURE;
1589 STDMETHOD(GetPlayerName) (THIS_
DPID,LPSTR,LPDWORD,LPSTR,LPDWORD) PURE;
1590 STDMETHOD(Initialize) (THIS_ LPGUID) PURE;
1593 STDMETHOD(SaveSession) (THIS_ LPSTR) PURE;
1595 STDMETHOD(SetPlayerName) (THIS_
DPID,LPSTR,LPSTR) PURE;
1604#if !defined(__cplusplus) || defined(CINTERFACE)
1606#define IDirectPlay_AddPlayerToGroup(p,a,b) (p)->lpVtbl->AddPlayerToGroup(p,a,b)
1607#define IDirectPlay_Close(p) (p)->lpVtbl->Close(p)
1608#define IDirectPlay_CreateGroup(p,a,b,c) (p)->lpVtbl->CreateGroup(p,a,b,c)
1609#define IDirectPlay_CreatePlayer(p,a,b,c,d) (p)->lpVtbl->CreatePlayer(p,a,b,c,d)
1610#define IDirectPlay_DeletePlayerFromGroup(p,a,b) (p)->lpVtbl->DeletePlayerFromGroup(p,a,b)
1611#define IDirectPlay_DestroyGroup(p,a) (p)->lpVtbl->DestroyGroup(p,a)
1612#define IDirectPlay_DestroyPlayer(p,a) (p)->lpVtbl->DestroyPlayer(p,a)
1613#define IDirectPlay_EnableNewPlayers(p,a) (p)->lpVtbl->EnableNewPlayers(p,a)
1614#define IDirectPlay_EnumGroupPlayers(p,a,b,c,d) (p)->lpVtbl->EnumGroupPlayers(p,a,b,c,d)
1615#define IDirectPlay_EnumGroups(p,a,b,c,d) (p)->lpVtbl->EnumGroups(p,a,b,c,d)
1616#define IDirectPlay_EnumPlayers(p,a,b,c,d) (p)->lpVtbl->EnumPlayers(p,a,b,c,d)
1617#define IDirectPlay_EnumSessions(p,a,b,c,d,e) (p)->lpVtbl->EnumSessions(p,a,b,c,d,e)
1618#define IDirectPlay_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
1619#define IDirectPlay_GetMessageCount(p,a,b) (p)->lpVtbl->GetMessageCount(p,a,b)
1620#define IDirectPlay_GetPlayerCaps(p,a,b) (p)->lpVtbl->GetPlayerCaps(p,a,b)
1621#define IDirectPlay_GetPlayerName(p,a,b,c,d,e) (p)->lpVtbl->GetPlayerName(p,a,b,c,d,e)
1622#define IDirectPlay_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
1623#define IDirectPlay_Open(p,a) (p)->lpVtbl->Open(p,a)
1624#define IDirectPlay_Receive(p,a,b,c,d,e) (p)->lpVtbl->Receive(p,a,b,c,d,e)
1625#define IDirectPlay_SaveSession(p,a) (p)->lpVtbl->SaveSession(p,a)
1626#define IDirectPlay_Send(p,a,b,c,d,e) (p)->lpVtbl->Send(p,a,b,c,d,e)
1627#define IDirectPlay_SetPlayerName(p,a,b,c) (p)->lpVtbl->SetPlayerName(p,a,b,c)
1631#define IDirectPlay_AddPlayerToGroup(p,a,b) (p)->AddPlayerToGroup(a,b)
1632#define IDirectPlay_Close(p) (p)->Close()
1633#define IDirectPlay_CreateGroup(p,a,b,c) (p)->CreateGroup(a,b,c)
1634#define IDirectPlay_CreatePlayer(p,a,b,c,d) (p)->CreatePlayer(a,b,c,d)
1635#define IDirectPlay_DeletePlayerFromGroup(p,a,b) (p)->DeletePlayerFromGroup(a,b)
1636#define IDirectPlay_DestroyGroup(p,a) (p)->DestroyGroup(a)
1637#define IDirectPlay_DestroyPlayer(p,a) (p)->DestroyPlayer(a)
1638#define IDirectPlay_EnableNewPlayers(p,a) (p)->EnableNewPlayers(a)
1639#define IDirectPlay_EnumGroupPlayers(p,a,b,c,d) (p)->EnumGroupPlayers(a,b,c,d)
1640#define IDirectPlay_EnumGroups(p,a,b,c,d) (p)->EnumGroups(a,b,c,d)
1641#define IDirectPlay_EnumPlayers(p,a,b,c,d) (p)->EnumPlayers(a,b,c,d)
1642#define IDirectPlay_EnumSessions(p,a,b,c,d,e) (p)->EnumSessions(a,b,c,d,e)
1643#define IDirectPlay_GetCaps(p,a) (p)->GetCaps(a)
1644#define IDirectPlay_GetMessageCount(p,a,b) (p)->GetMessageCount(a,b)
1645#define IDirectPlay_GetPlayerCaps(p,a,b) (p)->GetPlayerCaps(a,b)
1646#define IDirectPlay_GetPlayerName(p,a,b,c,d,e) (p)->GetPlayerName(a,b,c,d,e)
1647#define IDirectPlay_Initialize(p,a) (p)->Initialize(a)
1648#define IDirectPlay_Open(p,a) (p)->Open(a)
1649#define IDirectPlay_Receive(p,a,b,c,d,e) (p)->Receive(a,b,c,d,e)
1650#define IDirectPlay_SaveSession(p,a) (p)->SaveSession(a)
1651#define IDirectPlay_Send(p,a,b,c,d,e) (p)->Send(a,b,c,d,e)
1652#define IDirectPlay_SetPlayerName(p,a,b,c) (p)->SetPlayerName(a,b,c)
1656DEFINE_GUID(IID_IDirectPlay, 0x5454e9a0, 0xdb65, 0x11ce, 0x92, 0x1c, 0x00, 0xaa, 0x00, 0x6c, 0x49, 0x72);
1666#if !defined(__cplusplus) || defined(CINTERFACE)
1668#define IDirectPlay_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1669#define IDirectPlay_AddRef(p) (p)->lpVtbl->AddRef(p)
1670#define IDirectPlay_Release(p) (p)->lpVtbl->Release(p)
1674#define IDirectPlay_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
1675#define IDirectPlay_AddRef(p) (p)->AddRef()
1676#define IDirectPlay_Release(p) (p)->Release()
LPSTR LPSTR LPVOID
Definition: d3dcaps.h:213
#define IUnknown
Definition: ddraw.h:28
typedef DWORD(FAR PASCAL *LPCLIPPERCALLBACK)(LPDIRECTDRAWCLIPPER lpDDClipper
long HRESULT
Definition: ddraw.h:115
const GUID FAR * LPCGUID
Definition: dplay.h:369
#define DPSESSIONNAMELEN
Definition: dplay.h:1493
struct DPMSG_SECUREMESSAGE * LPDPMSG_SECUREMESSAGE
LPDWORD DWORD dwFlags
Definition: dplay.h:417
typedef BOOL(FAR PASCAL *LPDPENUMSESSIONSCALLBACK2)(LPCDPSESSIONDESC2 lpThisSD
const DPACCOUNTDESC FAR * LPCDPACCOUNTDESC
Definition: dplay.h:364
DPMSG_GENERIC DPMSG_SESSIONLOST
Definition: dplay.h:1353
struct DPMSG_CREATEPLAYERORGROUP * LPDPMSG_CREATEPLAYERORGROUP
struct DPSECURITYDESC * LPDPSECURITYDESC
struct IDirectPlay3 FAR * LPDIRECTPLAY3
Definition: dplay.h:77
struct DPMSG_ADDPLAYERTOGROUP * LPDPMSG_ADDPLAYERTOGROUP
HRESULT WINAPI DirectPlayCreate(LPGUID lpGUID, LPDIRECTPLAY *lplpDP, IUnknown *pUnk)
HRESULT WINAPI DirectPlayEnumerateW(LPDPENUMDPCALLBACK, LPVOID)
struct DPSESSIONDESC * LPDPSESSIONDESC
struct DPCREDENTIALS * LPDPCREDENTIALS
struct DPACCOUNTDESC * LPDPACCOUNTDESC
DEFINE_GUID(IID_IDirectPlay2, 0x2b74f7c0, 0x9154, 0x11cf, 0xa9, 0xcd, 0x0, 0xaa, 0x0, 0x68, 0x86, 0xe3)
LPDWORD DWORD LPVOID lpContext
Definition: dplay.h:418
struct DPMSG_CHAT * LPDPMSG_CHAT
const DPSESSIONDESC2 FAR * LPCDPSESSIONDESC2
Definition: dplay.h:204
struct DPMSG_SETSESSIONDESC * LPDPMSG_SETSESSIONDESC
DPMSG_ADDPLAYER DPMSG_ADDGROUP
Definition: dplay.h:1514
struct DPMSG_ADDGROUPTOGROUP * LPDPMSG_ADDGROUPTOGROUP
LPDWORD lpdwTimeOut
Definition: dplay.h:416
DWORD dwPlayerType
Definition: dplay.h:438
HRESULT WINAPI DirectPlayEnumerateA(LPDPENUMDPCALLBACKA, LPVOID)
struct DPMSG_STARTSESSION * LPDPMSG_STARTSESSION
struct IDirectPlay FAR * LPDIRECTPLAY
Definition: dplay.h:68
DPMSG_SESSIONLOST FAR * LPDPMSG_SESSIONLOST
Definition: dplay.h:1354
const DPLCONNECTION FAR * LPCDPLCONNECTION
Definition: dplay.h:389
DPMSG_GENERIC DPMSG_HOST
Definition: dplay.h:1346
DPMSG_DELETEPLAYERFROMGROUP FAR * LPDPMSG_DELETEPLAYERFROMGROUP
Definition: dplay.h:1287
LPVOID lpConnection
Definition: dplay.h:473
struct IDirectPlay2 FAR * LPDIRECTPLAY2
Definition: dplay.h:73
struct DPLCONNECTION * LPDPLCONNECTION
const DPSECURITYDESC FAR * LPCDPSECURITYDESC
Definition: dplay.h:348
struct DPMSG_GENERIC * LPDPMSG_GENERIC
struct IDirectPlay3 FAR * LPDIRECTPLAY3A
Definition: dplay.h:78
struct DPSESSIONDESC2 * LPDPSESSIONDESC2
DPMSG_HOST FAR * LPDPMSG_HOST
Definition: dplay.h:1347
#define DPLONGNAMELEN
Definition: dplay.h:1491
DWORD LPCDPNAME lpName
Definition: dplay.h:439
LPWSTR DWORD dwMajorVersion
Definition: dplay.h:452
BOOL(PASCAL * LPDPENUMPLAYERSCALLBACK)(DPID dpId, LPSTR lpFriendlyName, LPSTR lpFormalName, DWORD dwFlags, LPVOID lpContext)
Definition: dplay.h:1530
DWORD DPID
Definition: dplay.h:85
struct DPMSG_SETPLAYERORGROUPNAME * LPDPMSG_SETPLAYERORGROUPNAME
const DPCREDENTIALS FAR * LPCDPCREDENTIALS
Definition: dplay.h:324
DPMSG_ADDGROUPTOGROUP DPMSG_DELETEGROUPFROMGROUP
Definition: dplay.h:1304
struct IDirectPlay3 IDirectPlay3A
Definition: dplay.h:79
#define DPUSERRESERVED
Definition: dplay.h:1495
struct DPMSG_DESTROYPLAYERORGROUP * LPDPMSG_DESTROYPLAYERORGROUP
BOOL(PASCAL * LPDPENUMSESSIONSCALLBACK)(LPDPSESSIONDESC lpDPSessionDesc, LPVOID lpContext, LPDWORD lpdwTimeOut, DWORD dwFlags)
Definition: dplay.h:1556
#define DPPASSWORDLEN
Definition: dplay.h:1494
LPWSTR DWORD DWORD dwMinorVersion
Definition: dplay.h:453
LPWSTR lpSPName
Definition: dplay.h:451
struct DPMSG_SETPLAYERORGROUPDATA * LPDPMSG_SETPLAYERORGROUPDATA
struct IDirectPlay2 IDirectPlay2A
Definition: dplay.h:75
DPMSG_GROUPADD DPMSG_GROUPDELETE
Definition: dplay.h:1523
DECLARE_INTERFACE_(IDirectPlay2, IUnknown)
Definition: dplay.h:502
DPMSG_ADDPLAYERTOGROUP DPMSG_DELETEPLAYERFROMGROUP
Definition: dplay.h:1286
DPMSG_DELETEGROUPFROMGROUP FAR * LPDPMSG_DELETEGROUPFROMGROUP
Definition: dplay.h:1305
const DPNAME FAR * LPCDPNAME
Definition: dplay.h:298
struct IDirectPlay2 FAR * LPDIRECTPLAY2A
Definition: dplay.h:74
DWORD FAR * LPDPID
Definition: dplay.h:85
LPVOID DWORD dwConnectionSize
Definition: dplay.h:474
#define DPSHORTNAMELEN
Definition: dplay.h:1492
LPSTR lpszAccountIDA
Account identifier (ANSI)
Definition: dplay.h:360
DWORD dwSize
Size of structure.
Definition: dplay.h:355
LPWSTR lpszAccountID
Account identifier (Unicode)
Definition: dplay.h:359
DWORD dwFlags
Not used. Must be zero.
Definition: dplay.h:356
DWORD dwHeaderLength
Definition: dplay.h:121
DWORD dwMaxPlayers
Maximum players/groups (local + remote)
Definition: dplay.h:116
DWORD dwSize
Size of structure, in bytes.
Definition: dplay.h:112
DWORD dwMaxBufferSize
Maximum message size, in bytes, for this service provider.
Definition: dplay.h:114
DWORD dwMaxQueueSize
Obsolete.
Definition: dplay.h:115
DWORD dwTimeout
Definition: dplay.h:123
DWORD dwHundredBaud
Definition: dplay.h:117
DWORD dwMaxLocalPlayers
Maximum # of locally created players allowed.
Definition: dplay.h:120
DWORD dwLatency
Estimated latency; 0 = unknown.
Definition: dplay.h:119
DWORD dwFlags
DPCAPS_xxx flags.
Definition: dplay.h:113
LPSTR lpszMessageA
ANSI.
Definition: dplay.h:401
DWORD dwFlags
Definition: dplay.h:397
DWORD dwSize
Definition: dplay.h:396
LPWSTR lpszMessage
< Message string
Definition: dplay.h:400
LPWSTR lpszDomain
< Domain name of the account
Definition: dplay.h:319
DWORD dwSize
Size of structure.
Definition: dplay.h:305
LPWSTR lpszPassword
< Password of the account
Definition: dplay.h:314
LPSTR lpszUsernameA
ANSI.
Definition: dplay.h:310
DWORD dwFlags
Not used. Must be zero.
Definition: dplay.h:306
LPSTR lpszDomainA
ANSI.
Definition: dplay.h:320
LPSTR lpszPasswordA
ANSI.
Definition: dplay.h:315
LPWSTR lpszUsername
< User name of the account
Definition: dplay.h:309
GUID guidSP
GUID of the DPlay SP to use.
Definition: dplay.h:381
DWORD dwFlags
Flags specific to this structure.
Definition: dplay.h:378
DWORD dwSize
Size of this structure.
Definition: dplay.h:377
LPDPNAME lpPlayerName
Pointer to Player name structure.
Definition: dplay.h:380
DWORD dwAddressSize
Size of address data.
Definition: dplay.h:383
LPVOID lpAddress
Address for service provider.
Definition: dplay.h:382
LPDPSESSIONDESC2 lpSessionDesc
Pointer to session desc to use on connect.
Definition: dplay.h:379
DWORD dwType
Message type.
Definition: dplay.h:1295
DPID dpIdParentGroup
group ID being added to
Definition: dplay.h:1296
DPID dpIdGroup
group ID being added
Definition: dplay.h:1297
DPID dpIdPlayer
player ID being added
Definition: dplay.h:1279
DPID dpIdGroup
group ID being added to
Definition: dplay.h:1278
DWORD dwType
Message type.
Definition: dplay.h:1277
DPID dpId
Definition: dplay.h:1508
DWORD dwPlayerType
Definition: dplay.h:1507
DWORD dwCurrentPlayers
Definition: dplay.h:1511
DWORD dwType
Definition: dplay.h:1506
DPID idToGroup
ID of the To Group.
Definition: dplay.h:1387
DWORD dwType
Message type.
Definition: dplay.h:1383
DWORD dwFlags
Message flags.
Definition: dplay.h:1384
LPDPCHAT lpChat
Pointer to a structure containing the chat message.
Definition: dplay.h:1388
DPID idFromPlayer
ID of the Sending Player.
Definition: dplay.h:1385
DPID idToPlayer
ID of the To Player.
Definition: dplay.h:1386
DWORD dwCurrentPlayers
current # players & groups in session
Definition: dplay.h:1241
DWORD dwType
Message type.
Definition: dplay.h:1238
DWORD dwDataSize
size of remote data
Definition: dplay.h:1243
DPID dpIdParent
id of parent group
Definition: dplay.h:1247
DPNAME dpnName
structure with name info
Definition: dplay.h:1244
DPID dpId
ID of the player or group.
Definition: dplay.h:1240
DWORD dwPlayerType
Is it a player or group.
Definition: dplay.h:1239
DWORD dwFlags
player or group flags
Definition: dplay.h:1248
LPVOID lpData
pointer to remote data
Definition: dplay.h:1242
DPID dpId
Definition: dplay.h:1527
DWORD dwType
Definition: dplay.h:1526
DWORD dwType
Message type.
Definition: dplay.h:1257
DPNAME dpnName
structure with name info
Definition: dplay.h:1266
DWORD dwLocalDataSize
sizeof local data
Definition: dplay.h:1261
LPVOID lpLocalData
copy of players local data
Definition: dplay.h:1260
DWORD dwRemoteDataSize
sizeof remote data
Definition: dplay.h:1263
DWORD dwFlags
player or group flags
Definition: dplay.h:1268
DPID dpIdParent
id of parent group
Definition: dplay.h:1267
LPVOID lpRemoteData
copy of players remote data
Definition: dplay.h:1262
DPID dpId
player ID being deleted
Definition: dplay.h:1259
DWORD dwPlayerType
Is it a player or group.
Definition: dplay.h:1258
DWORD dwType
Message type.
Definition: dplay.h:1229
DPID dpIdPlayer
Definition: dplay.h:1520
DWORD dwType
Definition: dplay.h:1518
DPID dpIdGroup
Definition: dplay.h:1519
DPID dpIdFrom
ID of Sending Player.
Definition: dplay.h:1363
DWORD dwFlags
Signed/Encrypted.
Definition: dplay.h:1362
DWORD dwType
Message Type.
Definition: dplay.h:1361
DWORD dwDataSize
Size of player message.
Definition: dplay.h:1365
LPVOID lpData
Player message.
Definition: dplay.h:1364
DWORD dwType
Message type.
Definition: dplay.h:1313
DWORD dwDataSize
size of remote data
Definition: dplay.h:1317
DPID dpId
ID of player or group.
Definition: dplay.h:1315
DWORD dwPlayerType
Is it a player or group.
Definition: dplay.h:1314
LPVOID lpData
pointer to remote data
Definition: dplay.h:1316
DWORD dwPlayerType
Is it a player or group.
Definition: dplay.h:1327
DWORD dwType
Message type.
Definition: dplay.h:1326
DPID dpId
ID of player or group.
Definition: dplay.h:1328
DPNAME dpnName
structure with new name info
Definition: dplay.h:1329
DPSESSIONDESC2 dpDesc
Session desc.
Definition: dplay.h:1338
DWORD dwType
Message type.
Definition: dplay.h:1337
DWORD dwType
Message type.
Definition: dplay.h:1374
LPDPLCONNECTION lpConn
DPLCONNECTION structure.
Definition: dplay.h:1375
LPWSTR lpszLongName
< The long or formal name
Definition: dplay.h:289
LPSTR lpszShortNameA
ANSI.
Definition: dplay.h:285
DWORD dwSize
Size of structure.
Definition: dplay.h:280
LPSTR lpszLongNameA
ANSI.
Definition: dplay.h:290
DWORD dwFlags
Not used. Must be zero.
Definition: dplay.h:281
LPWSTR lpszShortName
< The short or friendly name
Definition: dplay.h:284
DWORD dwSize
Size of structure.
Definition: dplay.h:332
DWORD dwEncryptionAlgorithm
Encryption Algorithm type.
Definition: dplay.h:345
LPSTR lpszSSPIProviderA
SSPI provider name (ANSI)
Definition: dplay.h:337
DWORD dwFlags
Not used. Must be zero.
Definition: dplay.h:333
LPWSTR lpszCAPIProvider
CAPI provider name (Unicode)
Definition: dplay.h:341
LPSTR lpszCAPIProviderA
CAPI provider name (ANSI)
Definition: dplay.h:342
LPWSTR lpszSSPIProvider
SSPI provider name (Unicode)
Definition: dplay.h:336
DWORD dwCAPIProviderType
Crypto Service Provider type.
Definition: dplay.h:344
DWORD dwUser4
Definition: dplay.h:197
LPSTR lpszSessionNameA
ANSI.
Definition: dplay.h:185
LPWSTR lpszPassword
< Password of the session (optional)
Definition: dplay.h:189
LPWSTR lpszSessionName
< Name of the session
Definition: dplay.h:184
GUID guidInstance
ID for the session instance.
Definition: dplay.h:177
DWORD dwReserved2
Definition: dplay.h:193
LPSTR lpszPasswordA
ANSI.
Definition: dplay.h:190
DWORD dwSize
Size of structure.
Definition: dplay.h:175
DWORD dwUser2
Definition: dplay.h:195
DWORD dwUser1
For use by the application.
Definition: dplay.h:194
DWORD dwCurrentPlayers
Current # players in session (read only)
Definition: dplay.h:181
DWORD dwMaxPlayers
Maximum # players allowed in session.
Definition: dplay.h:180
DWORD dwReserved1
Reserved for future MS use.
Definition: dplay.h:192
DWORD dwUser3
Definition: dplay.h:196
GUID guidApplication
Definition: dplay.h:178
DWORD dwFlags
DPSESSION_xxx flags.
Definition: dplay.h:176
DWORD dwReserved2
Definition: dplay.h:1549
DWORD dwSession
Definition: dplay.h:1541
DWORD dwReserved1
Definition: dplay.h:1547
DWORD dwUser3
Definition: dplay.h:1552
DWORD dwUser4
Definition: dplay.h:1553
GUID guidSession
Definition: dplay.h:1540
DWORD dwUser2
Definition: dplay.h:1551
DWORD dwSize
Definition: dplay.h:1539
DWORD dwUser1
Definition: dplay.h:1550
DWORD dwCurrentPlayers
Definition: dplay.h:1543
DWORD dwFlags
Definition: dplay.h:1544
DWORD dwMaxPlayers
Definition: dplay.h:1542