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.

416 lines
12 KiB

  1. import "imsconf3.idl";
  2. typedef enum tagNmGkState
  3. {
  4. NM_GK_INVALID,
  5. NM_GK_NOT_IN_GK_MODE,
  6. NM_GK_IDLE,
  7. NM_GK_LOGGING_ON,
  8. NM_GK_LOGGED_ON
  9. } NM_GK_STATE;
  10. typedef enum tagNmStreamEvent{
  11. NM_STREAMEVENT_DEVICE_OPENED = 0,
  12. NM_STREAMEVENT_DEVICE_FAILURE = 1,
  13. NM_STREAMEVENT_DEVICE_CLOSED
  14. } NM_STREAMEVENT;
  15. typedef enum tagNmSysOpt{
  16. NM_SYSOPT_LOGGED_ON = 69,
  17. NM_SYSOPT_BANDWIDTH = 70,
  18. NM_SYSOPT_CAPTURE_DEVICE = 71,
  19. NM_SYSOPT_DIRECTSOUND = 72,
  20. NM_SYSOPT_FULLDUPLEX = 73,
  21. } NM_SYSOPT;
  22. typedef enum tagNmGkNotifyCode
  23. {
  24. NM_GKNC_INVALID = 0,
  25. NM_GKNC_LOGON_TIMEOUT = 1,
  26. NM_GKNC_REG_CONFIRM = 2,
  27. NM_GKNC_UNREG_CONFIRM = 3,
  28. NM_GKNC_REJECTED = 4,
  29. NM_GKNC_UNREG_REQ = 5
  30. } NM_GK_NOTIFY_CODE;
  31. cpp_quote("#define NMCH_SRVC 0x00000040")
  32. cpp_quote("#define NM_INIT_OBJECT 0x00000004")
  33. // Internal extensions to the NM_ADDR_TYPE
  34. cpp_quote("#define NM_ADDR_ALIAS_ID ((NM_ADDR_TYPE)8)")
  35. cpp_quote("#define NM_ADDR_ALIAS_E164 ((NM_ADDR_TYPE)9)")
  36. // Internal extensions to the NM_AUDPROP
  37. cpp_quote("#define NM_AUDPROP_FULL_DUPLEX ((NM_AUDPROP)3)")
  38. cpp_quote("#define NM_AUDPROP_WAVE_DEVICE ((NM_AUDPROP)4)")
  39. cpp_quote("#define NM_AUDPROP_AUTOMIX ((NM_AUDPROP)5)")
  40. cpp_quote("#define NM_AUDPROP_DTMF_DIGIT ((NM_AUDPROP)6)")
  41. // Internal extensions to the NM_VIDPROP
  42. cpp_quote("#define NM_VIDPROP_SUSPEND_CAPTURE ((NM_VIDPROP)10)")
  43. cpp_quote("#define NM_VIDPROP_IMAGE_SIZES ((NM_VIDPROP)11)")
  44. cpp_quote("#define NM_VIDPROP_FRAME ((NM_VIDPROP)12)")
  45. cpp_quote("#define NM_VIDPROP_NUM_CAPTURE_DEVS ((NM_VIDPROP)13)")
  46. cpp_quote("#define NM_VIDPROP_CAPTURE_DEV_ID ((NM_VIDPROP)14)")
  47. cpp_quote("#define NM_VIDPROP_MAX_CAPTURE_NAME ((NM_VIDPROP)15)")
  48. cpp_quote("#define NM_VIDPROP_CAPTURE_LIST ((NM_VIDPROP)16)")
  49. // Internal extensions to the NM_SYSPROP
  50. cpp_quote("#define NM_SYSPROP_SHARING_MSG ((NM_SYSPROP)61)")
  51. cpp_quote("#define NM_SYSPROP_ICA_ENABLE ((NM_SYSPROP)60)")
  52. cpp_quote("#define NM_SYSPROP_WB_HELPFILE ((NM_SYSPROP)81)")
  53. cpp_quote("#define NM_SYSPROP_CB_HELPFILE ((NM_SYSPROP)82)")
  54. cpp_quote("#define CONFN_FT_FAILED ((CONFN)0x000217)")
  55. cpp_quote("#define CONFN_FT_MULT_CANCELED ((CONFN)0x000218)")
  56. cpp_quote("#define CONFN_FT_REJECTED ((CONFN)0x000219)")
  57. cpp_quote("#define CONFN_FT_RECDIR ((CONFN)0x00021A)")
  58. //--------------------------------------------------------------------------
  59. // INmManager2 Interface
  60. [
  61. object,
  62. uuid(068B0801-718C-11d0-8B1A-00A0C91BC90E),
  63. pointer_default(unique)
  64. ]
  65. interface INmManager2 : INmManager
  66. {
  67. HRESULT GetPreviewChannel(
  68. [out] INmChannelVideo **ppChannelVideo);
  69. //
  70. // BOGUS BOGUS BOGUS -- For RDS service since it is put into system
  71. // directory.
  72. //
  73. HRESULT CreateASObject(
  74. [in] IUnknown * pASNotify,
  75. [in] ULONG flags,
  76. [out] IUnknown ** ppAS);
  77. HRESULT AllowH323(
  78. [in] BOOL fAllowH323);
  79. HRESULT CallEx(
  80. [out] INmCall **ppCall, // Can be NULL
  81. [in] DWORD dwFlags,
  82. [in] NM_ADDR_TYPE addrType,
  83. [in] BSTR bstrName,
  84. [in] BSTR bstrSetup,
  85. [in] BSTR bstrDest,
  86. [in] BSTR bstrAlias,
  87. [in] BSTR bstrURL,
  88. [in] BSTR bstrConference,
  89. [in] BSTR bstrPassword,
  90. [in] BSTR bstrUserData);
  91. HRESULT CreateConferenceEx(
  92. [out] INmConference **ppConference, // Can be NULL
  93. [in] BSTR bstrName,
  94. [in] BSTR bstrPassword,
  95. [in] DWORD dwTypeFlags,
  96. [in] DWORD attendeePermissions,
  97. [in] DWORD maxParticipants);
  98. }
  99. //--------------------------------------------------------------------------
  100. // INmSysInfo2 Interface
  101. [
  102. object,
  103. uuid(068B0803-718C-11d0-8B1A-00A0C91BC90E),
  104. pointer_default(unique)
  105. ]
  106. interface INmSysInfo2 : INmSysInfo
  107. {
  108. HRESULT GetOption(
  109. [in] NM_SYSOPT uOption,
  110. [out] ULONG * plValue);
  111. HRESULT SetOption(
  112. [in] NM_SYSOPT uOption,
  113. [in] ULONG plValue);
  114. HRESULT ProcessSecurityData(
  115. [in] DWORD dwTaskCode,
  116. [in] DWORD_PTR dwParam1,
  117. [in] DWORD_PTR dwParam2,
  118. [out] DWORD * pdwResult);
  119. HRESULT GkLogon(
  120. [in] BSTR bstrAddr,
  121. [in] BSTR bstrAliasID,
  122. [in] BSTR bstrAliasE164);
  123. HRESULT GkLogoff();
  124. HRESULT GkState(
  125. [out] NM_GK_STATE* plState);
  126. }
  127. //--------------------------------------------------------------------------
  128. // INmSysInfoNotify Interface
  129. [
  130. object,
  131. uuid(AF9A9EAF-41BC-11d2-930E-0000F875AE17),
  132. pointer_default(unique)
  133. ]
  134. interface INmSysInfoNotify : IUnknown
  135. {
  136. HRESULT GateKeeperNotify( [in] NM_GK_NOTIFY_CODE GkEvent );
  137. }
  138. //--------------------------------------------------------------------------
  139. // INmCallNotify2 Interface
  140. [
  141. object,
  142. uuid(068B0805-718C-11d0-8B1A-00A0C91BC90E),
  143. pointer_default(unique)
  144. ]
  145. interface INmCallNotify2 : INmCallNotify
  146. {
  147. HRESULT CallError(
  148. [in] UINT cns);
  149. HRESULT RemoteConference(
  150. [in] BOOL fMCU,
  151. [in] BSTR *pwszConfNames,
  152. [in, out] BSTR *pbstrConfToJoin);
  153. HRESULT RemotePassword(
  154. [in] BSTR bstrConference,
  155. [in, out] BSTR *pbstrPassword,
  156. [in] BYTE *pb,
  157. [in] DWORD cb,
  158. [in] BOOL fIsService);
  159. }
  160. //--------------------------------------------------------------------------
  161. // INmConference2 Interface
  162. [
  163. object,
  164. uuid(068B0810-718C-11d0-8B1A-00A0C91BC90E),
  165. pointer_default(unique)
  166. ]
  167. interface INmConference2 : INmConference
  168. {
  169. HRESULT DisconnectAV(
  170. [in] INmMember *pMember);
  171. HRESULT ConnectAV(
  172. [in] INmMember *pMember);
  173. HRESULT GetConferenceHandle(
  174. [out] HANDLE_PTR *pdwHandle);
  175. HRESULT CreateDataChannelEx(
  176. [out] INmChannelData **ppChannel,
  177. [in] REFGUID rguid,
  178. [in] BYTE * pER);
  179. }
  180. // INmConferenceNotify2 Interface
  181. // same as above interface but also provides stream event notifications
  182. [
  183. object,
  184. uuid(711ec740-6867-11d2-a9a8-00c04fd91a6f),
  185. pointer_default(unique)
  186. ]
  187. interface INmConferenceNotify2 : INmConferenceNotify
  188. {
  189. HRESULT StreamEvent(
  190. [in] NM_STREAMEVENT uEvent,
  191. [in] UINT uSubCode,
  192. [in] INmChannel *pChannel);
  193. }
  194. //--------------------------------------------------------------------------
  195. // INmChannelData2 Interface
  196. [
  197. object,
  198. uuid(068B0822-718C-11d0-8B1A-00A0C91BC90E),
  199. pointer_default(unique)
  200. ]
  201. interface INmChannelData2 : INmChannelData
  202. {
  203. HRESULT RegistryAllocateHandle(
  204. [in] ULONG numberOfHandlesRequested);
  205. }
  206. //--------------------------------------------------------------------------
  207. // INmChannelDataNotify2 Interface
  208. [
  209. object,
  210. uuid(068B0823-718C-11d0-8B1A-00A0C91BC90E),
  211. pointer_default(unique)
  212. ]
  213. interface INmChannelDataNotify2 : INmChannelDataNotify
  214. {
  215. HRESULT AllocateHandleConfirm(
  216. [in] ULONG handle_value,
  217. [in] ULONG chandles);
  218. }
  219. //--------------------------------------------------------------------------
  220. // IInternalFtObj
  221. [
  222. object,
  223. uuid(053BBEFB-B3BA-11d2-9358-0000F875AE17),
  224. pointer_default(unique)
  225. ]
  226. interface IInternalFtObj : IUnknown
  227. {
  228. HRESULT GetHEvent(UINT *phEvent);
  229. HRESULT OnFileProgress(UINT hFile, ULONG lFileSize, ULONG lBytesTransmitted);
  230. HRESULT FileTransferDone();
  231. HRESULT OnError();
  232. }
  233. //--------------------------------------------------------------------------
  234. // IInternalMemberObj
  235. [
  236. object,
  237. uuid(6EC88CF8-A41B-11d2-9349-0000F875AE17),
  238. pointer_default(unique)
  239. ]
  240. interface IInternalMemberObj : IUnknown
  241. {
  242. HRESULT GetInternalINmMember([out] INmMember** ppMember);
  243. }
  244. //--------------------------------------------------------------------------
  245. // IInternalSysInfoObj
  246. [
  247. object,
  248. uuid(34871E81-D33A-11d2-92C7-00C04F68D5AE),
  249. pointer_default(unique)
  250. ]
  251. interface IInternalSysInfoObj : IUnknown
  252. {
  253. HRESULT SetID([in] DWORD ID);
  254. }
  255. //--------------------------------------------------------------------------
  256. // IInternalConfExe
  257. [
  258. object,
  259. uuid(97799F9C-A969-11d2-9355-0000F875AE17),
  260. pointer_default(unique)
  261. ]
  262. interface IInternalConfExe : IUnknown
  263. {
  264. HRESULT LoggedIn();
  265. HRESULT IsRunning();
  266. HRESULT InConference();
  267. HRESULT LDAPLogon([in] BOOL bLogon);
  268. HRESULT GetLocalCaps([out] DWORD* pdwLocalCaps);
  269. HRESULT IsNetMeetingRunning();
  270. HRESULT GetActiveConference([out] INmConference** ppConf);
  271. HRESULT ShellCalltoProtocolHandler([in] BSTR url, [in] BOOL bStrict);
  272. HRESULT Launch();
  273. HRESULT LaunchApplet([in] NM_APPID appid, [in,ptr] BSTR strCmdLine);
  274. HRESULT GetUserData([in] REFGUID rguid, [out, size_is(,*pcb)] BYTE **ppb, [out] ULONG *pcb);
  275. HRESULT SetUserData([in] REFGUID rguid, [in, size_is(cb)] BYTE *pb, [in] ULONG cb);
  276. HRESULT SetSysInfoID([in] DWORD dwID);
  277. HRESULT DisableH323([in] BOOL bDisableH323);
  278. HRESULT DisableInitialILSLogon([in] BOOL bDisableH323);
  279. HRESULT SetCallerIsRTC([in] BOOL bCallerIsRTC);
  280. }
  281. //--------------------------------------------------------------------------
  282. // IInternalConferenceObj
  283. [
  284. object,
  285. uuid(507708C5-A74A-11d2-9351-0000F875AE17),
  286. pointer_default(unique)
  287. ]
  288. interface IInternalConferenceObj : IUnknown
  289. {
  290. HRESULT GetInternalINmConference([out] INmConference** ppConference);
  291. HRESULT GetMemberFromNodeID([in] DWORD dwNodeID, [out] INmMember** ppMember);
  292. HRESULT RemoveAllMembersAndChannels();
  293. HRESULT AppSharingStateChanged([in] BOOL bActive);
  294. HRESULT SharableAppStateChanged([in] HWND hWnd, [in] NM_SHAPP_STATE state);
  295. HRESULT ASLocalMemberChanged();
  296. HRESULT ASMemberChanged([in] UINT gccID);
  297. HRESULT FireNotificationsToSyncState();
  298. HRESULT AppSharingChannelChanged();
  299. HRESULT FireNotificationsToSyncToInternalObject();
  300. HRESULT EnsureFTChannel();
  301. HRESULT AudioChannelActiveState(BOOL bActive, BOOL bIsIncoming);
  302. HRESULT VideoChannelActiveState(BOOL bActive, BOOL bIsIncoming);
  303. HRESULT VideoChannelPropChanged(DWORD dwProp, BOOL bIsIncoming);
  304. HRESULT VideoChannelStateChanged(NM_VIDEO_STATE uState, BOOL bIsIncoming);
  305. }
  306. //--------------------------------------------------------------------------
  307. // IInternalChannelObj
  308. [
  309. object,
  310. uuid(43DB3A8E-A440-11d2-934A-0000F875AE17),
  311. pointer_default(unique)
  312. ]
  313. interface IInternalChannelObj : IUnknown
  314. {
  315. HRESULT GetInternalINmChannel([out] INmChannel** ppChannel);
  316. HRESULT ChannelRemoved();
  317. HRESULT NotifySinksOfLocalMember();
  318. HRESULT NotifySinksOfAllMembers();
  319. HRESULT Activate([in] BOOL bActive);
  320. HRESULT SDKMemberChanged([in] INmMember* pSDKMember);
  321. HRESULT SDKMemberAdded([in] INmMember* pSDKMember);
  322. HRESULT SDKMemberRemoved([in] INmMember* pSDKMember);
  323. HRESULT FireNotificationsToSyncState();
  324. }
  325. //--------------------------------------------------------------------------
  326. // IInternalCall
  327. [
  328. object,
  329. uuid(57E03C63-A719-11d2-9351-0000F875AE17),
  330. pointer_default(unique)
  331. ]
  332. interface IInternalCallObj : IUnknown
  333. {
  334. HRESULT GetInternalINmCall([out] INmCall** ppCall);
  335. }
  336. [
  337. uuid(507708CA-A74A-11d2-9351-0000F875AE17),
  338. version(1.0),
  339. helpstring("NetMeeting Internal SDK Type Library")
  340. ]
  341. library SDKInternal
  342. {
  343. [
  344. uuid(507708CC-A74A-11d2-9351-0000F875AE17),
  345. helpstring("NmSysInfo object")
  346. ]
  347. coclass NmSysInfo
  348. {
  349. [default] interface INmSysInfo;
  350. };
  351. [
  352. uuid(068B0800-718C-11d0-8B1A-00A0C91BC90E),
  353. helpstring("NetMeeting Manager v2")
  354. ]
  355. coclass NmManager2
  356. {
  357. [default] interface INmManager2;
  358. };
  359. };
  360.