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.

459 lines
14 KiB

  1. //
  2. // Copyright (c) Microsoft Corporation. All rights reserved.
  3. cpp_quote("/* Copyright (c) Microsoft Corporation. All rights reserved. */")
  4. // sdpblb.idl : IDL source for sdpblb.dll
  5. //
  6. midl_pragma warning( disable: 2039 )
  7. // This file will be processed by the MIDL tool to
  8. // produce the type library (sdpblb.tlb) and marshalling code.
  9. import "oaidl.idl";
  10. import "ocidl.idl";
  11. // Media and conference blob object Interfaces
  12. const DISPID IDISPCONFBLOB = 0x00010000;
  13. const DISPID IDISPSDP = 0x00020000;
  14. const DISPID IDISPCONNECTION = 0x00030000;
  15. const DISPID IDISPATTRLIST = 0x00040000;
  16. const DISPID IDISPMEDIA = 0x00050000;
  17. typedef enum BLOB_CHARACTER_SET
  18. {
  19. BCS_ASCII = 1,
  20. BCS_UTF7 = 2,
  21. BCS_UTF8 = 3
  22. } BLOB_CHARACTER_SET;
  23. [
  24. object,
  25. uuid(C259D7AA-C8AB-11D0-8D58-00C04FD91AC0),
  26. dual,
  27. helpstring("ITConferenceBlob Interface"),
  28. pointer_default(unique)
  29. ]
  30. interface ITConferenceBlob : IDispatch
  31. {
  32. [id(IDISPCONFBLOB | 1), helpstring("method Init")]
  33. HRESULT Init(
  34. [in] BSTR pName,
  35. [in] BLOB_CHARACTER_SET CharacterSet,
  36. [in] BSTR pBlob);
  37. [propget, id(IDISPCONFBLOB | 2), helpstring("property CharacterSet")]
  38. HRESULT CharacterSet([out, retval] BLOB_CHARACTER_SET *pCharacterSet);
  39. [propget, id(IDISPCONFBLOB | 3), helpstring("property ConferenceBlob")]
  40. HRESULT ConferenceBlob([out, retval] BSTR *ppBlob);
  41. [id(IDISPCONFBLOB | 4), helpstring("method ConferenceBlob")]
  42. HRESULT SetConferenceBlob(
  43. [in] BLOB_CHARACTER_SET CharacterSet,
  44. [in] BSTR pBlob);
  45. };
  46. [
  47. object,
  48. uuid(0CC1F053-CAEB-11D0-8D58-00C04FD91AC0),
  49. dual,
  50. helpstring("ITMedia Interface"),
  51. pointer_default(unique)
  52. ]
  53. interface ITMedia : IDispatch
  54. {
  55. [propget, id(IDISPMEDIA | 1), helpstring("property MediaName")]
  56. HRESULT MediaName([out, retval] BSTR *ppMediaName);
  57. [propput, id(IDISPMEDIA | 1), helpstring("property MediaName")]
  58. HRESULT MediaName([in] BSTR pMediaName);
  59. [propget, id(IDISPMEDIA | 2), helpstring("property StartPort")]
  60. HRESULT StartPort([out, retval] LONG *pStartPort);
  61. [propget, id(IDISPMEDIA | 3), helpstring("property NumPorts")]
  62. HRESULT NumPorts([out, retval] LONG *pNumPorts);
  63. [propget, id(IDISPMEDIA | 4), helpstring("property TransportProtocol")]
  64. HRESULT TransportProtocol([out, retval] BSTR *ppProtocol);
  65. [propput, id(IDISPMEDIA | 4), helpstring("property TransportProtocol")]
  66. HRESULT TransportProtocol([in] BSTR pProtocol);
  67. [propget, id(IDISPMEDIA | 5), helpstring("property FormatCodes")]
  68. HRESULT FormatCodes([out, retval] VARIANT /*SAFEARRAY (BSTR)*/ *pVal);
  69. [propput, id(IDISPMEDIA | 5), helpstring("property FormatCodes")]
  70. HRESULT FormatCodes([in] VARIANT /*SAFEARRAY (BSTR)*/ NewVal);
  71. [propget, id(IDISPMEDIA | 6), helpstring("property MediaTitle")]
  72. HRESULT MediaTitle([out, retval] BSTR *ppMediaTitle);
  73. [propput, id(IDISPMEDIA | 6), helpstring("property MediaTitle")]
  74. HRESULT MediaTitle([in] BSTR pMediaTitle);
  75. [id(IDISPMEDIA | 7), helpstring("method SetPortInfo")]
  76. HRESULT SetPortInfo([in] LONG StartPort, [in] LONG NumPorts);
  77. };
  78. [
  79. object,
  80. uuid(CA8397BE-2FA4-11D1-9774-00C04FD91AC0),
  81. helpstring("IEnumMedia interface"),
  82. pointer_default(unique),
  83. hidden
  84. ]
  85. interface IEnumMedia : IUnknown
  86. {
  87. HRESULT Next(
  88. [in] ULONG celt,
  89. [out] ITMedia **pVal,
  90. [out] ULONG * pceltFetched
  91. );
  92. HRESULT Reset( void );
  93. HRESULT Skip (
  94. [in] ULONG celt
  95. );
  96. HRESULT Clone (
  97. [out, retval] IEnumMedia ** ppEnum
  98. );
  99. };
  100. [
  101. object,
  102. uuid(6A8E16A2-0ABC-11D1-976D-00C04FD91AC0),
  103. dual,
  104. helpstring("ITMediaCollection Interface"),
  105. pointer_default(unique)
  106. ]
  107. interface ITMediaCollection : IDispatch
  108. {
  109. [propget, helpstring("returns number of items in collection")]
  110. HRESULT Count(
  111. [out, retval] LONG *pVal
  112. );
  113. [propget, id(DISPID_VALUE),
  114. helpstring("Given an index, returns an item in the collection.")]
  115. HRESULT Item(
  116. [in] LONG Index,
  117. [out, retval] ITMedia **pVal
  118. );
  119. [propget, restricted, id(DISPID_NEWENUM),
  120. helpstring("returns an enumerator for the collection.")]
  121. HRESULT _NewEnum(
  122. [out, retval] IUnknown **pVal
  123. );
  124. [propget, restricted, id(1), helpstring("returns the IEnumMedia enumeration interface that enumerates ITMedia")]
  125. HRESULT EnumerationIf(
  126. [out, retval] IEnumMedia **pVal
  127. );
  128. [id(2), helpstring("method CreateMedia")]
  129. HRESULT Create([in] LONG Index, [out, retval] ITMedia **ppMedia);
  130. [id(3), helpstring("method DeleteMedia")]
  131. HRESULT Delete([in] LONG Index);
  132. };
  133. [
  134. object,
  135. uuid(2652BB78-1516-11D1-9771-00C04FD91AC0),
  136. dual,
  137. helpstring("ITTime Interface"),
  138. pointer_default(unique)
  139. ]
  140. interface ITTime : IDispatch
  141. {
  142. [propget, id(1), helpstring("property StartTime")]
  143. HRESULT StartTime([out, retval] DOUBLE *pTime);
  144. [propput, id(1), helpstring("property StartTime")]
  145. HRESULT StartTime([in] DOUBLE Time);
  146. [propget, id(2), helpstring("property StopTime")]
  147. HRESULT StopTime([out, retval] DOUBLE *pTime);
  148. [propput, id(2), helpstring("property StopTime")]
  149. HRESULT StopTime([in] DOUBLE Time);
  150. };
  151. [
  152. object,
  153. uuid(9055322E-2FA8-11D1-9774-00C04FD91AC0),
  154. helpstring("IEnumTime interface"),
  155. pointer_default(unique),
  156. hidden
  157. ]
  158. interface IEnumTime : IUnknown
  159. {
  160. HRESULT Next(
  161. [in] ULONG celt,
  162. [out] ITTime **pVal,
  163. [out] ULONG * pceltFetched
  164. );
  165. HRESULT Reset( void );
  166. HRESULT Skip (
  167. [in] ULONG celt
  168. );
  169. HRESULT Clone (
  170. [out, retval] IEnumTime **ppEnum
  171. );
  172. };
  173. [
  174. object,
  175. uuid(0CC1F04F-CAEB-11D0-8D58-00C04FD91AC0),
  176. dual,
  177. helpstring("ITTimeCollection Interface"),
  178. pointer_default(unique)
  179. ]
  180. interface ITTimeCollection : IDispatch
  181. {
  182. [propget, helpstring("returns number of items in collection")]
  183. HRESULT Count(
  184. [out, retval] LONG *pVal
  185. );
  186. [propget, id(DISPID_VALUE),
  187. helpstring("Given an index, returns an item in the collection.")]
  188. HRESULT Item(
  189. [in] LONG Index,
  190. [out, retval] ITTime **pVal
  191. );
  192. [propget, restricted, id(DISPID_NEWENUM),
  193. helpstring("returns an enumerator for the collection.")]
  194. HRESULT _NewEnum(
  195. [out, retval] IUnknown **pVal
  196. );
  197. [propget, restricted, id(1), helpstring("returns the IEnumTime enumeration interface that enumerates ITTime")]
  198. HRESULT EnumerationIf(
  199. [out, retval] IEnumTime **pVal
  200. );
  201. [id(2), helpstring("method CreateTime")]
  202. HRESULT Create([in] LONG Index, [out, retval] ITTime **ppTime);
  203. [id(3), helpstring("method DeleteTime")]
  204. HRESULT Delete([in] LONG Index);
  205. };
  206. [
  207. object,
  208. uuid(9B2719D8-B696-11D0-A489-00C04FD91AC0),
  209. dual,
  210. helpstring("ITSdp Interface"),
  211. pointer_default(unique)
  212. ]
  213. interface ITSdp : IDispatch
  214. {
  215. [propget, id(IDISPSDP | 1), helpstring("property IsValid")]
  216. HRESULT IsValid([out, retval] VARIANT_BOOL *pfIsValid);
  217. [propget, id(IDISPSDP | 2), helpstring("property ProtocolVersion")]
  218. HRESULT ProtocolVersion([out, retval] unsigned char *pProtocolVersion);
  219. [propget, id(IDISPSDP | 3), helpstring("property SessionId")]
  220. HRESULT SessionId([out, retval] DOUBLE *pSessionId);
  221. [propget, id(IDISPSDP | 4), helpstring("property SessionVersion")]
  222. HRESULT SessionVersion([out, retval] DOUBLE *pSessionVersion);
  223. [propput, id(IDISPSDP | 4), helpstring("property SessionVersion")]
  224. HRESULT SessionVersion([in] DOUBLE SessionVersion);
  225. [propget, id(IDISPSDP | 5), helpstring("property MachineAddress")]
  226. HRESULT MachineAddress([out, retval] BSTR *ppMachineAddress);
  227. [propput, id(IDISPSDP | 5), helpstring("property MachineAddress")]
  228. HRESULT MachineAddress([in] BSTR pMachineAddress);
  229. [propget, id(IDISPSDP | 6), helpstring("property Name")]
  230. HRESULT Name([out, retval] BSTR *ppName);
  231. [propput, id(IDISPSDP | 6), helpstring("property Name")]
  232. HRESULT Name([in] BSTR pName);
  233. [propget, id(IDISPSDP | 7), helpstring("property Description")]
  234. HRESULT Description([out, retval] BSTR *ppDescription);
  235. [propput, id(IDISPSDP | 7), helpstring("property Description")]
  236. HRESULT Description([in] BSTR pDescription);
  237. [propget, id(IDISPSDP | 8), helpstring("property Url")]
  238. HRESULT Url([out, retval] BSTR *ppUrl);
  239. [propput, id(IDISPSDP | 8), helpstring("property Url")]
  240. HRESULT Url([in] BSTR pUrl);
  241. [id(IDISPSDP | 9), helpstring("method GetEmailNames")]
  242. HRESULT GetEmailNames(
  243. [out] VARIANT /*SAFEARRAY(BSTR)*/ *pAddresses,
  244. [out] VARIANT /*SAFEARRAY(BSTR)*/ *pNames
  245. );
  246. [id(IDISPSDP | 10), helpstring("method SetEmailNames")]
  247. HRESULT SetEmailNames(
  248. [in] VARIANT /*SAFEARRAY(BSTR)*/ Addresses,
  249. [in] VARIANT /*SAFEARRAY(BSTR)*/ Names
  250. );
  251. [id(IDISPSDP | 11), helpstring("method GetPhoneNumbers")]
  252. HRESULT GetPhoneNumbers(
  253. [out] VARIANT /*SAFEARRAY(BSTR)*/ *pNumbers,
  254. [out] VARIANT /*SAFEARRAY(BSTR)*/ *pNames
  255. );
  256. [id(IDISPSDP | 12), helpstring("method SetPhoneNumbers")]
  257. HRESULT SetPhoneNumbers(
  258. [in] VARIANT /*SAFEARRAY(BSTR)*/ Numbers,
  259. [in] /*SAFEARRAY(BSTR)*/ VARIANT Names
  260. );
  261. [propget, id(IDISPSDP | 13), helpstring("property Originator")]
  262. HRESULT Originator([out, retval] BSTR *ppOriginator);
  263. [propput, id(IDISPSDP | 13), helpstring("property Originator")]
  264. HRESULT Originator([in] BSTR pOriginator);
  265. [propget, id(IDISPSDP | 14), helpstring("property MediaCollection")]
  266. HRESULT MediaCollection([out, retval] ITMediaCollection **ppMediaCollection);
  267. [propget, id(IDISPSDP | 15), helpstring("property TimeCollection")]
  268. HRESULT TimeCollection([out, retval] ITTimeCollection **ppTimeCollection);
  269. };
  270. [
  271. object,
  272. uuid(8fa381d4-c8c2-11d0-8d58-00c04fd91ac0),
  273. dual,
  274. helpstring("ITConnection Interface"),
  275. pointer_default(unique)
  276. ]
  277. interface ITConnection : IDispatch
  278. {
  279. [propget, id(IDISPCONNECTION | 1), helpstring("property NetworkType")]
  280. HRESULT NetworkType([out, retval] BSTR *ppNetworkType);
  281. [propput, id(IDISPCONNECTION | 1), helpstring("property NetworkType")]
  282. HRESULT NetworkType([in] BSTR pNetworkType);
  283. [propget, id(IDISPCONNECTION | 2), helpstring("property AddressType")]
  284. HRESULT AddressType([out, retval] BSTR *ppAddressType);
  285. [propput, id(IDISPCONNECTION | 2), helpstring("property AddressType")]
  286. HRESULT AddressType([in] BSTR pAddressType);
  287. [propget, id(IDISPCONNECTION | 3), helpstring("property StartAddress")]
  288. HRESULT StartAddress([out, retval] BSTR *ppStartAddress);
  289. [propget, id(IDISPCONNECTION | 4), helpstring("property NumAddresses")]
  290. HRESULT NumAddresses([out, retval] LONG *pNumAddresses);
  291. [propget, id(IDISPCONNECTION | 5), helpstring("property Ttl")]
  292. HRESULT Ttl([out, retval] unsigned char *pTtl);
  293. [propget, id(IDISPCONNECTION | 6), helpstring("property BandwidthModifier")]
  294. HRESULT BandwidthModifier([out, retval] BSTR *ppModifier);
  295. [propget, id(IDISPCONNECTION | 7), helpstring("property Bandwidth")]
  296. HRESULT Bandwidth([out, retval] DOUBLE *pBandwidth);
  297. [id(IDISPCONNECTION | 8), helpstring("method SetAddressInfo")]
  298. HRESULT SetAddressInfo(
  299. [in] BSTR pStartAddress,
  300. [in] LONG NumAddresses,
  301. [in] unsigned char Ttl
  302. );
  303. [id(IDISPCONNECTION | 9), helpstring("method SetBandwidthInfo")]
  304. HRESULT SetBandwidthInfo([in] BSTR pModifier, [in] DOUBLE Bandwidth);
  305. [id(IDISPCONNECTION | 10), helpstring("method SetEncryptionKey")]
  306. HRESULT SetEncryptionKey([in] BSTR pKeyType, [in] BSTR *ppKeyData);
  307. [id(IDISPCONNECTION | 11), helpstring("method GetEncryptionKey")]
  308. HRESULT GetEncryptionKey(
  309. [out] BSTR *ppKeyType,
  310. [out] VARIANT_BOOL *pfValidKeyData,
  311. [out] BSTR *ppKeyData
  312. );
  313. };
  314. [
  315. object,
  316. uuid(5037fb82-cae9-11d0-8d58-00c04fd91ac0),
  317. dual,
  318. helpstring("ITAttributeList Interface"),
  319. pointer_default(unique)
  320. ]
  321. interface ITAttributeList : IDispatch
  322. {
  323. [propget, id(IDISPATTRLIST | 1), helpstring("property Count")]
  324. HRESULT Count([out, retval] LONG *pVal);
  325. [propget, id(IDISPATTRLIST | 2), helpstring("property Item")]
  326. HRESULT Item([in] LONG Index, [out, retval] BSTR *pVal);
  327. [id(IDISPATTRLIST | 3), helpstring("method Add")]
  328. HRESULT Add([in] LONG Index, [in] BSTR pAttribute);
  329. [id(IDISPATTRLIST | 4), helpstring("method Delete")]
  330. HRESULT Delete([in] LONG Index);
  331. [propget, id(IDISPATTRLIST | 5), helpstring("property AttributeList")]
  332. HRESULT AttributeList([out, retval] VARIANT /*SAFEARRAY(BSTR)*/ *pVal);
  333. [propput, id(IDISPATTRLIST | 5), helpstring("property AttributeList")]
  334. HRESULT AttributeList([in] VARIANT /*SAFEARRAY(BSTR)*/ newVal);
  335. };
  336. [
  337. uuid(C259D79A-C8AB-11D0-8D58-00C04FD91AC0),
  338. version(1.0),
  339. helpstring("Microsoft Sdpblb 1.0 Type Library")
  340. ]
  341. library SDPBLBLib
  342. {
  343. importlib("stdole2.tlb");
  344. interface ITMedia;
  345. interface ITTime;
  346. interface ITConnection;
  347. interface ITAttributeList;
  348. [
  349. uuid(9B2719DD-B696-11D0-A489-00C04FD91AC0),
  350. helpstring("SdpConferenceBlob Class")
  351. ]
  352. coclass SdpConferenceBlob
  353. {
  354. [default] interface ITConferenceBlob;
  355. interface ITSdp;
  356. };
  357. };