Export (0) Print
Expand All

6 Appendix A: Full IDL

For ease of implementation, the full IDL is provided below, where "ms-oaut.idl" is the IDL found in [MS-OAUT]Appendix A.

import "ms-oaut.idl";
interface IEventObjectCollection;

[
 object,
 uuid(4E14FB9F-2E22-11D1-9964-00C04FBBB345),
 dual,
 helpstring("IEventSystem Interface"),
 pointer_default(unique)
]
interface IEventSystem : IDispatch
{
[id(1), helpstring("method Query")]
HRESULT Query([in] BSTR progID,
  [in] BSTR queryCriteria,
  [out] int* errorIndex,
  [out,retval] IUnknown** ppInterface);

[id(2), helpstring("method Store")]
HRESULT Store([in] BSTR ProgID,
  [in] IUnknown* pInterface); 

[id(3), helpstring("method Remove")]
HRESULT Remove([in] BSTR progID,
   [in] BSTR queryCriteria,
   [out] int* errorIndex);

[id(4), propget, helpstring("method get_EventObjectChangeEventClassID")]
HRESULT EventObjectChangeEventClassID([out,retval] BSTR* pbstrEventClassID);

[id(5), helpstring("method QueryS")]
HRESULT QueryS([in] BSTR progID,
   [in] BSTR queryCriteria,
   [out,retval] IUnknown** ppInterface);

[id(6), helpstring("method RemoveS")]
HRESULT RemoveS([in] BSTR progID,
[in] BSTR queryCriteria);
};



[
 object,
 uuid(fb2b72a0-7a68-11d1-88f9-0080c7d771bf),
 dual,
 helpstring("IEventClass Interface"),
 pointer_default(unique)
]
interface IEventClass : IDispatch
{
[propget, id(1), helpstring("property EventClassID")]
HRESULT EventClassID([out,retval] BSTR* pbstrEventClassID);
[propput, id(1), helpstring("property EventClassID")]
HRESULT EventClassID([in] BSTR bstrEventClassID);

[propget, id(2), helpstring("property EventClassName")]
HRESULT EventClassName([out,retval] BSTR* pbstrEventClassName);
[propput, id(2), helpstring("property EventClassName")]
HRESULT EventClassName([in] BSTR bstrEventClassName);

[propget, id(3), helpstring("property OwnerSID")]
HRESULT OwnerSID([out,retval] BSTR* pbstrOwnerSID);
[propput, id(3), helpstring("property OwnerSID")]
HRESULT OwnerSID([in] BSTR bstrOwnerSID);

[propget, id(4), helpstring("property FiringInterfaceID")]
HRESULT FiringInterfaceID([out,retval] BSTR* pbstrFiringInterfaceID);
[propput, id(4), helpstring("property FiringInterfaceID")]
HRESULT FiringInterfaceID([in] BSTR bstrFiringInterfaceID);

[propget, id(5), helpstring("property Description")]
HRESULT Description([out,retval] BSTR* pbstrDescription);
[propput, id(5), helpstring("property Description")]
HRESULT Description([in] BSTR bstrDescription);

[propget, id(6), helpstring("property CustomConfigCLSID")]
HRESULT CustomConfigCLSID([out,retval] BSTR* pbstrCustomConfigCLSID);
[propput, id(6), helpstring("property CustomConfigCLSID")]
HRESULT CustomConfigCLSID([in] BSTR bstrCustomConfigCLSID);

[propget, id(7), helpstring("property TypeLib")]
HRESULT TypeLib([out,retval] BSTR* pbstrTypeLib);
[propput, id(7), helpstring("property TypeLib")]
HRESULT TypeLib([in] BSTR bstrTypeLib);
};


