Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

84 lines
3.4 KiB

  1. /*==========================================================================
  2. *
  3. * Copyright (C) 2000 Microsoft Corporation. All Rights Reserved.
  4. *
  5. * File: DPLApp.h
  6. * Content: DirectPlay Lobbied Application Header File
  7. *@@BEGIN_MSINTERNAL
  8. * History:
  9. * Date By Reason
  10. * ==== == ======
  11. * 02/21/00 mjn Created
  12. * 03/22/2000 jtk Changed interface names
  13. * 04/25/2000 rmt Bug #s 33138, 33145, 33150
  14. * 05/08/00 rmt Bug #34301 - Add flag to SetAppAvail to allow for multiple connects
  15. * 06/15/00 rmt Bug #33617 - Must provide method for providing automatic launch of DirectPlay instances
  16. * 07/08/2000 rmt Bug #38725 - Need to provide method to detect if app was lobby launched
  17. * rmt Bug #38757 - Callback messages for connections may return AFTER WaitForConnection returns
  18. * rmt Bug #38755 - No way to specify player name in Connection Settings
  19. * rmt Bug #38758 - DPLOBBY8.H has incorrect comments
  20. * rmt Bug #38783 - pvUserApplicationContext is only partially implemented
  21. * rmt Added DPLHANDLE_ALLCONNECTIONS and dwFlags (reserved field to couple of funcs).
  22. *@@END_MSINTERNAL
  23. *
  24. ***************************************************************************/
  25. #ifndef __DPLAPP_H__
  26. #define __DPLAPP_H__
  27. //**********************************************************************
  28. // Constant definitions
  29. //**********************************************************************
  30. //**********************************************************************
  31. // Macro definitions
  32. //**********************************************************************
  33. //**********************************************************************
  34. // Structure definitions
  35. //**********************************************************************
  36. typedef struct _DIRECTPLAYLOBBYOBJECT DIRECTPLAYLOBBYOBJECT;
  37. //**********************************************************************
  38. // Variable definitions
  39. //**********************************************************************
  40. //**********************************************************************
  41. // Constant definitions
  42. //**********************************************************************
  43. #define DPL_LOBBYLAUNCHED_CONNECT_TIMEOUT 4000
  44. //
  45. // VTable for lobbied application interface
  46. //
  47. extern IDirectPlay8LobbiedApplicationVtbl DPL_8LobbiedApplicationVtbl;
  48. //**********************************************************************
  49. // Function prototypes
  50. //**********************************************************************
  51. STDMETHODIMP DPL_RegisterProgram(IDirectPlay8LobbiedApplication *pInterface,
  52. PDPL_PROGRAM_DESC pdplProgramDesc,
  53. const DWORD dwFlags);
  54. STDMETHODIMP DPL_UnRegisterProgram(IDirectPlay8LobbiedApplication *pInterface,
  55. GUID *pguidApplication,
  56. const DWORD dwFlags);
  57. STDMETHODIMP DPL_SetAppAvailable(IDirectPlay8LobbiedApplication *pInterface, const BOOL fAvailable, const DWORD dwFlags );
  58. STDMETHODIMP DPL_WaitForConnection(IDirectPlay8LobbiedApplication *pInterface,
  59. const DWORD dwMilliseconds,
  60. const DWORD dwFlags );
  61. STDMETHODIMP DPL_UpdateStatus(IDirectPlay8LobbiedApplication *pInterface,
  62. const DPNHANDLE hLobby,
  63. const DWORD dwStatus,
  64. const DWORD dwFlags );
  65. HRESULT DPLAttemptLobbyConnection(DIRECTPLAYLOBBYOBJECT *const pdpLobbyObject);
  66. #endif // __DPLAPP_H__