// iis.odl : type library source for adsiis.dll // This file will be processed by the Make Type Library (mktyplib) tool to // produce the type library (adsiis.tlb). #include "iis2.h" #define DISPID_IADs_UPPER_BOUND 100 cpp_quote("DEFINE_GUID(LIBID_IISOle,0x49D704A0L,0x89F7,0x11D0,0x85,0x27,0x00,0xC0,0x4F,0xD8,0xD5,0x03);") cpp_quote("DEFINE_GUID(IID_IISBaseObject, 0x4b42e390, 0xe96, 0x11d1, 0x9c, 0x3f, 0x0, 0xa0,0xc9, 0x22, 0xe7, 0x3);") [ uuid(IIS_LIBIID_IISOle), version(1.0), helpstring("Active DS IIS Namespace Provider") ] library IISOle { importlib("stdole2.tlb"); importlib("..\\oleds2.0\\types\\activeds.tlb"); [ uuid(IIS_IID_IISMimeType), oleautomation, dual] interface IISMimeType : IDispatch { PROPERTY_BSTR_RW(MimeType, 4) PROPERTY_BSTR_RW(Extension, 5) }; [ uuid(IIS_CLSID_MimeType)] coclass MimeMap { [default] interface IISMimeType; interface IDispatch; }; [ uuid(IIS_IID_IISIPSecurity), oleautomation, dual] interface IISIPSecurity : IDispatch { PROPERTY_VARIANT_RW(IPDeny, 4) PROPERTY_VARIANT_RW(IPGrant, 5) PROPERTY_VARIANT_RW(DomainDeny, 6) PROPERTY_VARIANT_RW(DomainGrant, 7) PROPERTY_VARIANT_BOOL_RW(GrantByDefault, 8) }; [ uuid(IIS_CLSID_IPSecurity)] coclass IPSecurity { [default] interface IISIPSecurity; interface IDispatch; }; [ uuid(IIS_CLSID_IISNamespace)] coclass IISNamespace { [default] interface IADsContainer; interface IADs; interface IDispatch; }; [uuid(IIS_CLSID_IISProvider)] coclass IISProvider { [default] interface IDispatch; interface IUnknown; }; [ uuid(IIS_IID_IISBaseObject), oleautomation, dual] interface IISBaseObject : IDispatch { //methods [id(DISPID_IADs_UPPER_BOUND+1)] HRESULT GetDataPaths( [in] BSTR bstrName, [in] LONG lnAttribute, [out, retval] VARIANT *pvPaths ); [id(DISPID_IADs_UPPER_BOUND+2)] HRESULT GetPropertyAttribObj( [in] BSTR bstrName, [out, retval] IDispatch **ppObject ); }; [ uuid(IIS_IID_IISSchemaObject), oleautomation, dual] interface IISSchemaObject : IDispatch { //methods [id(DISPID_IADs_UPPER_BOUND+1)] HRESULT GetSchemaPropertyAttributes( [in] BSTR bstrName, [out, retval] IDispatch **ppObject ); [id(DISPID_IADs_UPPER_BOUND+2)] HRESULT PutSchemaPropertyAttributes( [in] IDispatch *pObject ); }; [ uuid(IIS_IID_IISPropertyAttribute), oleautomation, dual] interface IISPropertyAttribute : IDispatch { PROPERTY_BSTR_RO(PropName, 4) PROPERTY_LONG_RW(MetaId, 5) PROPERTY_LONG_RW(UserType, 6) PROPERTY_LONG_RO(AllAttributes, 7) PROPERTY_VARIANT_BOOL_RW(Inherit, 8) PROPERTY_VARIANT_BOOL_RW(Secure, 9) PROPERTY_VARIANT_BOOL_RW(Reference, 10) PROPERTY_VARIANT_BOOL_RW(Volatile, 11) PROPERTY_VARIANT_BOOL_RO(Isinherit, 12) PROPERTY_VARIANT_RW(Default, 13) }; [ uuid(IIS_CLSID_PropertyAttribute)] coclass PropertyAttribute { [default] interface IISPropertyAttribute; interface IDispatch; }; };