[
 object,
 uuid(fb2b72a1-7a68-11d1-88f9-0080c7d771bf),
 dual,
 helpstring("IEventClass2 Interface"),
 pointer_default(unique)
]
interface IEventClass2 : IEventClass
{
[id(8), propget, helpstring("property PublisherID")]
HRESULT PublisherID([out,retval] BSTR* pbstrPublisherID);
[id(8), propput, helpstring("property PublisherID")]
HRESULT PublisherID([in] BSTR bstrPublisherID);

[id(9), propget, helpstring("property MultiInterfacePublisherFilterCLSID")]
HRESULT MultiInterfacePublisherFilterCLSID([out,retval] BSTR* pbstrPubFilCLSID);
[id(9), propput, helpstring("property MultiInterfacePublisherFilterCLSID")]
HRESULT MultiInterfacePublisherFilterCLSID([in] BSTR bstrPubFilCLSID);

[id(10), propget, helpstring("property AllowInprocActivation")]
HRESULT AllowInprocActivation([out,retval]BOOL* pfAllowInprocActivation);
[id(10), propput, helpstring("property AllowInprocActivation")]
HRESULT AllowInprocActivation([in]BOOL fAllowInprocActivation);

[id(11), propget, helpstring("property FireInParallel")]
HRESULT FireInParallel([out,retval]BOOL* pfFireInParallel);
[id(11), propput, helpstring("property FireInParallel")]
HRESULT FireInParallel([in]BOOL fFireInParallel);
}


[
 object,
 uuid(F4A07D63-2E25-11D1-9964-00C04FBBB345),
 helpstring("IEnumEventObject Interface"),
 pointer_default(unique)
]
interface IEnumEventObject : IUnknown
{
[id(1), helpstring("method Clone")]
HRESULT Clone([out] IEnumEventObject** ppInterface);

[id(3), helpstring("method Next")]
HRESULT Next([in] ULONG cReqElem,
 [out,size_is(cReqElem), length_is(*cRetElem)] IUnknown** ppInterface,
 [out] ULONG* cRetElem);

[id(4), helpstring("method Reset")]
HRESULT Reset();

[id(5), helpstring("method Skip")]
HRESULT Skip([in] ULONG cSkipElem);
};


[
 object,
 uuid(f89ac270-d4eb-11d1-b682-00805fc79216),
 dual,
 helpstring("IEventObjectCollection Interface"),
 pointer_default(unique)
]
interface IEventObjectCollection : IDispatch
{
[id(DISPID_NEWENUM), propget, restricted, helpstring("Create new IEnumVARIANT")]
HRESULT _NewEnum([out,retval] IUnknown** ppUnkEnum);

[id(DISPID_VALUE), propget]
HRESULT Item([in] BSTR objectID, [out,retval] VARIANT* pItem);

[id(1), propget, helpstring("Create new IEnumEventObject")]
HRESULT NewEnum([out,retval] IEnumEventObject** ppEnum);

[id(2), propget, helpstring("Number of items in the collection")]
HRESULT Count([out,retval] long* pCount);

[id(3), helpstring("Add an item to the collection")]
HRESULT Add([in] VARIANT* item, [in] BSTR objectID);

[id(4), helpstring("Remove an item from the collection")]
HRESULT Remove([in] BSTR objectID);
}


