From a8f828a066773a59fdf646299359d35ae0e845af Mon Sep 17 00:00:00 2001 From: wyatt8740 Date: Mon, 6 Jan 2014 12:02:16 -0500 Subject: Removed accidental upload of copyrighted map files --- WinQuake/dxsdk/SDK/INC/DPLAY.H | 616 ++++++++++++++++++++--------------------- 1 file changed, 308 insertions(+), 308 deletions(-) (limited to 'WinQuake/dxsdk/SDK/INC/DPLAY.H') diff --git a/WinQuake/dxsdk/SDK/INC/DPLAY.H b/WinQuake/dxsdk/SDK/INC/DPLAY.H index b396bc5..5501c25 100644 --- a/WinQuake/dxsdk/SDK/INC/DPLAY.H +++ b/WinQuake/dxsdk/SDK/INC/DPLAY.H @@ -1,308 +1,308 @@ -/*==========================================================================; - * - * Copyright (C) 1994-1995 Microsoft Corporation. All Rights Reserved. - * - * File: dplay.h - * Content: DirectPlay include file - * - ***************************************************************************/ - -#ifndef __DPLAY_INCLUDED__ -#define __DPLAY_INCLUDED__ -#ifdef _WIN32 -/* for DECLARE_INTERFACE and HRESULT. */ -#include -#endif - -#define _FACDP 0x877 -#define MAKE_DPHRESULT( code ) MAKE_HRESULT( 1, _FACDP, code ) - -#ifdef __cplusplus -extern "C" { -#endif - -#pragma pack(push, 1) - - -/*============================================================================ - * - * DirectPlay Structures - * - * Various structures used to invoke DirectPlay. - * - *==========================================================================*/ - -#ifdef __cplusplus -/* 'struct' not 'class' per the way DECLARE_INTERFACE_ is defined */ -struct IDirectPlay; -typedef struct IDirectPlay FAR *LPDIRECTPLAY; -#else -typedef struct IDirectPlay FAR *LPDIRECTPLAY; -#endif - -typedef DWORD DPID, FAR *LPDPID; - -typedef struct _DPCAPS -{ - DWORD dwSize; - DWORD dwFlags; - DWORD dwMaxBufferSize; - DWORD dwMaxQueueSize; // Function of DPlay, not SP. - DWORD dwMaxPlayers; - DWORD dwHundredBaud; // 24 is 2400, 96 is 9600, etc. - DWORD dwLatency; -} DPCAPS; - -typedef DPCAPS FAR *LPDPCAPS; - -#define DPLONGNAMELEN 52 -#define DPSHORTNAMELEN 20 -#define DPSESSIONNAMELEN 32 -#define DPPASSWORDLEN 16 -#define DPUSERRESERVED 16 - -typedef struct -{ - DWORD dwSize; - GUID guidSession; // Id for Game. Null is all games. - DWORD dwSession; // session identifier - DWORD dwMaxPlayers; // Maximum players allowed in game. - DWORD dwCurrentPlayers; // Current players in Game. - DWORD dwFlags; // DPOPEN_* flags - char szSessionName[DPSESSIONNAMELEN];// Human readable name for Game - char szUserField[DPUSERRESERVED]; - DWORD dwReserved1; // Reserved for future MS use. - char szPassword[DPPASSWORDLEN]; // Password to be allowed into game. - DWORD dwReserved2; // Reserved for future MS use. - DWORD dwUser1; - DWORD dwUser2; - DWORD dwUser3; - DWORD dwUser4; -} DPSESSIONDESC; -typedef DPSESSIONDESC FAR *LPDPSESSIONDESC; - - -/* - * Create API - */ -typedef BOOL (FAR PASCAL * LPDPENUMDPCALLBACK)( - LPGUID lpSPGuid, - LPSTR lpFriendlyName, - DWORD dwMajorVersion, - DWORD dwMinorVersion, - LPVOID lpContext); - -typedef BOOL (FAR PASCAL * LPDPENUMSESSIONSCALLBACK)( - LPDPSESSIONDESC lpDPSGameDesc, - LPVOID lpContext, - LPDWORD lpdwTimeOut, - DWORD dwFlags); - - - -extern HRESULT WINAPI DirectPlayCreate( LPGUID lpGUID, LPDIRECTPLAY FAR *lplpDP, IUnknown FAR *pUnk); -extern HRESULT WINAPI DirectPlayEnumerate( LPDPENUMDPCALLBACK, LPVOID ); - - -/* Player enumeration callback prototype */ -typedef BOOL (FAR PASCAL *LPDPENUMPLAYERSCALLBACK)( - DPID dpId, - LPSTR lpFriendlyName, - LPSTR lpFormalName, - DWORD dwFlags, - LPVOID lpContext ); - -/* - * IDirectPlay - */ -#undef INTERFACE -#define INTERFACE IDirectPlay -#ifdef _WIN32 -DECLARE_INTERFACE_( IDirectPlay, IUnknown ) -{ - /*** IUnknown methods ***/ - STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE; - STDMETHOD_(ULONG,AddRef) (THIS) PURE; - STDMETHOD_(ULONG,Release) (THIS) PURE; - /*** IDirectPlay methods ***/ - STDMETHOD(AddPlayerToGroup) (THIS_ DPID, DPID) PURE; - STDMETHOD(Close) (THIS) PURE; - STDMETHOD(CreatePlayer) (THIS_ LPDPID,LPSTR,LPSTR,LPHANDLE) PURE; - STDMETHOD(CreateGroup) (THIS_ LPDPID,LPSTR,LPSTR) PURE; - STDMETHOD(DeletePlayerFromGroup)(THIS_ DPID,DPID) PURE; - STDMETHOD(DestroyPlayer) (THIS_ DPID) PURE; - STDMETHOD(DestroyGroup) (THIS_ DPID) PURE; - STDMETHOD(EnableNewPlayers) (THIS_ BOOL) PURE; - STDMETHOD(EnumGroupPlayers) (THIS_ DPID, LPDPENUMPLAYERSCALLBACK,LPVOID,DWORD) PURE; - STDMETHOD(EnumGroups) (THIS_ DWORD, LPDPENUMPLAYERSCALLBACK,LPVOID,DWORD) PURE; - STDMETHOD(EnumPlayers) (THIS_ DWORD, LPDPENUMPLAYERSCALLBACK,LPVOID,DWORD) PURE; - STDMETHOD(EnumSessions) (THIS_ LPDPSESSIONDESC,DWORD,LPDPENUMSESSIONSCALLBACK,LPVOID,DWORD) PURE; - STDMETHOD(GetCaps) (THIS_ LPDPCAPS) PURE; - STDMETHOD(GetMessageCount) (THIS_ DPID, LPDWORD) PURE; - STDMETHOD(GetPlayerCaps) (THIS_ DPID, LPDPCAPS) PURE; - STDMETHOD(GetPlayerName) (THIS_ DPID,LPSTR,LPDWORD,LPSTR,LPDWORD) PURE; - STDMETHOD(Initialize) (THIS_ LPGUID) PURE; - STDMETHOD(Open) (THIS_ LPDPSESSIONDESC) PURE; - STDMETHOD(Receive) (THIS_ LPDPID,LPDPID,DWORD,LPVOID,LPDWORD) PURE; - STDMETHOD(SaveSession) (THIS_ LPSTR) PURE; - STDMETHOD(Send) (THIS_ DPID, DPID, DWORD, LPVOID, DWORD) PURE; - STDMETHOD(SetPlayerName) (THIS_ DPID,LPSTR,LPSTR) PURE; -}; -#endif - - - - -/**************************************************************************** - * - * DIRECTPLAY ERRORS - * - * Errors are represented by negative values and cannot be combined. - * - ****************************************************************************/ -#define DP_OK 0 -#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_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_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 DPOPEN_OPENSESSION 0x00000001 -#define DPOPEN_CREATESESSION 0x00000002 - -#define DPSEND_GUARANTEE 0x00000001 -#define DPSEND_HIGHPRIORITY 0x00000002 -#define DPSEND_TRYONCE 0x00000004 - -#define DPRECEIVE_ALL 0x00000001 -#define DPRECEIVE_TOPLAYER 0x00000002 -#define DPRECEIVE_FROMPLAYER 0x00000004 -#define DPRECEIVE_PEEK 0x00000008 - -#define DPCAPS_NAMESERVICE 0x00000001 // A name server is supported. -#define DPCAPS_NAMESERVER 0x00000002 // You are the name server. -#define DPCAPS_GUARANTEED 0x00000004 // SP's don't have to implement guarantees. - -#define DPENUMSESSIONS_AVAILABLE 0x00000001 // All games that match password (if given) - // and have openings. -#define DPENUMSESSIONS_ALL 0x00000002 -#define DPENUMSESSIONS_PREVIOUS 0x00000004 - -#define DPENUMPLAYERS_ALL 0x00000000 -#define DPENUMPLAYERS_PREVIOUS 0x00000004 -#define DPENUMPLAYERS_LOCAL 0x00000008 -#define DPENUMPLAYERS_REMOTE 0x00000010 -#define DPENUMPLAYERS_GROUP 0x00000020 -#define DPENUMPLAYERS_SESSION 0x00000080 - -// -// This flag is set on the enumsessions callback when the time out has occured. -// This means that there is no session data for this callback. -// If lpdwTimeOut is set to a non-zero value and the EnumSessionsCallback returns -// TRUE then EnumSessions will continue until the next timeout occurs. -// Timeouts are in milliseconds. - -#define DPESC_TIMEDOUT 0x00000001 - - -// -// System message structures and types. -// -// System messages have a leading 4 byte type code to identify the message. -// an app knows it is a system message because it is addressed 'To' player 0. -// - - -#define DPSYS_ADDPLAYER 0x0003 // DPMSG_ADDPLAYER -#define DPSYS_DELETEPLAYER 0x0005 // DPMSG_DELETEPLAYER - -#define DPSYS_ADDPLAYERTOGROUP 0x0007 // DPMSG_GROUPADD - -#define DPSYS_INVITE 0x000e // DPMSG_INVITE, Net only. - -#define DPSYS_DELETEGROUP 0x0020 // DPMSG_DELETEPLAYER -#define DPSYS_DELETEPLAYERFROMGRP 0x0021 // DPMSG_GROUPDELETE -#define DPSYS_SESSIONLOST 0x0031 - -#define DPSYS_CONNECT 0x484b // DPMSG_GENERIC - - - -typedef struct -{ - DWORD dwType; - DWORD dwPlayerType; - DPID dpId; - char szLongName[DPLONGNAMELEN]; - char szShortName[DPSHORTNAMELEN]; - DWORD dwCurrentPlayers; -} DPMSG_ADDPLAYER; - -typedef DPMSG_ADDPLAYER DPMSG_ADDGROUP; - -typedef struct -{ - DWORD dwType; - DPID dpIdGroup; - DPID dpIdPlayer; -} DPMSG_GROUPADD; - -typedef DPMSG_GROUPADD DPMSG_GROUPDELETE; -typedef struct -{ - DWORD dwType; - DPID dpId; -} DPMSG_DELETEPLAYER; - -typedef struct -{ - DWORD dwType; - DPSESSIONDESC dpsDesc; -} DPMSG_INVITE; - - - -typedef struct -{ - DWORD dwType; -} DPMSG_GENERIC; - -#pragma pack(pop) - - -DEFINE_GUID( IID_IDirectPlay, 0x5454e9a0, 0xdb65, 0x11ce, 0x92, 0x1c, 0x00, 0xaa, 0x00, 0x6c, 0x49, 0x72); - - - -#ifdef __cplusplus -}; -#endif - -#endif +/*==========================================================================; + * + * Copyright (C) 1994-1995 Microsoft Corporation. All Rights Reserved. + * + * File: dplay.h + * Content: DirectPlay include file + * + ***************************************************************************/ + +#ifndef __DPLAY_INCLUDED__ +#define __DPLAY_INCLUDED__ +#ifdef _WIN32 +/* for DECLARE_INTERFACE and HRESULT. */ +#include +#endif + +#define _FACDP 0x877 +#define MAKE_DPHRESULT( code ) MAKE_HRESULT( 1, _FACDP, code ) + +#ifdef __cplusplus +extern "C" { +#endif + +#pragma pack(push, 1) + + +/*============================================================================ + * + * DirectPlay Structures + * + * Various structures used to invoke DirectPlay. + * + *==========================================================================*/ + +#ifdef __cplusplus +/* 'struct' not 'class' per the way DECLARE_INTERFACE_ is defined */ +struct IDirectPlay; +typedef struct IDirectPlay FAR *LPDIRECTPLAY; +#else +typedef struct IDirectPlay FAR *LPDIRECTPLAY; +#endif + +typedef DWORD DPID, FAR *LPDPID; + +typedef struct _DPCAPS +{ + DWORD dwSize; + DWORD dwFlags; + DWORD dwMaxBufferSize; + DWORD dwMaxQueueSize; // Function of DPlay, not SP. + DWORD dwMaxPlayers; + DWORD dwHundredBaud; // 24 is 2400, 96 is 9600, etc. + DWORD dwLatency; +} DPCAPS; + +typedef DPCAPS FAR *LPDPCAPS; + +#define DPLONGNAMELEN 52 +#define DPSHORTNAMELEN 20 +#define DPSESSIONNAMELEN 32 +#define DPPASSWORDLEN 16 +#define DPUSERRESERVED 16 + +typedef struct +{ + DWORD dwSize; + GUID guidSession; // Id for Game. Null is all games. + DWORD dwSession; // session identifier + DWORD dwMaxPlayers; // Maximum players allowed in game. + DWORD dwCurrentPlayers; // Current players in Game. + DWORD dwFlags; // DPOPEN_* flags + char szSessionName[DPSESSIONNAMELEN];// Human readable name for Game + char szUserField[DPUSERRESERVED]; + DWORD dwReserved1; // Reserved for future MS use. + char szPassword[DPPASSWORDLEN]; // Password to be allowed into game. + DWORD dwReserved2; // Reserved for future MS use. + DWORD dwUser1; + DWORD dwUser2; + DWORD dwUser3; + DWORD dwUser4; +} DPSESSIONDESC; +typedef DPSESSIONDESC FAR *LPDPSESSIONDESC; + + +/* + * Create API + */ +typedef BOOL (FAR PASCAL * LPDPENUMDPCALLBACK)( + LPGUID lpSPGuid, + LPSTR lpFriendlyName, + DWORD dwMajorVersion, + DWORD dwMinorVersion, + LPVOID lpContext); + +typedef BOOL (FAR PASCAL * LPDPENUMSESSIONSCALLBACK)( + LPDPSESSIONDESC lpDPSGameDesc, + LPVOID lpContext, + LPDWORD lpdwTimeOut, + DWORD dwFlags); + + + +extern HRESULT WINAPI DirectPlayCreate( LPGUID lpGUID, LPDIRECTPLAY FAR *lplpDP, IUnknown FAR *pUnk); +extern HRESULT WINAPI DirectPlayEnumerate( LPDPENUMDPCALLBACK, LPVOID ); + + +/* Player enumeration callback prototype */ +typedef BOOL (FAR PASCAL *LPDPENUMPLAYERSCALLBACK)( + DPID dpId, + LPSTR lpFriendlyName, + LPSTR lpFormalName, + DWORD dwFlags, + LPVOID lpContext ); + +/* + * IDirectPlay + */ +#undef INTERFACE +#define INTERFACE IDirectPlay +#ifdef _WIN32 +DECLARE_INTERFACE_( IDirectPlay, IUnknown ) +{ + /*** IUnknown methods ***/ + STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE; + STDMETHOD_(ULONG,AddRef) (THIS) PURE; + STDMETHOD_(ULONG,Release) (THIS) PURE; + /*** IDirectPlay methods ***/ + STDMETHOD(AddPlayerToGroup) (THIS_ DPID, DPID) PURE; + STDMETHOD(Close) (THIS) PURE; + STDMETHOD(CreatePlayer) (THIS_ LPDPID,LPSTR,LPSTR,LPHANDLE) PURE; + STDMETHOD(CreateGroup) (THIS_ LPDPID,LPSTR,LPSTR) PURE; + STDMETHOD(DeletePlayerFromGroup)(THIS_ DPID,DPID) PURE; + STDMETHOD(DestroyPlayer) (THIS_ DPID) PURE; + STDMETHOD(DestroyGroup) (THIS_ DPID) PURE; + STDMETHOD(EnableNewPlayers) (THIS_ BOOL) PURE; + STDMETHOD(EnumGroupPlayers) (THIS_ DPID, LPDPENUMPLAYERSCALLBACK,LPVOID,DWORD) PURE; + STDMETHOD(EnumGroups) (THIS_ DWORD, LPDPENUMPLAYERSCALLBACK,LPVOID,DWORD) PURE; + STDMETHOD(EnumPlayers) (THIS_ DWORD, LPDPENUMPLAYERSCALLBACK,LPVOID,DWORD) PURE; + STDMETHOD(EnumSessions) (THIS_ LPDPSESSIONDESC,DWORD,LPDPENUMSESSIONSCALLBACK,LPVOID,DWORD) PURE; + STDMETHOD(GetCaps) (THIS_ LPDPCAPS) PURE; + STDMETHOD(GetMessageCount) (THIS_ DPID, LPDWORD) PURE; + STDMETHOD(GetPlayerCaps) (THIS_ DPID, LPDPCAPS) PURE; + STDMETHOD(GetPlayerName) (THIS_ DPID,LPSTR,LPDWORD,LPSTR,LPDWORD) PURE; + STDMETHOD(Initialize) (THIS_ LPGUID) PURE; + STDMETHOD(Open) (THIS_ LPDPSESSIONDESC) PURE; + STDMETHOD(Receive) (THIS_ LPDPID,LPDPID,DWORD,LPVOID,LPDWORD) PURE; + STDMETHOD(SaveSession) (THIS_ LPSTR) PURE; + STDMETHOD(Send) (THIS_ DPID, DPID, DWORD, LPVOID, DWORD) PURE; + STDMETHOD(SetPlayerName) (THIS_ DPID,LPSTR,LPSTR) PURE; +}; +#endif + + + + +/**************************************************************************** + * + * DIRECTPLAY ERRORS + * + * Errors are represented by negative values and cannot be combined. + * + ****************************************************************************/ +#define DP_OK 0 +#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_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_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 DPOPEN_OPENSESSION 0x00000001 +#define DPOPEN_CREATESESSION 0x00000002 + +#define DPSEND_GUARANTEE 0x00000001 +#define DPSEND_HIGHPRIORITY 0x00000002 +#define DPSEND_TRYONCE 0x00000004 + +#define DPRECEIVE_ALL 0x00000001 +#define DPRECEIVE_TOPLAYER 0x00000002 +#define DPRECEIVE_FROMPLAYER 0x00000004 +#define DPRECEIVE_PEEK 0x00000008 + +#define DPCAPS_NAMESERVICE 0x00000001 // A name server is supported. +#define DPCAPS_NAMESERVER 0x00000002 // You are the name server. +#define DPCAPS_GUARANTEED 0x00000004 // SP's don't have to implement guarantees. + +#define DPENUMSESSIONS_AVAILABLE 0x00000001 // All games that match password (if given) + // and have openings. +#define DPENUMSESSIONS_ALL 0x00000002 +#define DPENUMSESSIONS_PREVIOUS 0x00000004 + +#define DPENUMPLAYERS_ALL 0x00000000 +#define DPENUMPLAYERS_PREVIOUS 0x00000004 +#define DPENUMPLAYERS_LOCAL 0x00000008 +#define DPENUMPLAYERS_REMOTE 0x00000010 +#define DPENUMPLAYERS_GROUP 0x00000020 +#define DPENUMPLAYERS_SESSION 0x00000080 + +// +// This flag is set on the enumsessions callback when the time out has occured. +// This means that there is no session data for this callback. +// If lpdwTimeOut is set to a non-zero value and the EnumSessionsCallback returns +// TRUE then EnumSessions will continue until the next timeout occurs. +// Timeouts are in milliseconds. + +#define DPESC_TIMEDOUT 0x00000001 + + +// +// System message structures and types. +// +// System messages have a leading 4 byte type code to identify the message. +// an app knows it is a system message because it is addressed 'To' player 0. +// + + +#define DPSYS_ADDPLAYER 0x0003 // DPMSG_ADDPLAYER +#define DPSYS_DELETEPLAYER 0x0005 // DPMSG_DELETEPLAYER + +#define DPSYS_ADDPLAYERTOGROUP 0x0007 // DPMSG_GROUPADD + +#define DPSYS_INVITE 0x000e // DPMSG_INVITE, Net only. + +#define DPSYS_DELETEGROUP 0x0020 // DPMSG_DELETEPLAYER +#define DPSYS_DELETEPLAYERFROMGRP 0x0021 // DPMSG_GROUPDELETE +#define DPSYS_SESSIONLOST 0x0031 + +#define DPSYS_CONNECT 0x484b // DPMSG_GENERIC + + + +typedef struct +{ + DWORD dwType; + DWORD dwPlayerType; + DPID dpId; + char szLongName[DPLONGNAMELEN]; + char szShortName[DPSHORTNAMELEN]; + DWORD dwCurrentPlayers; +} DPMSG_ADDPLAYER; + +typedef DPMSG_ADDPLAYER DPMSG_ADDGROUP; + +typedef struct +{ + DWORD dwType; + DPID dpIdGroup; + DPID dpIdPlayer; +} DPMSG_GROUPADD; + +typedef DPMSG_GROUPADD DPMSG_GROUPDELETE; +typedef struct +{ + DWORD dwType; + DPID dpId; +} DPMSG_DELETEPLAYER; + +typedef struct +{ + DWORD dwType; + DPSESSIONDESC dpsDesc; +} DPMSG_INVITE; + + + +typedef struct +{ + DWORD dwType; +} DPMSG_GENERIC; + +#pragma pack(pop) + + +DEFINE_GUID( IID_IDirectPlay, 0x5454e9a0, 0xdb65, 0x11ce, 0x92, 0x1c, 0x00, 0xaa, 0x00, 0x6c, 0x49, 0x72); + + + +#ifdef __cplusplus +}; +#endif + +#endif -- cgit v1.2.3