EventSys.Idl
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:25k
源码类别:

模拟服务器

开发平台:

C/C++

  1. ////////////////////////////////// -*- C++ -*- /////////////////////////////////
  2. //
  3. //   EventSystem.idl : IDL source for EventSystem.dll
  4. //
  5. //  Copyright (C) 1995-1999 Microsoft Corporation.  All rights reserved.
  6. //   This file will be processed by the MIDL tool to produce the type library
  7. //   (EventSystem.tlb) and marshalling code.
  8. //
  9. // --------------------------------------------------------------------------
  10. import "oaidl.idl";
  11. import "ocidl.idl";
  12. // Event System ProgID's
  13. cpp_quote ("#define PROGID_EventSystem OLESTR("EventSystem.EventSystem")")
  14. cpp_quote ("#define PROGID_EventPublisher OLESTR("EventSystem.EventPublisher")")
  15. cpp_quote ("#define PROGID_EventClass OLESTR("EventSystem.EventClass")")
  16. cpp_quote ("#define PROGID_EventSubscription OLESTR("EventSystem.EventSubscription")")
  17. cpp_quote ("#define PROGID_EventPublisherCollection OLESTR("EventSystem.EventPublisherCollection")")
  18. cpp_quote ("#define PROGID_EventClassCollection OLESTR("EventSystem.EventClassCollection")")
  19. cpp_quote ("#define PROGID_EventSubscriptionCollection OLESTR("EventSystem.EventSubscriptionCollection")")
  20. cpp_quote ("#define PROGID_EventSubsystem OLESTR("EventSystem.EventSubsystem")")
  21. // Event System object change events
  22. cpp_quote ("#define EVENTSYSTEM_PUBLISHER_ID OLESTR("{d0564c30-9df4-11d1-a281-00c04fca0aa7}")")
  23. cpp_quote ("#define EVENTSYSTEM_SUBSYSTEM_CLSID OLESTR("{503c1fd8-b605-11d2-a92d-006008c60e24}")")
  24. //midl_pragma warning(disable: 2039) // oleautomation conformance
  25. interface IEnumEventObject;
  26. interface IEventObjectCollection;
  27. interface IEventControl;
  28. interface IMultiInterfaceEventControl;
  29. // --------------------------------------------------------------------------
  30. //
  31. //   IEventSystem - Deprecated interface - Use COMAdmin interfaces instead.
  32. //
  33. // --------------------------------------------------------------------------
  34. [
  35.  object,
  36.  uuid(4E14FB9F-2E22-11D1-9964-00C04FBBB345),
  37.  dual,
  38.  helpstring("IEventSystem Interface"),
  39.  pointer_default(unique)
  40. ]
  41. interface IEventSystem : IDispatch
  42. {
  43. cpp_quote("// *****************************************************************")
  44. cpp_quote("// This is a Deprecated interface - Use COMAdmin interfaces instead.")
  45. cpp_quote("// *****************************************************************")
  46. [id(1), helpstring("method Query")]
  47. HRESULT Query([in] BSTR progID,
  48.   [in] BSTR queryCriteria,
  49.   [out] int* errorIndex,
  50.   [out,retval] IUnknown** ppInterface);
  51. [id(2), helpstring("method Store")]
  52. HRESULT Store([in] BSTR ProgID,
  53.   [in] IUnknown* pInterface); 
  54. [id(3), helpstring("method Remove")]
  55. HRESULT Remove([in] BSTR progID,
  56.    [in] BSTR queryCriteria,
  57.    [out] int* errorIndex);
  58. [id(4), propget, helpstring("method get_EventObjectChangeEventClassID")]
  59. HRESULT EventObjectChangeEventClassID([out,retval] BSTR* pbstrEventClassID);
  60. [id(5), helpstring("method QueryS")]
  61. HRESULT QueryS([in] BSTR progID,
  62.    [in] BSTR queryCriteria,
  63.    [out,retval] IUnknown** ppInterface);
  64. [id(6), helpstring("method RemoveS")]
  65. HRESULT RemoveS([in] BSTR progID,
  66. [in] BSTR queryCriteria);
  67. };
  68. // --------------------------------------------------------------------------
  69. //
  70. //   IEventPublisher -- Do Not Use.
  71. //
  72. // --------------------------------------------------------------------------
  73. [
  74.  object,
  75.  uuid(E341516B-2E32-11D1-9964-00C04FBBB345),
  76.  dual,
  77.  helpstring("IEventPublisher Interface"),
  78.  pointer_default(unique)
  79. ]
  80. interface IEventPublisher : IDispatch
  81. {
  82. cpp_quote("// ********************************************")
  83. cpp_quote("// This is a Deprecated interface - Do Not Use.")
  84. cpp_quote("// ********************************************")
  85. [propget, id(1), helpstring("property PublisherID")]
  86. HRESULT PublisherID([out,retval] BSTR* pbstrPublisherID);
  87. [propput, id(1), helpstring("property PublisherID")]
  88. HRESULT PublisherID([in] BSTR bstrPublisherID);
  89. [propget, id(2), helpstring("property PublisherName")]
  90. HRESULT PublisherName([out,retval] BSTR* pbstrPublisherName);
  91. [propput, id(2), helpstring("property PublisherName")]
  92. HRESULT PublisherName([in] BSTR bstrPublisherName);
  93. [propget, id(3), helpstring("property PublisherType")]
  94. HRESULT PublisherType([out,retval] BSTR* pbstrPublisherType);
  95. [propput, id(3), helpstring("property PublisherType")]
  96. HRESULT PublisherType([in] BSTR bstrPublisherType);
  97. [propget, id(4), helpstring("property OwnerSID")]
  98. HRESULT OwnerSID([out,retval] BSTR* pbstrOwnerSID);
  99. [propput, id(4), helpstring("property OwnerSID")]
  100. HRESULT OwnerSID([in] BSTR bstrOwnerSID);
  101. [propget, id(5), helpstring("property Description")]
  102. HRESULT Description([out,retval] BSTR* pbstrDescription);
  103. [propput, id(5), helpstring("property Description")]
  104. HRESULT Description([in] BSTR bstrDescription);
  105. [id(6), helpstring("method GetDefaultProperty")]
  106. HRESULT GetDefaultProperty([in] BSTR bstrPropertyName, 
  107.    [out,retval] VARIANT* propertyValue);
  108. [id(7), helpstring("method PutDefaultProperty")]
  109. HRESULT PutDefaultProperty([in] BSTR bstrPropertyName, 
  110.    [in] VARIANT* propertyValue);
  111. [id(8), helpstring("method RemoveDefaultProperty")]
  112. HRESULT RemoveDefaultProperty([in] BSTR bstrPropertyName);
  113. [id(9), helpstring("method GetDefaultPropertyCollection")]
  114. HRESULT GetDefaultPropertyCollection([out,retval] IEventObjectCollection** collection);
  115. };
  116. // --------------------------------------------------------------------------
  117. //
  118. //   IEventClass -- event component
  119. //
  120. // --------------------------------------------------------------------------
  121. [
  122.  object,
  123.  uuid(fb2b72a0-7a68-11d1-88f9-0080c7d771bf),
  124.  dual,
  125.  helpstring("IEventClass Interface"),
  126.  pointer_default(unique)
  127. ]
  128. interface IEventClass : IDispatch
  129. {
  130. [propget, id(1), helpstring("property EventClassID")]
  131. HRESULT EventClassID([out,retval] BSTR* pbstrEventClassID);
  132. [propput, id(1), helpstring("property EventClassID")]
  133. HRESULT EventClassID([in] BSTR bstrEventClassID);
  134. [propget, id(2), helpstring("property EventClassName")]
  135. HRESULT EventClassName([out,retval] BSTR* pbstrEventClassName);
  136. [propput, id(2), helpstring("property EventClassName")]
  137. HRESULT EventClassName([in] BSTR bstrEventClassName);
  138. [propget, id(3), helpstring("property OwnerSID")]
  139. HRESULT OwnerSID([out,retval] BSTR* pbstrOwnerSID);
  140. [propput, id(3), helpstring("property OwnerSID")]
  141. HRESULT OwnerSID([in] BSTR bstrOwnerSID);
  142. [propget, id(4), helpstring("property FiringInterfaceID")]
  143. HRESULT FiringInterfaceID([out,retval] BSTR* pbstrFiringInterfaceID);
  144. [propput, id(4), helpstring("property FiringInterfaceID")]
  145. HRESULT FiringInterfaceID([in] BSTR bstrFiringInterfaceID);
  146. [propget, id(5), helpstring("property Description")]
  147. HRESULT Description([out,retval] BSTR* pbstrDescription);
  148. [propput, id(5), helpstring("property Description")]
  149. HRESULT Description([in] BSTR bstrDescription);
  150. [propget, id(6), helpstring("property CustomConfigCLSID")]
  151. HRESULT CustomConfigCLSID([out,retval] BSTR* pbstrCustomConfigCLSID);
  152. [propput, id(6), helpstring("property CustomConfigCLSID")]
  153. HRESULT CustomConfigCLSID([in] BSTR bstrCustomConfigCLSID);
  154. [propget, id(7), helpstring("property TypeLib")]
  155. HRESULT TypeLib([out,retval] BSTR* pbstrTypeLib);
  156. [propput, id(7), helpstring("property TypeLib")]
  157. HRESULT TypeLib([in] BSTR bstrTypeLib);
  158. };
  159. [
  160.  object,
  161.  uuid(fb2b72a1-7a68-11d1-88f9-0080c7d771bf),
  162.  dual,
  163.  helpstring("IEventClass2 Interface"),
  164.  pointer_default(unique)
  165. ]
  166. interface IEventClass2 : IEventClass
  167. {
  168. [id(8), propget, helpstring("property PublisherID")]
  169. HRESULT PublisherID([out,retval] BSTR* pbstrPublisherID);
  170. [id(8), propput, helpstring("property PublisherID")]
  171. HRESULT PublisherID([in] BSTR bstrPublisherID);
  172. [id(9), propget, helpstring("property MultiInterfacePublisherFilterCLSID")]
  173. HRESULT MultiInterfacePublisherFilterCLSID([out,retval] BSTR* pbstrPubFilCLSID);
  174. [id(9), propput, helpstring("property MultiInterfacePublisherFilterCLSID")]
  175. HRESULT MultiInterfacePublisherFilterCLSID([in] BSTR bstrPubFilCLSID);
  176. [id(10), propget, helpstring("property AllowInprocActivation")]
  177. HRESULT AllowInprocActivation([out,retval]BOOL* pfAllowInprocActivation);
  178. [id(10), propput, helpstring("property AllowInprocActivation")]
  179. HRESULT AllowInprocActivation([in]BOOL fAllowInprocActivation);
  180. [id(11), propget, helpstring("property FireInParallel")]
  181. HRESULT FireInParallel([out,retval]BOOL* pfFireInParallel);
  182. [id(11), propput, helpstring("property FireInParallel")]
  183. HRESULT FireInParallel([in]BOOL fFireInParallel);
  184. }
  185. // --------------------------------------------------------------------------
  186. //
  187. //   IEventSubscription -- event system subscriptions
  188. //
  189. // --------------------------------------------------------------------------
  190. [
  191.  object,
  192.  uuid(4A6B0E15-2E38-11D1-9965-00C04FBBB345),
  193.  dual,
  194.  helpstring("IEventSubscription Interface"),
  195.  pointer_default(unique)
  196. ]
  197. interface IEventSubscription : IDispatch
  198. {
  199. [propget, id(1), helpstring("property SubscriptionID")]
  200. HRESULT SubscriptionID([out,retval] BSTR* pbstrSubscriptionID);
  201. [propput, id(1), helpstring("property SubscriptionID")]
  202. HRESULT SubscriptionID([in] BSTR bstrSubscriptionID);
  203. [propget, id(2), helpstring("property SubscriptionName")]
  204. HRESULT SubscriptionName([out,retval] BSTR* pbstrSubscriptionName);
  205. [propput, id(2), helpstring("property SubscriptionName")]
  206. HRESULT SubscriptionName([in] BSTR bstrSubscriptionName);
  207. [propget, id(3), helpstring("property PublisherID")]
  208. HRESULT PublisherID([out,retval] BSTR* pbstrPublisherID);
  209. [propput, id(3), helpstring("property PublisherID")]
  210. HRESULT PublisherID([in] BSTR bstrPublisherID);
  211. [propget, id(4), helpstring("property EventClassID")]
  212. HRESULT EventClassID([out,retval] BSTR* pbstrEventClassID);
  213. [propput, id(4), helpstring("property EventClassID")]
  214. HRESULT EventClassID([in] BSTR bstrEventClassID);
  215. [propget, id(5), helpstring("property MethodName")]
  216. HRESULT MethodName([out,retval] BSTR* pbstrMethodName);
  217. [propput, id(5), helpstring("property MethodName")]
  218. HRESULT MethodName([in] BSTR bstrMethodName);
  219. [propget, id(6), helpstring("property SubscriberCLSID")]
  220. HRESULT SubscriberCLSID([out,retval] BSTR* pbstrSubscriberCLSID);
  221. [propput, id(6), helpstring("property SubscriberCLSID")]
  222. HRESULT SubscriberCLSID([in] BSTR bstrSubscriberCLSID);
  223. [propget, id(7), helpstring("property SubscriberInterface")]
  224. HRESULT SubscriberInterface([out,retval] IUnknown** ppSubscriberInterface);
  225. [propput, id(7), helpstring("property SubscriberInterface")]
  226. HRESULT SubscriberInterface([in] IUnknown* pSubscriberInterface);
  227. [propget, id(8), helpstring("property PerUser")]
  228. HRESULT PerUser([out,retval] BOOL* pfPerUser);
  229. [propput, id(8), helpstring("property PerUser")]
  230. HRESULT PerUser([in] BOOL fPerUser);
  231. [propget, id(9), helpstring("property OwnerSID")]
  232. HRESULT OwnerSID([out,retval] BSTR* pbstrOwnerSID);
  233. [propput, id(9), helpstring("property OwnerSID")]
  234. HRESULT OwnerSID([in] BSTR bstrOwnerSID);
  235. [propget, id(10), helpstring("property Enabled")]
  236. HRESULT Enabled([out,retval] BOOL* pfEnabled);
  237. [propput, id(10), helpstring("property Enabled")]
  238. HRESULT Enabled([in] BOOL fEnabled);
  239. [propget, id(11), helpstring("property Description")]
  240. HRESULT Description([out,retval] BSTR* pbstrDescription);
  241. [propput, id(11), helpstring("property Description")]
  242. HRESULT Description([in] BSTR bstrDescription);
  243. [propget, id(12), helpstring("property MachineName")]
  244. HRESULT MachineName([out,retval] BSTR* pbstrMachineName);
  245. [propput, id(12), helpstring("property MachineName")]
  246. HRESULT MachineName([in] BSTR bstrMachineName);
  247. [id(13), helpstring("method GetPublisherProperty")]
  248. HRESULT GetPublisherProperty([in] BSTR bstrPropertyName, 
  249.  [out,retval] VARIANT* propertyValue);
  250. [id(14), helpstring("method PutPublisherProperty")]
  251. HRESULT PutPublisherProperty([in] BSTR bstrPropertyName, 
  252.  [in] VARIANT* propertyValue);
  253. [id(15), helpstring("method RemovePublisherProperty")]
  254. HRESULT RemovePublisherProperty([in] BSTR bstrPropertyName);
  255. [id(16), helpstring("method GetPublisherPropertyCollection")]
  256. HRESULT GetPublisherPropertyCollection([out,retval] IEventObjectCollection** collection);
  257. [id(17), helpstring("method GetSubscriberProperty")]
  258. HRESULT GetSubscriberProperty([in] BSTR bstrPropertyName, 
  259.   [out,retval] VARIANT* propertyValue);
  260. [id(18), helpstring("method PutSubscriberProperty")]
  261. HRESULT PutSubscriberProperty([in] BSTR bstrPropertyName,
  262.   [in] VARIANT* propertyValue);
  263. [id(19), helpstring("method RemoveSubscriberProperty")]
  264. HRESULT RemoveSubscriberProperty([in] BSTR bstrPropertyName);
  265. [id(20), helpstring("method GetSubscriberPropertyCollection")]
  266. HRESULT GetSubscriberPropertyCollection([out,retval] IEventObjectCollection** collection);
  267. [id(21), propget, helpstring("property InterfaceID")]
  268. HRESULT InterfaceID([out,retval] BSTR* pbstrInterfaceID);
  269. [id(21), propput, helpstring("property InterfaceID")]
  270. HRESULT InterfaceID([in] BSTR bstrInterfaceID);
  271. };
  272. [
  273.  object,
  274.  uuid(e0498c93-4efe-11d1-9971-00c04fbbb345),
  275.  dual,
  276.  helpstring("IFiringControl Interface"),
  277.  pointer_default(unique)
  278. ]
  279. interface IFiringControl : IDispatch {
  280. [id(1), helpstring("Fire a single subscription")]
  281. HRESULT FireSubscription([in] IEventSubscription* subscription);
  282. };
  283. // --------------------------------------------------------------------------
  284. //
  285. //   IPublisherFilter - Deprecated interface - Use IMultiInterfacePublisherFilter instead.
  286. //
  287. // --------------------------------------------------------------------------
  288. [
  289.  object,
  290.  uuid(465e5cc0-7b26-11d1-88fb-0080c7d771bf),
  291.  helpstring("IPublisherFilter Interface"),
  292.  pointer_default(unique)
  293. ]
  294. interface IPublisherFilter : IUnknown
  295. {
  296. cpp_quote("// ****************************************************************************")
  297. cpp_quote("// This is a Deprecated interface - Use IMultiInterfacePublisherFilter instead.")
  298. cpp_quote("// ****************************************************************************")
  299. [helpstring("User-called method to initialize the publisher filter after it is installed")]
  300. HRESULT Initialize([in] BSTR methodName, [in,unique] IDispatch* dispUserDefined);
  301. [helpstring("Prepare to fire all subscriptions in your collection")]
  302. HRESULT PrepareToFire([in] BSTR methodName, [in] IFiringControl* firingControl);
  303. };
  304. // --------------------------------------------------------------------------
  305. //
  306. //   IMultiInterfacePublisherFilter
  307. //
  308. // --------------------------------------------------------------------------
  309. [
  310.  object,
  311.  uuid(465e5cc1-7b26-11d1-88fb-0080c7d771bf),
  312.  helpstring("IMultiInterfacePublisherFilter Interface"),
  313.  pointer_default(unique)
  314. ]
  315. interface IMultiInterfacePublisherFilter : IUnknown
  316. {
  317. [helpstring("User-called method to initialize the publisher filter after it is installed")]
  318. HRESULT Initialize([in] IMultiInterfaceEventControl* pEIC);
  319. [helpstring("Prepare to fire all subscriptions in your collection")]
  320. HRESULT PrepareToFire([in] REFIID iid,
  321.   [in] BSTR methodName, 
  322.   [in] IFiringControl* firingControl);
  323. };
  324. // --------------------------------------------------------------------------
  325. //
  326. //   IEventObjectChange
  327. //
  328. // --------------------------------------------------------------------------
  329. [
  330.  object,
  331.  uuid(F4A07D70-2E25-11D1-9964-00C04FBBB345),
  332.  helpstring("IEventObjectChange Interface"),
  333.  pointer_default(unique)
  334. ]
  335. interface IEventObjectChange : IUnknown
  336. {
  337. typedef enum {
  338. [helpstring("A new object was added")]
  339. EOC_NewObject,
  340. [helpstring("An existing object was modified")]
  341. EOC_ModifiedObject,
  342. [helpstring("An existing object was deleted")]
  343. EOC_DeletedObject
  344. } EOC_ChangeType;
  345. [helpstring("method ChangedSubscription")]
  346. HRESULT ChangedSubscription([in] EOC_ChangeType changeType,
  347. [in] BSTR bstrSubscriptionID);
  348. [helpstring("method ChangedEventClass")]
  349. HRESULT ChangedEventClass([in] EOC_ChangeType changeType,
  350.   [in] BSTR bstrEventClassID);
  351. [helpstring("method ChangedPublisher")]
  352. HRESULT ChangedPublisher([in] EOC_ChangeType changeType,
  353.  [in] BSTR bstrPublisherID);
  354. };
  355. // --------------------------------------------------------------------------
  356. //
  357. //   IEventObjectChange2
  358. //
  359. // --------------------------------------------------------------------------
  360. cpp_quote( "#ifndef _COMEVENTSYSCHANGEINFO_" )
  361. cpp_quote( "#define _COMEVENTSYSCHANGEINFO_" )
  362. typedef [hidden] struct
  363. {
  364. DWORD cbSize; // size of this struct
  365. EOC_ChangeType changeType; // the type of change that was made
  366. BSTR objectId; // the EventClassID or SubscriptionID affected.
  367. BSTR partitionId; // the EventClassPartitionID or SubscriberPartitionID affected.
  368. BSTR applicationId;  // the EventClassApplicationID or SubscriberApplicationID affected.
  369. GUID reserved [10];
  370. } COMEVENTSYSCHANGEINFO ;
  371. cpp_quote( "#endif _COMEVENTSYSCHANGEINFO_" )
  372. [
  373.  object,
  374.  uuid(7701A9C3-BD68-438f-83E0-67BF4F53A422),
  375.  helpstring("IEventObjectChange2 Interface"),
  376.  pointer_default(unique)
  377. ]
  378. interface IEventObjectChange2 : IUnknown
  379. {
  380. [helpstring("method ChangedSubscription")]
  381. HRESULT ChangedSubscription([in] COMEVENTSYSCHANGEINFO* pInfo);
  382. [helpstring("method ChangedEventClass")]
  383. HRESULT ChangedEventClass([in] COMEVENTSYSCHANGEINFO* pInfo);
  384. };
  385. // --------------------------------------------------------------------------
  386. //
  387. //   IEnumEventObject -- An interface that provides an enumeration of an
  388. //  EventClass, Publisher, or Subscription object.
  389. //
  390. // --------------------------------------------------------------------------
  391. [
  392.  object,
  393.  uuid(F4A07D63-2E25-11D1-9964-00C04FBBB345),
  394.  helpstring("IEnumEventObject Interface"),
  395.  pointer_default(unique)
  396. ]
  397. interface IEnumEventObject : IUnknown
  398. {
  399. [id(1), helpstring("method Clone")]
  400. HRESULT Clone([out] IEnumEventObject** ppInterface);
  401. [id(3), helpstring("method Next")]
  402. HRESULT Next([in] ULONG cReqElem,
  403.  [out,size_is(cReqElem), length_is(*cRetElem)] IUnknown** ppInterface,
  404.  [out] ULONG* cRetElem);
  405. [id(4), helpstring("method Reset")]
  406. HRESULT Reset();
  407. [id(5), helpstring("method Skip")]
  408. HRESULT Skip([in] ULONG cSkipElem);
  409. };
  410. [
  411.  object,
  412.  uuid(f89ac270-d4eb-11d1-b682-00805fc79216),
  413.  dual,
  414.  helpstring("IEventObjectCollection Interface"),
  415.  pointer_default(unique)
  416. ]
  417. interface IEventObjectCollection : IDispatch
  418. {
  419. [id(DISPID_NEWENUM), propget, restricted, helpstring("Create new IEnumVARIANT")]
  420. HRESULT _NewEnum([out,retval] IUnknown** ppUnkEnum);
  421. [id(DISPID_VALUE), propget]
  422. HRESULT Item([in] BSTR objectID, [out,retval] VARIANT* pItem);
  423. [id(1), propget, helpstring("Create new IEnumEventObject")]
  424. HRESULT NewEnum([out,retval] IEnumEventObject** ppEnum);
  425. [id(2), propget, helpstring("Number of items in the collection")]
  426. HRESULT Count([out,retval] long* pCount);
  427. [id(3), helpstring("Add an item to the collection")]
  428. HRESULT Add([in] VARIANT* item, [in] BSTR objectID);
  429. [id(4), helpstring("Remove an item from the collection")]
  430. HRESULT Remove([in] BSTR objectID);
  431. }
  432. // --------------------------------------------------------------------------
  433. //
  434. //   IEventProperty -- An interface that represents a name/property pair.
  435. //
  436. // --------------------------------------------------------------------------
  437. [
  438.  object,
  439.  uuid(da538ee2-f4de-11d1-b6bb-00805fc79216),
  440.  dual,
  441.  helpstring("IEventProperty Interface"),
  442.  pointer_default(unique)
  443. ]
  444. interface IEventProperty : IDispatch
  445. {
  446. [id(1), propget, helpstring("property Name")]
  447. HRESULT Name([out,retval] BSTR* propertyName);
  448. [id(1), propput, helpstring("property Name")]
  449. HRESULT Name([in] BSTR propertyName);
  450. [id(2), propget, helpstring("property Value")]
  451. HRESULT Value([out,retval] VARIANT* propertyValue);
  452. [id(2), propput, helpstring("property Value")]
  453. HRESULT Value([in] VARIANT* propertyValue);
  454. };
  455. // --------------------------------------------------------------------------
  456. //
  457. //   IEventControl - Deprecated interface - Use IMultiInterfaceEventControl instead.
  458. //
  459. // --------------------------------------------------------------------------
  460. [
  461.  object,
  462.  uuid(0343e2f4-86f6-11d1-b760-00c04fb926af),
  463.  dual,
  464.  helpstring("IEventControl Interface"),
  465.  pointer_default(unique)
  466. ]
  467. interface IEventControl : IDispatch
  468. {
  469. cpp_quote("// *************************************************************************")
  470. cpp_quote("// This is a Deprecated interface - Use IMultiInterfaceEventControl instead.")
  471. cpp_quote("// *************************************************************************")
  472. [id(1), helpstring("method SetPublisherFilter")]
  473. HRESULT SetPublisherFilter([in] BSTR methodName,
  474.    [in,unique] IPublisherFilter* pPublisherFilter);
  475. [propget, id(2), helpstring("property AllowInprocActivation")]
  476. HRESULT AllowInprocActivation([out,retval] BOOL* pfAllowInprocActivation);
  477. [propput, id(2), helpstring("property AllowInprocActivation")]
  478. HRESULT AllowInprocActivation([in] BOOL fAllowInprocActivation);
  479. [id(3), helpstring("Get a self-updating collection of subscriptions to a given method")]
  480. HRESULT GetSubscriptions([in] BSTR methodName,
  481.  [in,unique] BSTR optionalCriteria,
  482.  [in,unique] int* optionalErrorIndex,
  483.  [out,retval] IEventObjectCollection** ppCollection);
  484. [id(4), helpstring("Establish the default query to use when not filtering")]
  485. HRESULT SetDefaultQuery([in] BSTR methodName,
  486. [in] BSTR criteria,
  487. [out,retval] int* errorIndex);
  488. };
  489. [
  490.  object,
  491.  uuid(0343e2f5-86f6-11d1-b760-00c04fb926af),
  492.  helpstring("IMultiInterfaceEventControl Interface"),
  493.  pointer_default(unique)
  494. ]
  495. interface IMultiInterfaceEventControl : IUnknown
  496. {
  497. [helpstring("method SetMultiInterfacePublisherFilter")]
  498. HRESULT SetMultiInterfacePublisherFilter([in,unique] IMultiInterfacePublisherFilter* classFilter);
  499. [helpstring("Get a self-updating collection of subscriptions to an IID/method")]
  500. HRESULT GetSubscriptions([in] REFIID eventIID,
  501.  [in] BSTR bstrMethodName,
  502.  [in,unique] BSTR optionalCriteria,
  503.  [in,unique] int* optionalErrorIndex,
  504.  [out,retval] IEventObjectCollection** ppCollection);
  505. [helpstring("Establish the default query to use when not filtering.")]
  506. HRESULT SetDefaultQuery([in] REFIID eventIID,
  507. [in] BSTR bstrMethodName,
  508. [in] BSTR bstrCriteria,
  509. [out,retval] int* errorIndex);
  510. [propget, helpstring("property AllowInprocActivation")]
  511. HRESULT AllowInprocActivation([out,retval] BOOL* pfAllowInprocActivation);
  512. [propput, helpstring("property AllowInprocActivation")]
  513. HRESULT AllowInprocActivation([in] BOOL fAllowInprocActivation);
  514. [propget, helpstring("property FireInParallel")]
  515. HRESULT FireInParallel([out,retval] BOOL* pfFireInParallel);
  516. [propput, helpstring("property FireInParallel")]
  517. HRESULT FireInParallel([in] BOOL fFireInParallel);
  518. }
  519. ////////////////////////////////////////////////////////////////////////////////
  520. //
  521. //  Classes....
  522. //
  523. ////////////////////////////////////////////////////////////////////////////////
  524. [
  525. uuid(e81221dc-c4d8-11d1-b653-00805fc79216),
  526. version(1.0),
  527. helpstring("EventSystem 1.0 Type Library")
  528. ]
  529. library DummyEventSystemLib
  530. {
  531. importlib("stdole2.tlb");
  532. importlib("stdole32.tlb");
  533. [
  534. uuid(4E14FBA2-2E22-11D1-9964-00C04FBBB345),
  535. helpstring("CEventSystem Class")
  536. ]
  537. coclass CEventSystem
  538. {
  539. [default] interface IEventSystem;
  540. };
  541.     [
  542.         uuid(ab944620-79c6-11d1-88f9-0080c7d771bf),
  543.         version(1.0)
  544.     ]
  545.     coclass CEventPublisher
  546.     {
  547.         [default] interface IEventPublisher;
  548.     };
  549.     [
  550.         uuid(cdbec9c0-7a68-11d1-88f9-0080c7d771bf),
  551.         version(1.0)
  552.     ]
  553.     coclass CEventClass
  554.     {
  555.         [default] interface IEventClass;
  556.     };
  557.     [
  558.         uuid(7542e960-79c7-11d1-88f9-0080c7d771bf), 
  559.         version(1.0)
  560.     ]
  561.     coclass CEventSubscription
  562.     {
  563.         [default] interface IEventSubscription;
  564.     };
  565. // EventObjectChange is the EventClassID used by COM+ Events to
  566. // publish IEventObjectChange notifications.
  567.     [
  568.         uuid(d0565000-9df4-11d1-a281-00c04fca0aa7),
  569.         version(1.0)
  570.     ]
  571.     coclass EventObjectChange
  572.     {
  573.         [default] interface IEventObjectChange;
  574.     };
  575. // EventObjectChange2 is the EventClassID used by COM+ Events to
  576. // publish IEventObjectChange2 notifications.
  577.     [
  578.         uuid(BB07BACD-CD56-4e63-A8FF-CBF0355FB9F4),
  579.         version(1.0)
  580.     ]
  581.     coclass EventObjectChange2
  582.     {
  583.         [default] interface IEventObjectChange2;
  584.     };
  585. }
  586. //midl_pragma warning(default: 2039) // oleautomation conformance