[
 object,
 uuid(4A6B0E15-2E38-11D1-9965-00C04FBBB345),
 dual,
 helpstring("IEventSubscription Interface"),
 pointer_default(unique)
]
interface IEventSubscription : IDispatch
{
[propget, id(1), helpstring("property SubscriptionID")]
HRESULT SubscriptionID([out,retval] BSTR* pbstrSubscriptionID);
[propput, id(1), helpstring("property SubscriptionID")]
HRESULT SubscriptionID([in] BSTR bstrSubscriptionID);

[propget, id(2), helpstring("property SubscriptionName")]
HRESULT SubscriptionName([out,retval] BSTR* pbstrSubscriptionName);
[propput, id(2), helpstring("property SubscriptionName")]
HRESULT SubscriptionName([in] BSTR bstrSubscriptionName);

[propget, id(3), helpstring("property PublisherID")]
HRESULT PublisherID([out,retval] BSTR* pbstrPublisherID);
[propput, id(3), helpstring("property PublisherID")]
HRESULT PublisherID([in] BSTR bstrPublisherID);

[propget, id(4), helpstring("property EventClassID")]
HRESULT EventClassID([out,retval] BSTR* pbstrEventClassID);
[propput, id(4), helpstring("property EventClassID")]
HRESULT EventClassID([in] BSTR bstrEventClassID);

[propget, id(5), helpstring("property MethodName")]
HRESULT MethodName([out,retval] BSTR* pbstrMethodName);
[propput, id(5), helpstring("property MethodName")]
HRESULT MethodName([in] BSTR bstrMethodName);

[propget, id(6), helpstring("property SubscriberCLSID")]
HRESULT SubscriberCLSID([out,retval] BSTR* pbstrSubscriberCLSID);
[propput, id(6), helpstring("property SubscriberCLSID")]
HRESULT SubscriberCLSID([in] BSTR bstrSubscriberCLSID);

[propget, id(7), helpstring("property SubscriberInterface")]
HRESULT SubscriberInterface([out,retval] IUnknown** ppSubscriberInterface);
[propput, id(7), helpstring("property SubscriberInterface")]
HRESULT SubscriberInterface([in] IUnknown* pSubscriberInterface);

[propget, id(8), helpstring("property PerUser")]
HRESULT PerUser([out,retval] BOOL* pfPerUser);
[propput, id(8), helpstring("property PerUser")]
HRESULT PerUser([in] BOOL fPerUser);

[propget, id(9), helpstring("property OwnerSID")]
HRESULT OwnerSID([out,retval] BSTR* pbstrOwnerSID);
[propput, id(9), helpstring("property OwnerSID")]
HRESULT OwnerSID([in] BSTR bstrOwnerSID);

[propget, id(10), helpstring("property Enabled")]
HRESULT Enabled([out,retval] BOOL* pfEnabled);
[propput, id(10), helpstring("property Enabled")]
HRESULT Enabled([in] BOOL fEnabled);

[propget, id(11), helpstring("property Description")]
HRESULT Description([out,retval] BSTR* pbstrDescription);
[propput, id(11), helpstring("property Description")]
HRESULT Description([in] BSTR bstrDescription);

[propget, id(12), helpstring("property MachineName")]
HRESULT MachineName([out,retval] BSTR* pbstrMachineName);
[propput, id(12), helpstring("property MachineName")]
HRESULT MachineName([in] BSTR bstrMachineName);

[id(13), helpstring("method GetPublisherProperty")]
HRESULT GetPublisherProperty([in] BSTR bstrPropertyName, 
[out,retval] VARIANT* propertyValue);
[id(14), helpstring("method PutPublisherProperty")]
HRESULT PutPublisherProperty([in] BSTR bstrPropertyName, 
[in] VARIANT* propertyValue);
[id(15), helpstring("method RemovePublisherProperty")]
HRESULT RemovePublisherProperty([in] BSTR bstrPropertyName);
[id(16), helpstring("method GetPublisherPropertyCollection")]
HRESULT GetPublisherPropertyCollection([out,retval] IEventObjectCollection** collection);

[id(17), helpstring("method GetSubscriberProperty")]
HRESULT GetSubscriberProperty([in] BSTR bstrPropertyName, 
  [out,retval] VARIANT* propertyValue);
[id(18), helpstring("method PutSubscriberProperty")]
HRESULT PutSubscriberProperty([in] BSTR bstrPropertyName,
  [in] VARIANT* propertyValue);
[id(19), helpstring("method RemoveSubscriberProperty")]
HRESULT RemoveSubscriberProperty([in] BSTR bstrPropertyName);
[id(20), helpstring("method GetSubscriberPropertyCollection")]
HRESULT GetSubscriberPropertyCollection([out,retval] IEventObjectCollection** collection);

[id(21), propget, helpstring("property InterfaceID")]
HRESULT InterfaceID([out,retval] BSTR* pbstrInterfaceID);
[id(21), propput, helpstring("property InterfaceID")]
HRESULT InterfaceID([in] BSTR bstrInterfaceID);
};


