import "oaidl.idl"; import "ocidl.idl"; enum PassiveXProperties { PASSIVEX_PROPERTY_HTTP_HOST = 1, PASSIVEX_PROPERTY_HTTP_PORT = 2, PASSIVEX_PROPERTY_HTTP_SID = 4, PASSIVEX_PROPERTY_HTTP_URI_BASE = 5, PASSIVEX_PROPERTY_DOWNLOAD_SECOND_STAGE = 3, }; [ object, uuid(1940F02F-41B0-4d92-BE34-DA55D151893A), helpstring("IPassiveX"), pointer_default(unique), dual ] interface IPassiveX : IDispatch { [propput, id(PASSIVEX_PROPERTY_HTTP_HOST)] HRESULT HttpHost([in] BSTR host); [propget, id(PASSIVEX_PROPERTY_HTTP_HOST)] HRESULT HttpHost([out, retval] BSTR *host); [propput, id(PASSIVEX_PROPERTY_HTTP_SID)] HRESULT HttpSid([in] BSTR sid); [propget, id(PASSIVEX_PROPERTY_HTTP_SID)] HRESULT HttpSid([out, retval] BSTR *sid); [propput, id(PASSIVEX_PROPERTY_HTTP_URI_BASE)] HRESULT HttpUriBase([in] BSTR base); [propget, id(PASSIVEX_PROPERTY_HTTP_URI_BASE)] HRESULT HttpUriBase([out, retval] BSTR *base); [propput, id(PASSIVEX_PROPERTY_HTTP_PORT)] HRESULT HttpPort([in] ULONG port); [propget, id(PASSIVEX_PROPERTY_HTTP_PORT)] HRESULT HttpPort([out, retval] ULONG *port); [propput, id(PASSIVEX_PROPERTY_DOWNLOAD_SECOND_STAGE)] HRESULT DownloadSecondStage([in] ULONG na); [propget, id(PASSIVEX_PROPERTY_DOWNLOAD_SECOND_STAGE)] HRESULT DownloadSecondStage([out, retval] ULONG *na); }; [ uuid(CA8B739E-450C-47bb-A557-3579A633BB5D), version(1.0), helpstring("PassiveX Type Library") ] library PassiveXCOM { importlib("stdole32.tlb"); importlib("stdole2.tlb"); [ uuid(9A427004-996C-4d39-BF55-F7EBE0EC6249), helpstring("PassiveX Event Interface") ] dispinterface PassiveXEvents { properties: methods: }; [ uuid(B3AC7307-FEAE-4e43-B2D6-161E68ABA838), helpstring("PassiveX Implementation Class") ] coclass PassiveX { [default] interface IPassiveX; [default, source] dispinterface PassiveXEvents; }; };