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.

91 lines
3.6 KiB

  1. /*==========================================================================
  2. *
  3. * Copyright (C) 2000 Microsoft Corporation. All Rights Reserved.
  4. *
  5. * File: DPLClient.h
  6. * Content: DirectPlay Lobby Client 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/03/00 rmt Bug #33879 -- Status messsage missing from field
  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 __DPLCLIENT_H__
  26. #define __DPLCLIENT_H__
  27. //**********************************************************************
  28. // Constant definitions
  29. //**********************************************************************
  30. //**********************************************************************
  31. // Macro definitions
  32. //**********************************************************************
  33. //**********************************************************************
  34. // Structure definitions
  35. //**********************************************************************
  36. class CMessageQueue;
  37. //**********************************************************************
  38. // Variable definitions
  39. //**********************************************************************
  40. //
  41. // VTable for lobbied application interface
  42. //
  43. extern IDirectPlay8LobbyClientVtbl DPL_Lobby8ClientVtbl;
  44. //**********************************************************************
  45. // Function prototypes
  46. //**********************************************************************
  47. STDMETHODIMP DPL_EnumLocalPrograms(IDirectPlay8LobbyClient *pInterface,
  48. GUID *const pGuidApplication,
  49. BYTE *const pEnumData,
  50. DWORD *const pdwEnumDataSize,
  51. DWORD *const pdwEnumDataItems,
  52. const DWORD dwFlags );
  53. STDMETHODIMP DPL_ConnectApplication(IDirectPlay8LobbyClient *pInterface,
  54. DPL_CONNECT_INFO *const pdplConnectionInfo,
  55. const PVOID pvUserApplicationContext,
  56. DPNHANDLE *const hApplication,
  57. const DWORD dwTimeOut,
  58. const DWORD dwFlags);
  59. STDMETHODIMP DPL_ReleaseApplication(IDirectPlay8LobbyClient *pInterface,
  60. const DPNHANDLE hApplication,
  61. const DWORD dwFlags );
  62. HRESULT DPLSendLobbyClientInfo(DIRECTPLAYLOBBYOBJECT *const pdpLobbyObject,
  63. CMessageQueue *const pMessageQueue);
  64. HRESULT DPLLaunchApplication(DIRECTPLAYLOBBYOBJECT *const pdpLobbyObject,
  65. DPL_PROGRAM_DESC *const pdplProgramDesc,
  66. DWORD *const pdwPID,
  67. const DWORD dwTimeOut);
  68. HRESULT DPLUpdateAppStatus(DIRECTPLAYLOBBYOBJECT *const pdpLobbyObject,
  69. const DPNHANDLE hSender,
  70. BYTE *const pBuffer);
  71. HRESULT DPLUpdateConnectionSettings(DIRECTPLAYLOBBYOBJECT *const pdpLobbyObject,
  72. const DPNHANDLE hSender,
  73. BYTE *const pBuffer );
  74. #endif // __DNLCLIENT_H__