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.

224 lines
8.1 KiB

  1. #ifndef _INODECNT_H_
  2. #define _INODECNT_H_
  3. typedef void * REQUEST_HANDLE;
  4. typedef REQUEST_HANDLE * PREQUEST_HANDLE;
  5. typedef void * ROSTER_DATA_HANDLE;
  6. typedef struct NC_ROSTER_NODE_ENTRY
  7. {
  8. PWSTR pwszNodeName;
  9. UINT uNodeID;
  10. UINT uSuperiorNodeID;
  11. BOOL fMCU;
  12. ROSTER_DATA_HANDLE hUserData;
  13. } NC_ROSTER_NODE_ENTRY, * PNC_ROSTER_NODE_ENTRY;
  14. typedef struct NC_ROSTER
  15. {
  16. UINT uNumNodes;
  17. PWSTR pwszConferenceName;
  18. UINT uConferenceID;
  19. UINT uLocalNodeID;
  20. NC_ROSTER_NODE_ENTRY nodes[1];
  21. } NC_ROSTER, * PNC_ROSTER;
  22. #undef INTERFACE
  23. #define INTERFACE IDataConference
  24. DECLARE_INTERFACE(IDataConference)
  25. {
  26. STDMETHOD_(void, ReleaseInterface)( THIS ) PURE;
  27. STDMETHOD_(UINT, GetConferenceID) ( THIS ) PURE;
  28. STDMETHOD(Leave) ( THIS ) PURE;
  29. STDMETHOD(EjectUser) ( THIS_
  30. UINT uNodeID) PURE;
  31. STDMETHOD(Invite) ( THIS_
  32. LPCSTR pcszAddress,
  33. PREQUEST_HANDLE phRequest) PURE;
  34. STDMETHOD(InviteResponse) ( THIS_
  35. BOOL fResponse) PURE;
  36. STDMETHOD(JoinResponse) ( THIS_
  37. BOOL fResponse) PURE;
  38. STDMETHOD(LaunchGuid) ( THIS_
  39. const GUID* pcGUID,
  40. UINT auNodeIDs[],
  41. UINT cNodes) PURE;
  42. STDMETHOD_(BOOL, IsSecure) ( THIS_) PURE;
  43. STDMETHOD(GetLocalAddressList) ( THIS_
  44. LPWSTR pwszBuffer,
  45. UINT cchBuffer) PURE;
  46. STDMETHOD(CancelInvite) ( THIS_
  47. REQUEST_HANDLE hRequest) PURE;
  48. STDMETHOD(SetSecurity) ( THIS_
  49. BOOL fSecure) PURE;
  50. STDMETHOD(GetCred) ( THIS_
  51. PBYTE* ppbCred,
  52. DWORD* pcbCred) PURE;
  53. STDMETHOD_(UINT, GetParentNodeID) ( THIS ) PURE;
  54. };
  55. typedef IDataConference * CONF_HANDLE;
  56. typedef CONF_HANDLE * PCONF_HANDLE;
  57. #undef INTERFACE
  58. #define INTERFACE INodeControllerEvents
  59. DECLARE_INTERFACE(INodeControllerEvents)
  60. {
  61. STDMETHOD(OnConferenceStarted)( THIS_
  62. CONF_HANDLE hConference,
  63. HRESULT hResult) PURE;
  64. STDMETHOD(OnConferenceEnded)( THIS_
  65. CONF_HANDLE hConference) PURE;
  66. STDMETHOD(OnRosterChanged)( THIS_
  67. CONF_HANDLE hConference,
  68. PNC_ROSTER pRoster) PURE;
  69. STDMETHOD(OnIncomingInviteRequest)( THIS_
  70. CONF_HANDLE hConference,
  71. PCWSTR pcwszNodeName,
  72. BOOL fSecure) PURE;
  73. STDMETHOD(OnIncomingJoinRequest)( THIS_
  74. CONF_HANDLE hConference,
  75. PCWSTR pcwszNodeName) PURE;
  76. STDMETHOD(OnQueryRemoteResult)( THIS_
  77. PVOID pvCallerContext,
  78. HRESULT hResult,
  79. BOOL fMCU,
  80. PWSTR* ppwszConferenceNames,
  81. PWSTR* ppwszConfDescriptors) PURE;
  82. STDMETHOD(OnInviteResult)( THIS_
  83. CONF_HANDLE hConference,
  84. REQUEST_HANDLE hRequest,
  85. UINT uNodeID,
  86. HRESULT hResult) PURE;
  87. };
  88. #undef INTERFACE
  89. #define INTERFACE INodeController
  90. DECLARE_INTERFACE(INodeController)
  91. {
  92. STDMETHOD_(void, ReleaseInterface)( THIS_) PURE;
  93. STDMETHOD(QueryRemote)( THIS_
  94. LPVOID pCallerContext,
  95. LPCSTR pcszAddress,
  96. BOOL fSecure,
  97. BOOL fIsConferenceActive) PURE;
  98. STDMETHOD(CancelQueryRemote)( THIS_
  99. LPVOID pCallerContext) PURE;
  100. STDMETHOD(CreateConference)( THIS_
  101. LPCWSTR pcwszConferenceName,
  102. LPCWSTR pcwszPassword,
  103. PBYTE pbHashedPassword,
  104. DWORD cbHashedPassword,
  105. BOOL fSecure,
  106. PCONF_HANDLE phConference) PURE;
  107. STDMETHOD(JoinConference)( THIS_
  108. LPCWSTR pcwszConferenceName,
  109. LPCWSTR pcwszPassword,
  110. LPCSTR pcszAddress,
  111. BOOL fSecure,
  112. PCONF_HANDLE phConference) PURE;
  113. STDMETHOD_(UINT, GetPluggableConnID) (THIS_
  114. LPCSTR pcszNodeAddress) PURE;
  115. };
  116. HRESULT WINAPI T120_CreateNodeController(INodeController **, INodeControllerEvents *,
  117. BSTR szUserName, DWORD_PTR pCredentials, DWORD flags);
  118. BOOL WINAPI T120_GetSecurityInfoFromGCCID(DWORD dwGCCID, PBYTE pInfo, PDWORD pcbInfo);
  119. //
  120. // Return codes
  121. //
  122. #define NC_ERR_FAC 0xfe00
  123. #define NC_E(e) (0x81000000UL | NC_ERR_FAC | (ULONG) (e))
  124. enum UI_RC_ERRORS
  125. {
  126. UI_RC_ALREADY_IN_CONFERENCE = NC_E(0x01),
  127. UI_RC_CONFERENCE_ALREADY_EXISTS,
  128. UI_RC_INVALID_PASSWORD,
  129. UI_RC_NO_CONFERENCE_NAME,
  130. UI_RC_T120_FAILURE,
  131. UI_RC_UNKNOWN_CONFERENCE,
  132. UI_RC_BAD_TRANSPORT_NAME,
  133. UI_RC_USER_REJECTED,
  134. LAST_RC_GCC_MAPPED_ERROR = UI_RC_USER_REJECTED,
  135. UI_RC_T120_ALREADY_INITIALIZED,
  136. UI_RC_BAD_ADDRESS,
  137. UI_RC_NO_ADDRESS,
  138. UI_RC_NO_SUCH_CONFERENCE,
  139. UI_RC_CONFERENCE_CREATE_FAILED,
  140. UI_RC_BAD_PARAMETER,
  141. UI_RC_OUT_OF_MEMORY,
  142. UI_RC_CALL_GOING_DOWN,
  143. UI_RC_CALL_FAILED,
  144. UI_NO_SUCH_CONFERENCE,
  145. UI_RC_CONFERENCE_GOING_DOWN,
  146. UI_RC_INVALID_REQUEST,
  147. UI_RC_USER_DISCONNECTED,
  148. UI_RC_EXITING_CORE_UI,
  149. UI_RC_NO_NODE_NAME,
  150. UI_RC_INVALID_TRANSPORT_SETTINGS,
  151. UI_RC_REGISTER_CPI_FAILURE,
  152. UI_RC_CMP_FAILURE,
  153. UI_RC_TRANSPORT_DISABLED,
  154. UI_RC_TRANSPORT_FAILED,
  155. UI_RC_NOT_SUPPORTED,
  156. UI_RC_NOT_SUPPORTED_IN_BACKLEVEL,
  157. UI_RC_CONFERENCE_NOT_READY,
  158. UI_RC_NO_SUCH_USER_DATA,
  159. UI_RC_INTERNAL_ERROR,
  160. UI_RC_VERSION_REMOTE_INCOMPATIBLE,
  161. UI_RC_VERSION_LOCAL_INCOMPATIBLE,
  162. UI_RC_VERSION_REMOTE_EXPIRED,
  163. UI_RC_VERSION_LOCAL_UPGRADE_RECOMMENDED,
  164. UI_RC_VERSION_REMOTE_UPGRADE_RECOMMENDED,
  165. UI_RC_VERSION_REMOTE_OLDER,
  166. UI_RC_VERSION_REMOTE_NEWER,
  167. UI_RC_BACKLEVEL_LOADED,
  168. UI_RC_NULL_MODEM_CONNECTION,
  169. UI_RC_CANCELED,
  170. UI_RC_T120_REMOTE_NO_SECURITY,
  171. UI_RC_T120_REMOTE_DOWNLEVEL_SECURITY,
  172. UI_RC_T120_REMOTE_REQUIRE_SECURITY,
  173. UI_RC_T120_SECURITY_FAILED,
  174. UI_RC_T120_AUTHENTICATION_FAILED,
  175. UI_RC_NO_WINSOCK,
  176. //
  177. // Internal return codes
  178. //
  179. UI_RC_START_PRIMARY = NC_E(0x81),
  180. UI_RC_START_ALTERNATE = NC_E(0x82)
  181. };
  182. #endif // _INODECNT_H_
  183.