Source code of Windows XP (NT5)
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.

186 lines
6.9 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 1998 - 1999
  6. //
  7. // File: dplaylobby3obj.h
  8. //
  9. //--------------------------------------------------------------------------
  10. // _dxj_DirectPlayLobby3Obj.h : Declaration of the C_dxj_DirectPlayLobby3Object
  11. // DHF begin - entire file
  12. #include "resource.h" // main symbols
  13. #define typedef__dxj_DirectPlayLobby3 LPDIRECTPLAYLOBBY3
  14. /////////////////////////////////////////////////////////////////////////////
  15. // DirectPlayLobby3
  16. //REVIEW -- using pointers to ID's is necessary because some compilers don't like
  17. //references as template arguments.
  18. class C_dxj_DirectPlayLobby3Object :
  19. public I_dxj_DirectPlayLobby3,
  20. // public CComCoClass<C_dxj_DirectPlayLobby3Object, &CLSID__dxj_DirectPlayLobby3>,
  21. public CComObjectRoot
  22. {
  23. public:
  24. C_dxj_DirectPlayLobby3Object() ;
  25. virtual ~C_dxj_DirectPlayLobby3Object() ;
  26. BEGIN_COM_MAP(C_dxj_DirectPlayLobby3Object)
  27. COM_INTERFACE_ENTRY(I_dxj_DirectPlayLobby3)
  28. END_COM_MAP()
  29. // DECLARE_REGISTRY(CLSID__dxj_DirectPlayLobby3, "DIRECT.DirectPlayLobby3.5", "DIRECT.DiectPlayLobby3.5", IDS_DPLAYLOBBY_DESC, THREADFLAGS_BOTH)
  30. // Use DECLARE_NOT_AGGREGATABLE(C_dxj_DirectPlayLobby3Object) if you don't want your object
  31. // to support aggregation
  32. DECLARE_AGGREGATABLE(C_dxj_DirectPlayLobby3Object)
  33. public:
  34. /* [hidden] */ HRESULT STDMETHODCALLTYPE InternalSetObject(
  35. /* [in] */ IUnknown __RPC_FAR *lpdd);
  36. /* [hidden] */ HRESULT STDMETHODCALLTYPE InternalGetObject(
  37. /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *lpdd);
  38. HRESULT STDMETHODCALLTYPE connect(
  39. /* [in] */ long flags,
  40. /* [retval][out] */ I_dxj_DirectPlay4 __RPC_FAR *__RPC_FAR *directPlay);
  41. // HRESULT STDMETHODCALLTYPE createAddress(
  42. // /* [in] */ BSTR spGuid,
  43. // /* [in] */ BSTR addressTypeGuid,
  44. // /* [in] */ BSTR addressString,
  45. // /* [retval][out] */ I_dxj_DPAddress __RPC_FAR *__RPC_FAR *ret);
  46. // HRESULT STDMETHODCALLTYPE createCompoundAddress(
  47. // /* [in] */ SAFEARRAY __RPC_FAR * __RPC_FAR *elements,
  48. // /* [in] */ long elementCount,
  49. // /* [retval][out] */ I_dxj_DPAddress __RPC_FAR *__RPC_FAR *ret);
  50. // HRESULT STDMETHODCALLTYPE getDPEnumAddress(
  51. // /* [retval][out] */ I_dxj_DPAddress __RPC_FAR *addr,
  52. // /* [retval][out] */ I_dxj_DPEnumAddress __RPC_FAR *__RPC_FAR *retVal);
  53. // HRESULT STDMETHODCALLTYPE getDPEnumAddressTypes(
  54. // /* [in] */ BSTR guid,
  55. // /* [retval][out] */ I_dxj_DPEnumAddressTypes __RPC_FAR *__RPC_FAR *retVal);
  56. HRESULT STDMETHODCALLTYPE getDPEnumLocalApplications(
  57. /* [retval][out] */ I_dxj_DPEnumLocalApplications __RPC_FAR *__RPC_FAR *retVal);
  58. HRESULT STDMETHODCALLTYPE getConnectionSettings(
  59. /* [in] */ long applicationId,
  60. /* [retval][out] */ I_dxj_DPLConnection __RPC_FAR *__RPC_FAR *connection);
  61. HRESULT STDMETHODCALLTYPE receiveLobbyMessage(
  62. /* [in] */ long applicationId,
  63. /* [out][in] */ long __RPC_FAR *messageFlags,
  64. /* [retval][out] */ I_dxj_DirectPlayMessage __RPC_FAR *__RPC_FAR *data);
  65. HRESULT STDMETHODCALLTYPE receiveLobbyMessageSize(
  66. /* [in] */ long applicationId,
  67. /* [out][in] */ long __RPC_FAR *messageFlags,
  68. /* [retval][out] */ long __RPC_FAR *dataSize);
  69. HRESULT STDMETHODCALLTYPE runApplication(
  70. /* [in] */ I_dxj_DPLConnection __RPC_FAR *connection,
  71. /* [in] */ long receiveEvent,
  72. /* [out,retval] */ long __RPC_FAR *applicationId
  73. );
  74. HRESULT STDMETHODCALLTYPE sendLobbyMessage(
  75. /* [in] */ long flags,
  76. /* [in] */ long applicationId,
  77. /* [in] */ I_dxj_DirectPlayMessage __RPC_FAR *msg);
  78. HRESULT STDMETHODCALLTYPE setConnectionSettings(
  79. /* [in] */ long applicationId,
  80. /* [in] */ I_dxj_DPLConnection __RPC_FAR *connection);
  81. HRESULT STDMETHODCALLTYPE setLobbyMessageEvent(
  82. /* [in] */ long applicationId,
  83. /* [in] */ long receiveEvent);
  84. HRESULT STDMETHODCALLTYPE registerApplication(
  85. /* [in] */ DpApplicationDesc2 __RPC_FAR *ApplicationInfo);
  86. HRESULT STDMETHODCALLTYPE unregisterApplication(
  87. /* [in] */ BSTR guidApplication);
  88. HRESULT STDMETHODCALLTYPE waitForConnectionSettings(
  89. /* [in] */ long flags);
  90. HRESULT STDMETHODCALLTYPE createMessage(
  91. /* [retval][out] */ I_dxj_DirectPlayMessage __RPC_FAR *__RPC_FAR *msg);
  92. HRESULT STDMETHODCALLTYPE createConnectionData(
  93. /* [retval][out] */ I_dxj_DPLConnection __RPC_FAR *__RPC_FAR *con);
  94. HRESULT STDMETHODCALLTYPE createINetAddress(
  95. /* [in] */ BSTR addr,
  96. /* [in] */ int port,
  97. /* [retval][out] */ I_dxj_DPAddress __RPC_FAR *__RPC_FAR *ret);
  98. HRESULT STDMETHODCALLTYPE createComPortAddress(
  99. /* [in] */ long port,
  100. /* [in] */ long baudRate,
  101. /* [in] */ long stopBits,
  102. /* [in] */ long parity,
  103. /* [in] */ long flowcontrol,
  104. /* [retval][out] */ I_dxj_DPAddress __RPC_FAR *__RPC_FAR *ret);
  105. HRESULT STDMETHODCALLTYPE createLobbyProviderAddress(
  106. /* [in] */ BSTR guid,
  107. /* [retval][out] */ I_dxj_DPAddress __RPC_FAR *__RPC_FAR *ret);
  108. HRESULT STDMETHODCALLTYPE createServiceProviderAddress(
  109. /* [in] */ BSTR guid,
  110. /* [retval][out] */ I_dxj_DPAddress __RPC_FAR *__RPC_FAR *ret);
  111. HRESULT STDMETHODCALLTYPE createModemAddress(
  112. /* [in] */ BSTR modem,
  113. /* [in] */ BSTR phone,
  114. /* [retval][out] */ I_dxj_DPAddress __RPC_FAR *__RPC_FAR *ret);
  115. HRESULT STDMETHODCALLTYPE createIPXAddress(
  116. /* [retval][out] */ I_dxj_DPAddress __RPC_FAR *__RPC_FAR *ret);
  117. HRESULT STDMETHODCALLTYPE createCustomAddress(
  118. /* [in] */ long size,
  119. /* [in] */ void __RPC_FAR *data,
  120. /* [retval][out] */ I_dxj_DPAddress __RPC_FAR *__RPC_FAR *ret);
  121. HRESULT STDMETHODCALLTYPE getModemName(
  122. /* [in] */ long index,
  123. /* [retval][out] */ BSTR *name);
  124. HRESULT STDMETHODCALLTYPE getModemCount(
  125. /* [retval][out] */ long __RPC_FAR *count);
  126. ////////////////////////////////////////////////////////////////////////////////////
  127. //
  128. // note: this is public for the callbacks
  129. DECL_VARIABLE(_dxj_DirectPlayLobby3);
  130. DWORD m_modemIndex;
  131. BSTR m_modemResult;
  132. private:
  133. public:
  134. DX3J_GLOBAL_LINKS( _dxj_DirectPlayLobby3 )
  135. };
  136. //MUST DEFINE THIS IN DIRECT.CPP