[
 object,
 uuid(4A6B0E16-2E38-11D1-9965-00C04FBBB345),
 dual,
 helpstring("IEventSubscription2 Interface"),
 pointer_default(unique)
]
interface IEventSubscription2 : IEventSubscription
{
[propget, id(22), helpstring("property FilterCriteria")]
HRESULT FilterCriteria([out,retval] BSTR* pbstrFilterCriteria);
[propput, id(22), helpstring("property FilterCriteria")]
HRESULT FilterCriteria([in] BSTR bstrFilterCriteria);

[propget, id(23), helpstring("property SubscriberMoniker")]
HRESULT SubscriberMoniker([out,retval] BSTR* pbstrMoniker);
[propput, id(23), helpstring("property SubscriberMoniker")]
HRESULT SubscriberMoniker([in] BSTR bstrMoniker);
}


[
 object,
 uuid(7FB7EA43-2D76-4ea8-8CD9-3DECC270295E),
 dual,
 helpstring("IEventClass3 Interface"),
 pointer_default(unique)
]
interface IEventClass3 : IEventClass2
{
[id(12), propget, helpstring("property EventClassPartitionID")]
HRESULT EventClassPartitionID([out,retval] BSTR* pbstrEventClassPartitionID);
[id(12), propput, helpstring("property EventClassPartitionID")]
HRESULT EventClassPartitionID([in] BSTR bstrEventClassPartitionID);

[id(13), propget, helpstring("property EventClassApplicationID")]
HRESULT EventClassApplicationID([out,retval] BSTR* pbstrEventClassApplicationID);
[id(13), propput, helpstring("property EventClassApplicationID")]
HRESULT EventClassApplicationID([in] BSTR bstrEventClassApplicationID);
}

[
 object,
 uuid(FBC1D17D-C498-43a0-81AF-423DDD530AF6),
 dual,
 helpstring("IEventSubscription3 Interface"),
 pointer_default(unique)
]
interface IEventSubscription3 : IEventSubscription2
{
[propget, id(24), helpstring("property EventClassPartitionID")]
HRESULT EventClassPartitionID([out,retval] BSTR* pbstrEventClassPartitionID);
[propput, id(24), helpstring("property EventClassPartitionID")]
HRESULT EventClassPartitionID([in] BSTR bstrEventClassPartitionID);

[propget, id(25), helpstring("property EventClassApplicationID")]
HRESULT EventClassApplicationID([out,retval] BSTR* pbstrEventClassApplicationID);
[propput, id(25), helpstring("property EventClassApplicationID")]
HRESULT EventClassApplicationID([in] BSTR bstrEventClassApplicationID);

[propget, id(26), helpstring("property SubscriberPartitionID")]
HRESULT SubscriberPartitionID([out,retval] BSTR* pbstrSubscriberPartitionID);
[propput, id(26), helpstring("property SubscriberPartitionID")]
HRESULT SubscriberPartitionID([in] BSTR bstrSubscriberPartitionID);

[propget, id(27), helpstring("property SubscriberApplicationID")]
HRESULT SubscriberApplicationID([out,retval] BSTR* pbstrSubscriberApplicationID);
[propput, id(27), helpstring("property SubscriberApplicationID")]
HRESULT SubscriberApplicationID([in] BSTR bstrSubscriberApplicationID);

};

[
 object,
 uuid(99CC098F-A48A-4e9c-8E58-965C0AFC19D5),
 dual,
 helpstring("IEventSystem2 Interface"),
 pointer_default(unique)
]
interface IEventSystem2 : IEventSystem
{
[id(7), helpstring("method GetVersion")]
HRESULT GetVersion([out] int* pnVersion);
[id(8), helpstring("method VerifyTransientSubscribers")]
HRESULT VerifyTransientSubscribers();
}


[
 uuid(a0e8f27a-888c-11d1-b763-00c04fb926af),
 pointer_default(unique)
]
interface IEventSystemInitialize : IUnknown
{
 HRESULT SetCOMCatalogBehaviour(BOOL bRetainSubKeys);
}; 
 
Show:
© 2014 Microsoft