Changeset 4315 for trunk/include/win/dplay.h
- Timestamp:
- Sep 25, 2000, 12:28:35 AM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/win/dplay.h
r4133 r4315 1 1 #ifndef __WINE_DPLAY_H 2 2 #define __WINE_DPLAY_H 3 4 /* FIXME: GCC doesn't yet support annon structures so some of the structures defined here don't match the sdk exactly. 5 * I've tried to come up with suitably terse names, but this file won't cut it for inclusion into a WineLib app. 6 */ 3 7 4 8 #include "wine/obj_base.h" … … 9 13 10 14 #include "pshpack1.h" 15 16 typedef LPVOID (*LPRGLPVOID)[]; 17 typedef LPRGLPVOID PRGPVOID, LPRGPVOID, PRGLPVOID, PAPVOID, LPAPVOID, PALPVOID, LPALPVOID; 18 19 #define VOL volatile 20 typedef VOID *VOL LPVOIDV; 21 11 22 12 23 /***************************************************************************** … … 30 41 typedef struct IDirectPlay3 IDirectPlay3A,*LPDIRECTPLAY3A; 31 42 43 DEFINE_GUID(IID_IDirectPlay4, 0xab1c530, 0x4745, 0x11d1, 0xa7, 0xa1, 0x0, 0x0, 0xf8, 0x3, 0xab, 0xfc); 44 typedef struct IDirectPlay4 IDirectPlay4,*LPDIRECTPLAY4; 45 46 DEFINE_GUID(IID_IDirectPlay4A,0xab1c531, 0x4745, 0x11d1, 0xa7, 0xa1, 0x0, 0x0, 0xf8, 0x3, 0xab, 0xfc); 47 typedef struct IDirectPlay4 IDirectPlay4A,*LPDIRECTPLAY4A; 48 49 32 50 /* 33 51 * GUIDS used by Service Providers shipped with DirectPlay … … 38 56 DEFINE_GUID(DPSPGUID_IPX, 0x685bc400, 0x9d2c, 0x11cf, 0xa9, 0xcd, 0x0, 0xaa, 0x0, 0x68, 0x86, 0xe3); 39 57 40 /* GUID for TCP/IP service provider 36E95EE0-8577-11cf-960C-0080C7534E82*/58 /* GUID for TCP/IP service provider {36E95EE0-8577-11cf-960C-0080C7534E82} */ 41 59 DEFINE_GUID(DPSPGUID_TCPIP, 0x36E95EE0, 0x8577, 0x11cf, 0x96, 0xc, 0x0, 0x80, 0xc7, 0x53, 0x4e, 0x82); 42 60 … … 97 115 #define DPERR_INVALIDPASSWORD MAKE_DPHRESULT( 340 ) 98 116 #define DPERR_CONNECTING MAKE_DPHRESULT( 350 ) 117 #define DPERR_CONNECTIONLOST MAKE_DPHRESULT( 360 ) 118 #define DPERR_UNKNOWNMESSAGE MAKE_DPHRESULT( 370 ) 119 #define DPERR_CANCELFAILED MAKE_DPHRESULT( 380 ) 120 #define DPERR_INVALIDPRIORITY MAKE_DPHRESULT( 390 ) 121 #define DPERR_NOTHANDLED MAKE_DPHRESULT( 400 ) 122 #define DPERR_CANCELLED MAKE_DPHRESULT( 410 ) 123 #define DPERR_ABORTED MAKE_DPHRESULT( 420 ) 99 124 #define DPERR_BUFFERTOOLARGE MAKE_DPHRESULT( 1000 ) 100 125 #define DPERR_CANTCREATEPROCESS MAKE_DPHRESULT( 1010 ) … … 107 132 #define DPERR_ALREADYREGISTERED MAKE_DPHRESULT( 1090 ) 108 133 #define DPERR_NOTREGISTERED MAKE_DPHRESULT( 1100 ) 109 #define DPERR_AUTHENTICATIONFAILED MAKE_DPHRESULT( 110 #define DPERR_CANTLOADSSPI MAKE_DPHRESULT( 111 #define DPERR_ENCRYPTIONFAILED MAKE_DPHRESULT( 112 #define DPERR_SIGNFAILED MAKE_DPHRESULT( 113 #define DPERR_CANTLOADSECURITYPACKAGE MAKE_DPHRESULT( 114 #define DPERR_ENCRYPTIONNOTSUPPORTED MAKE_DPHRESULT( 115 #define DPERR_CANTLOADCAPI MAKE_DPHRESULT( 116 #define DPERR_NOTLOGGEDIN MAKE_DPHRESULT( 117 #define DPERR_LOGONDENIED MAKE_DPHRESULT( 134 #define DPERR_AUTHENTICATIONFAILED MAKE_DPHRESULT( 2000 ) 135 #define DPERR_CANTLOADSSPI MAKE_DPHRESULT( 2010 ) 136 #define DPERR_ENCRYPTIONFAILED MAKE_DPHRESULT( 2020 ) 137 #define DPERR_SIGNFAILED MAKE_DPHRESULT( 2030 ) 138 #define DPERR_CANTLOADSECURITYPACKAGE MAKE_DPHRESULT( 2040 ) 139 #define DPERR_ENCRYPTIONNOTSUPPORTED MAKE_DPHRESULT( 2050 ) 140 #define DPERR_CANTLOADCAPI MAKE_DPHRESULT( 2060 ) 141 #define DPERR_NOTLOGGEDIN MAKE_DPHRESULT( 2070 ) 142 #define DPERR_LOGONDENIED MAKE_DPHRESULT( 2080 ) 118 143 119 144 … … 126 151 #define DPID_SERVERPLAYER 1 /* DPID of the server player */ 127 152 #define DPID_UNKNOWN 0xFFFFFFFF /* Player ID is unknown */ 128 129 #define DPOPEN_OPENSESSION 0x00000001130 #define DPOPEN_CREATESESSION 0x00000002131 132 #define DPSEND_GUARANTEE 0x00000001133 #define DPSEND_HIGHPRIORITY 0x00000002134 #define DPSEND_TRYONCE 0x00000004135 136 #define DPRECEIVE_ALL 0x00000001137 #define DPRECEIVE_TOPLAYER 0x00000002138 #define DPRECEIVE_FROMPLAYER 0x00000004139 #define DPRECEIVE_PEEK 0x00000008140 141 #define DPCAPS_NAMESERVICE 0x00000001142 #define DPCAPS_NAMESERVER 0x00000002143 #define DPCAPS_GUARANTEED 0x00000004144 145 #define DPENUMSESSIONS_AVAILABLE 0x00000001146 #define DPENUMSESSIONS_ALL 0x00000002147 #define DPENUMSESSIONS_PREVIOUS 0x00000004148 149 #define DPENUMPLAYERS_ALL 0x00000000150 #define DPENUMPLAYERS_PREVIOUS 0x00000004151 #define DPENUMPLAYERS_LOCAL 0x00000008152 #define DPENUMPLAYERS_REMOTE 0x00000010153 #define DPENUMPLAYERS_GROUP 0x00000020154 #define DPENUMPLAYERS_SESSION 0x00000080155 156 #define DPESC_TIMEDOUT 0x00000001157 153 158 154 /* DPCAPS - Used to obtain the capabilities of a DirectPlay object */ … … 294 290 }msgstr; 295 291 } DPCHAT, *LPDPCHAT; 292 293 typedef struct 294 { 295 UINT len; 296 PUCHAR pData; 297 } SGBUFFER, *PSGBUFFER, *LPSGBUFFER; 298 296 299 297 300 typedef struct tagDPSECURITYDESC … … 340 343 341 344 342 typedef BOOL (* CALLBACK 345 typedef BOOL (* CALLBACK LPDPENUMDPCALLBACKW)( 343 346 LPGUID lpguidSP, 344 347 LPWSTR lpSPName, … … 347 350 LPVOID lpContext); 348 351 349 typedef BOOL (* CALLBACK 352 typedef BOOL (* CALLBACK LPDPENUMDPCALLBACKA)( 350 353 LPGUID lpguidSP, 351 354 LPSTR lpSPName, /* ptr to str w/ driver description */ … … 355 358 356 359 typedef const GUID *LPCGUID; 360 357 361 typedef const DPNAME *LPCDPNAME; 358 362 359 typedef BOOL (* CALLBACK 363 typedef BOOL (* CALLBACK LPDPENUMCONNECTIONSCALLBACK)( 360 364 LPCGUID lpguidSP, 361 365 LPVOID lpConnection, … … 365 369 LPVOID lpContext); 366 370 367 typedef BOOL (* CALLBACK 371 typedef BOOL (* CALLBACK LPDPENUMSESSIONSCALLBACK)( 368 372 LPDPSESSIONDESC lpDPSessionDesc, 369 373 LPVOID lpContext, … … 374 378 extern HRESULT WINAPI DirectPlayEnumerateA( LPDPENUMDPCALLBACKA, LPVOID ); 375 379 extern HRESULT WINAPI DirectPlayEnumerateW( LPDPENUMDPCALLBACKW, LPVOID ); 376 #define DirectPlayEnumerate WINELIB_NAME_AW(DirectPlayEnumerate)377 378 380 extern HRESULT WINAPI DirectPlayCreate( LPGUID lpGUID, LPDIRECTPLAY2 *lplpDP, IUnknown *pUnk); 379 381 380 typedef BOOL (* CALLBACK 382 typedef BOOL (* CALLBACK LPDPENUMPLAYERSCALLBACK)( 381 383 DPID dpId, 382 384 LPSTR lpFriendlyName, … … 385 387 LPVOID lpContext ); 386 388 387 typedef BOOL (* CALLBACK 389 typedef BOOL (* CALLBACK LPDPENUMPLAYERSCALLBACK2)( 388 390 DPID dpId, 389 391 DWORD dwPlayerType, … … 392 394 LPVOID lpContext ); 393 395 394 typedef BOOL (* CALLBACK 396 typedef BOOL (* CALLBACK LPDPENUMSESSIONSCALLBACK2)( 395 397 LPCDPSESSIONDESC2 lpThisSD, 396 398 LPDWORD lpdwTimeOut, 397 399 DWORD dwFlags, 398 400 LPVOID lpContext ); 401 402 #define DPESC_TIMEDOUT 0x00000001 399 403 400 404 #include "poppack.h" … … 433 437 #undef ICOM_INTERFACE 434 438 435 #ifdef ICOM_CINTERFACE436 439 /*** IUnknown methods ***/ 437 440 #define IDirectPlay_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) … … 461 464 #define IDirectPlay_Send(p,a,b,c,d,e) ICOM_CALL5(Send,p,a,b,c,d,e) 462 465 #define IDirectPlay_SetPlayerName(p,a,b,c) ICOM_CALL3(SetPlayerName,p,a,b,c) 463 #endif464 466 465 467 466 468 /***************************************************************************** 467 * IDirectPlay2 interface469 * IDirectPlay2 and IDirectPlay2A interface 468 470 */ 469 471 #define ICOM_INTERFACE IDirectPlay2 … … 504 506 #undef ICOM_INTERFACE 505 507 506 #ifdef ICOM_CINTERFACE507 508 /*** IUnknown methods ***/ 508 509 #define IDirectPlay2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) … … 539 540 #define IDirectPlay2_SetPlayerName(p,a,b,c) ICOM_CALL3(SetPlayerName,p,a,b,c) 540 541 #define IDirectPlay2_SetSessionDesc(p,a,b) ICOM_CALL2(SetSessionDesc,p,a,b) 541 #endif542 542 543 543 544 544 /***************************************************************************** 545 * IDirectPlay3 interface545 * IDirectPlay3 and IDirectPlay3A interface 546 546 */ 547 547 #define ICOM_INTERFACE IDirectPlay3 … … 568 568 #undef ICOM_INTERFACE 569 569 570 #ifdef ICOM_CINTERFACE571 570 /*** IUnknown methods ***/ 572 571 #define IDirectPlay3_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) … … 619 618 #define IDirectPlay3_GetPlayerAccount(p,a,b,c,d) ICOM_CALL4(GetPlayerAccount,p,a,b,c,d) 620 619 #define IDirectPlay3_GetPlayerFlags(p,a,b) ICOM_CALL2(GetPlayerFlags,p,a,b) 621 #endif 620 621 /***************************************************************************** 622 * IDirectPlay4 and IDirectPlay4A interface 623 */ 624 #define ICOM_INTERFACE IDirectPlay4 625 #define IDirectPlay4_METHODS \ 626 ICOM_METHOD2( HRESULT, GetGroupOwner, DPID,arg1, LPDPID,arg2 ) \ 627 ICOM_METHOD2( HRESULT, SetGroupOwner, DPID,arg1, DPID,arg2 ) \ 628 ICOM_METHOD9( HRESULT, SendEx, DPID,arg1, DPID,arg2, DWORD,arg3, LPVOID,arg4, DWORD,arg5, DWORD,arg6, DWORD,arg7, LPVOID,arg8, LPDWORD,arg9 ) \ 629 ICOM_METHOD5( HRESULT, GetMessageQueue, DPID,arg1, DPID,arg2, DWORD,arg3, LPDWORD,arg4, LPDWORD,arg5 ) \ 630 ICOM_METHOD2( HRESULT, CancelMessage, DWORD,arg1, DWORD,arg2 ) \ 631 ICOM_METHOD3( HRESULT, CancelPriority, DWORD,arg1, DWORD,arg2, DWORD,arg3 ) 632 633 #define IDirectPlay4_IMETHODS \ 634 IDirectPlay3_IMETHODS \ 635 IDirectPlay4_METHODS 636 ICOM_DEFINE(IDirectPlay4,IDirectPlay3) 637 #undef ICOM_INTERFACE 638 639 /*** IUnknown methods ***/ 640 #define IDirectPlayX_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) 641 #define IDirectPlayX_AddRef(p) ICOM_CALL (AddRef,p) 642 #define IDirectPlayX_Release(p) ICOM_CALL (Release,p) 643 /*** IDirectPlay2 methods ***/ 644 #define IDirectPlayX_AddPlayerToGroup(p,a,b) ICOM_CALL2(AddPlayerToGroup,p,a,b) 645 #define IDirectPlayX_Close(p) ICOM_CALL (Close,p) 646 #define IDirectPlayX_CreateGroup(p,a,b,c,d,e) ICOM_CALL5(CreateGroup,p,a,b,c,d,e) 647 #define IDirectPlayX_CreatePlayer(p,a,b,c,d,e,f) ICOM_CALL6(CreatePlayer,p,a,b,c,d,e,f) 648 #define IDirectPlayX_DeletePlayerFromGroup(p,a,b) ICOM_CALL2(DeletePlayerFromGroup,p,a,b) 649 #define IDirectPlayX_DestroyGroup(p,a) ICOM_CALL1(DestroyGroup,p,a) 650 #define IDirectPlayX_DestroyPlayer(p,a) ICOM_CALL1(DestroyPlayer,p,a) 651 #define IDirectPlayX_EnumGroupPlayers(p,a,b,c,d,e) ICOM_CALL5(EnumGroupPlayers,p,a,b,c,d,e) 652 #define IDirectPlayX_EnumGroups(p,a,b,c,d) ICOM_CALL4(EnumGroups,p,a,b,c,d) 653 #define IDirectPlayX_EnumPlayers(p,a,b,c,d) ICOM_CALL4(EnumPlayers,p,a,b,c,d) 654 #define IDirectPlayX_EnumSessions(p,a,b,c,d,e) ICOM_CALL5(EnumSessions,p,a,b,c,d,e) 655 #define IDirectPlayX_GetCaps(p,a,b) ICOM_CALL2(GetCaps,p,a,b) 656 #define IDirectPlayX_GetGroupData(p,a,b,c,d) ICOM_CALL4(GetGroupData,p,a,b,c,d) 657 #define IDirectPlayX_GetGroupName(p,a,b,c) ICOM_CALL3(GetGroupName,p,a,b,c) 658 #define IDirectPlayX_GetMessageCount(p,a,b) ICOM_CALL2(GetMessageCount,p,a,b) 659 #define IDirectPlayX_GetPlayerAddress(p,a,b,c) ICOM_CALL3(GetPlayerAddress,p,a,b,c) 660 #define IDirectPlayX_GetPlayerCaps(p,a,b,c) ICOM_CALL3(GetPlayerCaps,p,a,b,c) 661 #define IDirectPlayX_GetPlayerData(p,a,b,c,d) ICOM_CALL4(GetPlayerData,p,a,b,c,d) 662 #define IDirectPlayX_GetPlayerName(p,a,b,c) ICOM_CALL3(GetPlayerName,p,a,b,c) 663 #define IDirectPlayX_GetSessionDesc(p,a,b) ICOM_CALL2(GetSessionDesc,p,a,b) 664 #define IDirectPlayX_Initialize(p,a) ICOM_CALL1(Initialize,p,a) 665 #define IDirectPlayX_Open(p,a,b) ICOM_CALL2(Open,p,a,b) 666 #define IDirectPlayX_Receive(p,a,b,c,d,e) ICOM_CALL5(Receive,p,a,b,c,d,e) 667 #define IDirectPlayX_Send(p,a,b,c,d,e) ICOM_CALL5(Send,p,a,b,c,d,e) 668 #define IDirectPlayX_SetGroupData(p,a,b,c,d) ICOM_CALL4(SetGroupData,p,a,b,c,d) 669 #define IDirectPlayX_SetGroupName(p,a,b,c) ICOM_CALL3(SetGroupName,p,a,b,c) 670 #define IDirectPlayX_SetPlayerData(p,a,b,c,d) ICOM_CALL4(SetPlayerData,p,a,b,c,d) 671 #define IDirectPlayX_SetPlayerName(p,a,b,c) ICOM_CALL3(SetPlayerName,p,a,b,c) 672 #define IDirectPlayX_SetSessionDesc(p,a,b) ICOM_CALL2(SetSessionDesc,p,a,b) 673 /*** IDirectPlay3 methods ***/ 674 #define IDirectPlayX_AddGroupToGroup(p,a,b) ICOM_CALL2(AddGroupToGroup,p,a,b) 675 #define IDirectPlayX_CreateGroupInGroup(p,a,b,c,d,e,f) ICOM_CALL6(CreateGroupInGroup,p,a,b,c,d,e,f) 676 #define IDirectPlayX_DeleteGroupFromGroup(p,a,b) ICOM_CALL2(DeleteGroupFromGroup,p,a,b) 677 #define IDirectPlayX_EnumConnections(p,a,b,c,d) ICOM_CALL4(EnumConnections,p,a,b,c,d) 678 #define IDirectPlayX_EnumGroupsInGroup(p,a,b,c,d,e) ICOM_CALL5(EnumGroupsInGroup,p,a,b,c,d,e) 679 #define IDirectPlayX_GetGroupConnectionSettings(p,a,b,c,d) ICOM_CALL4(GetGroupConnectionSettings,p,a,b,c,d) 680 #define IDirectPlayX_InitializeConnection(p,a,b) ICOM_CALL2(InitializeConnection,p,a,b) 681 #define IDirectPlayX_SecureOpen(p,a,b,c,d) ICOM_CALL4(SecureOpen,p,a,b,c,d) 682 #define IDirectPlayX_SendChatMessage(p,a,b,c,d) ICOM_CALL4(SendChatMessage,p,a,b,c,d) 683 #define IDirectPlayX_SetGroupConnectionSettings(p,a,b,c) ICOM_CALL3(SetGroupConnectionSettings,p,a,b,c) 684 #define IDirectPlayX_StartSession(p,a,b) ICOM_CALL2(StartSession,p,a,b) 685 #define IDirectPlayX_GetGroupFlags(p,a,b) ICOM_CALL2(GetGroupFlags,p,a,b) 686 #define IDirectPlayX_GetGroupParent(p,a,b) ICOM_CALL2(GetGroupParent,p,a,b) 687 #define IDirectPlayX_GetPlayerAccount(p,a,b,c,d) ICOM_CALL4(GetPlayerAccount,p,a,b,c,d) 688 #define IDirectPlayX_GetPlayerFlags(p,a,b) ICOM_CALL2(GetPlayerFlags,p,a,b) 689 /*** IDirectPlay4 methods ***/ 690 #define IDirectPlayX_GetGroupOwner(p,a,b) ICOM_CALL2(GetGroupOwner,p,a,b) 691 #define IDirectPlayX_SetGroupOwner(p,a,b) ICOM_CALL2(SetGroupOwner,p,a,b) 692 #define IDirectPlayX_SendEx(p,a,b,c,d,e,f,g,h,i) ICOM_CALL9(SendEx,a,b,c,d,e,f,g,h,i) 693 #define IDirectPlayX_GetMessageQueue(p,a,b,c,d,e) ICOM_CALL5(GetMessageQueue,a,b,c,d,e) 694 #define IDirectPlayX_CancelMessage(p,a,b) ICOM_CALL2(CancelMessage,a,b) 695 #define IDirectPlayX_CancelPriority(p,a,b,c) ICOM_CALL3(CancelPriority,a,b,c) 696 697 698 /* For DirectPlay::EnumConnections */ 699 #define DPCONNECTION_DIRECTPLAY 0x00000001 700 #define DPCONNECTION_DIRECTPLAYLOBBY 0x00000002 701 702 /* For DirectPlay::EnumPlayers and DirectPlay::EnumGroups */ 703 #define DPENUMPLAYERS_ALL 0x00000000 704 #define DPENUMPLAYERS_LOCAL 0x00000008 705 #define DPENUMPLAYERS_REMOTE 0x00000010 706 #define DPENUMPLAYERS_GROUP 0x00000020 707 #define DPENUMPLAYERS_SESSION 0x00000080 708 #define DPENUMPLAYERS_SERVERPLAYER 0x00000100 709 #define DPENUMPLAYERS_SPECTATOR 0x00000200 710 #define DPENUMPLAYERS_OWNER 0x00002000 711 712 #define DPENUMGROUPS_ALL DPENUMPLAYERS_ALL 713 #define DPENUMGROUPS_LOCAL DPENUMPLAYERS_LOCAL 714 #define DPENUMGROUPS_REMOTE DPENUMPLAYERS_REMOTE 715 #define DPENUMGROUPS_SESSION DPENUMPLAYERS_SESSION 716 #define DPENUMGROUPS_SHORTCUT 0x00000400 717 #define DPENUMGROUPS_STAGINGAREA 0x00000800 718 #define DPENUMGROUPS_HIDDEN 0x00001000 719 720 721 /* For DirectPlay::CreatePlayer */ 722 #define DPPLAYER_SERVERPLAYER DPENUMPLAYERS_SERVERPLAYER 723 #define DPPLAYER_SPECTATOR DPENUMPLAYERS_SPECTATOR 724 #define DPPLAYER_LOCAL DPENUMPLAYERS_LOCAL 725 #define DPPLAYER_OWNER DPENUMPLAYERS_OWNER 726 727 /* For DirectPlay::CreateGroup */ 728 #define DPGROUP_STAGINGAREA DPENUMGROUPS_STAGINGAREA 729 #define DPGROUP_LOCAL DPENUMGROUPS_LOCAL 730 #define DPGROUP_HIDDEN DPENUMGROUPS_HIDDEN 731 732 /* For DirectPlay::EnumSessions */ 733 #define DPENUMSESSIONS_AVAILABLE 0x00000001 734 #define DPENUMSESSIONS_ALL 0x00000002 735 #define DPENUMSESSIONS_ASYNC 0x00000010 736 #define DPENUMSESSIONS_STOPASYNC 0x00000020 737 #define DPENUMSESSIONS_PASSWORDREQUIRED 0x00000040 738 #define DPENUMSESSIONS_RETURNSTATUS 0x00000080 739 740 /* For DirectPlay::GetCaps and DirectPlay::GetPlayerCaps */ 741 #define DPGETCAPS_GUARANTEED 0x00000001 742 743 /* For DirectPlay::GetGroupData and DirectPlay::GetPlayerData */ 744 #define DPGET_REMOTE 0x00000000 745 #define DPGET_LOCAL 0x00000001 746 747 /* For DirectPlay::Receive */ 748 #define DPRECEIVE_ALL 0x00000001 749 #define DPRECEIVE_TOPLAYER 0x00000002 750 #define DPRECEIVE_FROMPLAYER 0x00000004 751 #define DPRECEIVE_PEEK 0x00000008 752 753 /* For DirectPlay::Send */ 754 #define DPSEND_NONGUARANTEED 0x00000000 755 #define DPSEND_GUARANTEED 0x00000001 756 #define DPSEND_HIGHPRIORITY 0x00000002 757 #define DPSEND_OPENSTREAM 0x00000008 758 #define DPSEND_CLOSESTREAM 0x00000010 759 #define DPSEND_SIGNED 0x00000020 760 #define DPSEND_ENCRYPTED 0x00000040 761 #define DPSEND_LOBBYSYSTEMMESSAGE 0x00000080 762 #define DPSEND_ASYNC 0x00000200 763 #define DPSEND_NOSENDCOMPLETEMSG 0x00000400 764 765 #define DPSEND_MAX_PRI 0x0000FFFF 766 #define DPSEND_MAX_PRIORITY DPSEND_MAX_PRI 767 768 769 /* For DirectPlay::SetGroupData, DirectPlay::SetGroupName, 770 * DirectPlay::SetPlayerData, DirectPlay::SetPlayerName and 771 * DirectPlay::SetSessionDesc. 772 */ 773 #define DPSET_REMOTE 0x00000000 774 #define DPSET_LOCAL 0x00000001 775 #define DPSET_GUARANTEED 0x00000002 776 777 /* For DirectPlay::GetMessageQueue */ 778 #define DPMESSAGEQUEUE_SEND 0x00000001 779 #define DPMESSAGEQUEUE_RECEIVE 0x00000002 780 781 /* DirectPlay::Connect */ 782 #define DPCONNECT_RETURNSTATUS (DPENUMSESSIONS_RETURNSTATUS) 783 784 785 /** DirectPlay system messages **/ 786 787 /* A new player or group has been created in the session */ 788 #define DPSYS_CREATEPLAYERORGROUP 0x0003 789 790 /* A player or group has been deleted from the session */ 791 #define DPSYS_DESTROYPLAYERORGROUP 0x0005 792 793 /* A player has been added to a group */ 794 #define DPSYS_ADDPLAYERTOGROUP 0x0007 795 796 /* A player has been deleted from a group */ 797 #define DPSYS_DELETEPLAYERFROMGROUP 0x0021 798 799 /* Session lost for this object - ie lost contact with all players */ 800 #define DPSYS_SESSIONLOST 0x0031 801 802 /* The current host has left the session */ 803 #define DPSYS_HOST 0x0101 804 805 /* Player or group data has changed */ 806 #define DPSYS_SETPLAYERORGROUPDATA 0x0102 807 808 /* The name of a player or group has changed */ 809 #define DPSYS_SETPLAYERORGROUPNAME 0x0103 810 811 /* The session description has changed */ 812 #define DPSYS_SETSESSIONDESC 0x0104 813 814 /* A group has been added to a group */ 815 #define DPSYS_ADDGROUPTOGROUP 0x0105 816 817 /* A group has been deleted from a group */ 818 #define DPSYS_DELETEGROUPFROMGROUP 0x0106 819 820 /* A secure player to player message has arrived */ 821 #define DPSYS_SECUREMESSAGE 0x0107 822 823 /* Start a new session */ 824 #define DPSYS_STARTSESSION 0x0108 825 826 /* A chat message has arrived */ 827 #define DPSYS_CHAT 0x0109 828 829 /* The owner of a group has changed */ 830 #define DPSYS_SETGROUPOWNER 0x010A 831 832 /* An async send is done (finished normally, failed or cancelled) */ 833 #define DPSYS_SENDCOMPLETE 0x010d 834 835 /** DirectPlay System Messages **/ 836 837 #define DPPLAYERTYPE_GROUP 0x00000000 838 #define DPPLAYERTYPE_PLAYER 0x00000001 839 840 841 /* NOTE: DPMSG_HOST and DPMSG_GENERIC share the same format */ 842 typedef struct tagDPMSG_GENERIC 843 { 844 DWORD dwType; /* Use message type as described above */ 845 } DPMSG_GENERIC, *LPDPMSG_GENERIC, 846 DPMSG_HOST, *LPDPMSG_HOST, 847 DPMSG_SESSIONLOST, *LPDPMSG_SESSIONLOST; 848 849 typedef struct tagDPMSG_CREATEPLAYERORGROUP 850 { 851 DWORD dwType; /* Use message type as described above */ 852 DWORD dwPlayerType; /* Use DPPLAYERTYPE_GROUP or DPPLAYERTYPE_PLAYER */ 853 DPID dpId; /* ID of the player/group */ 854 DWORD dwCurrentPlayers; /* Current number of players/groups in session */ 855 LPVOID lpData; /* Pointer to data */ 856 DWORD dwDataSize; /* Size of data */ 857 DPNAME dpnName; /* Name info */ 858 859 /* dpIdParent and dwFlags are only valid in DirectPlay3 and later. What 860 * does that mean about the message size before? -PH */ 861 DPID dpIdParent; /* id of parent group */ 862 DWORD dwFlags; /* Flags for the player/group */ 863 } DPMSG_CREATEPLAYERORGROUP, *LPDPMSG_CREATEPLAYERORGROUP; 864 865 typedef struct tagDPMSG_DESTROYPLAYERORGROUP 866 { 867 DWORD dwType; /* Use message type as described above */ 868 DWORD dwPlayerType; /* Use DPPLAYERTYPE_GROUP or DPPLAYERTYPE_PLAYER */ 869 DPID dpId; /* ID of player/group to be deleted */ 870 LPVOID lpLocalData; /* Pointer to local data */ 871 DWORD dwLocalDataSize; /* Sizeof local data */ 872 LPVOID lpRemoteData; /* Pointer to remote data */ 873 DWORD dwRemoteDataSize; /* Sizeof remote data */ 874 875 /* dpnName, dpIdParent and dwFlags are only valid in DirectPlay3 and later. What 876 * does that mean about the message size before? -PH */ 877 DPNAME dpnName; /* Name info */ 878 DPID dpIdParent; /* id of parent group */ 879 DWORD dwFlags; /* Flags for the player/group */ 880 } DPMSG_DESTROYPLAYERORGROUP, *LPDPMSG_DESTROYPLAYERORGROUP; 881 882 /* NOTE: DPMSG_ADDPLAYERTOGROUP and DPMSG_DELETEPLAYERFROMGROUP are the same */ 883 typedef struct tagDPMSG_ADDPLAYERTOGROUP 884 { 885 DWORD dwType; /* Use message type as described above */ 886 DPID dpIdGroup; /* Group ID to add player into */ 887 DPID dpIdPlayer; /* ID of player to add */ 888 } DPMSG_ADDPLAYERTOGROUP, *LPDPMSG_ADDPLAYERTOGROUP, 889 DPMSG_DELETEPLAYERFROMGROUP, *LPDPMSG_DELETEPLAYERFROMGROUP; 890 891 /* NOTE: DPMSG_ADDGROUPTOGROUP and DPMSG_DELETEGROUPFROMGROUP are the same */ 892 typedef struct tagDPMSG_ADDGROUPTOGROUP 893 { 894 DWORD dwType; /* Use message type as described above */ 895 DPID dpIdParentGroup; /* Group ID to add group into */ 896 DPID dpIdGroup; /* ID of group to add */ 897 } DPMSG_ADDGROUPTOGROUP, *LPDPMSG_ADDGROUPTOGROUP, 898 DPMSG_DELETEGROUPFROMGROUP, *LPDPMSG_DELETEGROUPFROMGROUP; 899 900 typedef struct tagDPMSG_SETPLAYERORGROUPDATA 901 { 902 DWORD dwType; /* Use message type as described above */ 903 DWORD dwPlayerType; /* Use DPPLAYERTYPE_GROUP or DPPLAYERTYPE_PLAYER */ 904 DPID dpId; /* ID of player/group */ 905 LPVOID lpData; /* Pointer to data */ 906 DWORD dwDataSize; /* Size of data */ 907 } DPMSG_SETPLAYERORGROUPDATA, *LPDPMSG_SETPLAYERORGROUPDATA; 908 909 typedef struct tagDPMSG_SETPLAYERORGROUPNAME 910 { 911 DWORD dwType; /* Use message type as described above */ 912 DWORD dwPlayerType; /* Use DPPLAYERTYPE_GROUP or DPPLAYERTYPE_PLAYER */ 913 DPID dpId; /* ID of player/group */ 914 DPNAME dpnName; /* New name */ 915 } DPMSG_SETPLAYERORGROUPNAME, *LPDPMSG_SETPLAYERORGROUPNAME; 916 917 typedef struct tagDPMSG_SETSESSIONDESC 918 { 919 DWORD dwType; /* Use message type as described above */ 920 DPSESSIONDESC2 dpDesc; /* New session desc */ 921 } DPMSG_SETSESSIONDESC, *LPDPMSG_SETSESSIONDESC; 922 923 typedef struct tagDPMSG_SECUREMESSAGE 924 { 925 DWORD dwType; /* Use message type as described above */ 926 DWORD dwFlags; /* Signed/Encrypted */ 927 DPID dpIdFrom; /* ID of from player */ 928 LPVOID lpData; /* Message sent */ 929 DWORD dwDataSize; /* Size of message */ 930 } DPMSG_SECUREMESSAGE, *LPDPMSG_SECUREMESSAGE; 931 932 typedef struct tagDPMSG_STARTSESSION 933 { 934 DWORD dwType; /* Use message type as described above */ 935 LPDPLCONNECTION lpConn; /* DPLCONNECTION structure */ 936 } DPMSG_STARTSESSION, *LPDPMSG_STARTSESSION; 937 938 typedef struct tagDPMSG_CHAT 939 { 940 DWORD dwType; /* Use message type as described above */ 941 DWORD dwFlags; /* Message flags */ 942 DPID idFromPlayer; /* ID of sender */ 943 DPID idToPlayer; /* ID of who msg is for */ 944 DPID idToGroup; /* ID of what group msg is for */ 945 LPDPCHAT lpChat; /* Chat message */ 946 } DPMSG_CHAT, *LPDPMSG_CHAT; 947 948 typedef struct tagDPMSG_SETGROUPOWNER 949 { 950 DWORD dwType; /* Use message type as described above */ 951 DPID idGroup; /* Group ID */ 952 DPID idNewOwner; /* ID of player who now owns group */ 953 DPID idOldOwner; /* ID of player who used to own group */ 954 } DPMSG_SETGROUPOWNER, *LPDPMSG_SETGROUPOWNER; 955 956 typedef struct 957 { 958 DWORD dwType; /* Use message type as described above */ 959 DPID idFrom; /* ID from */ 960 DPID idTo; /* ID to */ 961 DWORD dwFlags; 962 DWORD dwPriority; 963 DWORD dwTimeout; 964 LPVOID lpvContext; 965 DWORD dwMsgID; 966 HRESULT hr; 967 DWORD dwSendTime; /* When sent ? */ 968 } DPMSG_SENDCOMPLETE, *LPDPMSG_SENDCOMPLETE; 969 970 622 971 623 972 #ifdef __cplusplus
Note:
See TracChangeset
for help on using the changeset viewer.