/*++ Copyright (c) 2001 Microsoft Corporation Module Name: azroles.idl Abstract: IDL definition for all AZ IDispatch interfaces This file will be processed by the MIDL tool to produce the type library (azroles.tlb) and marshalling code. Author: Xiaoxi Tan (xtan) 11-May-2001 --*/ import "oaidl.idl"; import "ocidl.idl"; //IAzAdminManager [ object, uuid(edbd9ca9-9b82-4f6a-9e8b-98301e450f14), dual, helpstring("IAzAdminManager Interface"), pointer_default(unique) ] interface IAzAdminManager : IDispatch { HRESULT Initialize( [in] ULONG lReserved, //ignored [in] ULONG lStoreType, [in] BSTR bstrPolicyURL ); HRESULT CreateEnumApplication( [out, retval] VARIANT *pvarEnumApplication ); HRESULT OpenApplication( [in] BSTR bstrApplicationName, [out, retval] VARIANT* pvarApplication ); HRESULT CreateApplication( [in] BSTR bstrApplicationName, [out, retval] VARIANT* pvarApplication ); HRESULT DeleteApplication( [in] BSTR bstrApplicationName ); //group methods HRESULT CreateEnumApplicationGroup( [out, retval] VARIANT* pvarEnumApplicationGroup ); HRESULT AddApplicationGroup( [in] BSTR bstrGroupName ); HRESULT OpenApplicationGroup( [in] BSTR bstrGroupName, [out, retval] VARIANT* pvarApplicationGroup ); HRESULT DeleteApplicationGroup( [in] BSTR bstrGroupName ); HRESULT Submit( [in] ULONG lReserved //ignored ); }; //IAzApplication [ object, uuid(987bc7c7-b813-4d27-bede-6ba5ae867e95), helpstring("IAzApplication Interface"), pointer_default(unique) ] interface IAzApplication : IDispatch { HRESULT GetProperty( [in] ULONG lPropId, [out, retval] VARIANT* pvarProp ); HRESULT SetProperty( [in] ULONG lPropId, [in] VARIANT varProp ); //scope methods HRESULT CreateEnumScope( [out, retval] VARIANT* pvarEnumAzScope ); HRESULT OpenScope( [in] BSTR bstrScopeName, [out, retval] VARIANT* pvarScope ); HRESULT CreateScope( [in] BSTR bstrScopeName, [out, retval] VARIANT* pScope ); HRESULT DeleteScope( [in] BSTR bstrScopeName ); //operation methods HRESULT CreateEnumOperation( [out, retval] VARIANT* pvarEnumOperation ); HRESULT OpenOperation( [in] BSTR bstrOperationName, [out, retval] VARIANT* pvarOperation ); HRESULT CreateOperation( [in] BSTR bstrOperationName, [out, retval] VARIANT* pvarOperation ); HRESULT DeleteOperation( [in] BSTR bstrOperationName ); // task methods HRESULT CreateEnumTask( [out, retval] VARIANT* pvarEnumAzTask ); HRESULT OpenTask( [in] BSTR bstrTaskName, [out, retval] VARIANT* pvarTask ); HRESULT CreateTask( [in] BSTR bstrTaskName, [out, retval] VARIANT* pvarTask ); HRESULT DeleteTask( [in] BSTR bstrTaskName ); //group methods HRESULT CreateEnumApplicationGroup( [out, retval] VARIANT* pvarEnumGroup ); HRESULT OpenApplicationGroup( [in] BSTR bstrGroupName, [out, retval] VARIANT* pvarGroup ); HRESULT CreateApplicationGroup( [in] BSTR bstrGroupName, [out, retval] VARIANT* pvarGroup ); HRESULT DeleteApplicationGroup( [in] BSTR bstrGroupName ); //role methods HRESULT CreateEnumRole( [out, retval] VARIANT* pvarEnumRole ); HRESULT OpenRole( [in] BSTR bstrRoleName, [out, retval] VARIANT *pvarRole ); HRESULT CreateRole( [in] BSTR bstrRoleName, [out, retval] VARIANT* pvarRole ); HRESULT DeleteRole( [in] BSTR bstrRoleName ); //JunctionPoint methods HRESULT CreateEnumJunctionPoint( [out, retval] VARIANT* pvarEnumJunctionPoint ); HRESULT OpenJunctionPoint( [in] BSTR bstrJunctionPointName, [out, retval] VARIANT* pvarJunctionPoint ); HRESULT CreateJunctionPoint( [in] BSTR bstrJunctionPointName, [out, retval] VARIANT* pvarJunctionPoint ); HRESULT DeleteJunctionPoint( [in] BSTR bstrJunctionPointName ); HRESULT InitializeClientContextFromToken( [in] ULONG lTokenHandle, [out, retval] VARIANT* pvarClientContext ); }; //IAzEnumApplication [ object, uuid(929b11a9-95c5-4a84-a29a-20ad42c2f16c), helpstring("IAzEnumApplication Interface"), pointer_default(unique) ] interface IAzEnumApplication : IDispatch { HRESULT Count( [out, retval] ULONG* plCount ); HRESULT Reset( ); HRESULT Next( [out, retval] VARIANT* pvarAzApplication ); }; //IAzOperation [ object, uuid(5e56b24f-ea01-4d61-be44-c49b5e4eaf74), helpstring("IAzOperation Interface"), pointer_default(unique) ] interface IAzOperation : IDispatch { HRESULT GetProperty( [in] ULONG lPropId, [out, retval] VARIANT* pvarProp ); HRESULT SetProperty( [in] ULONG lPropId, [in] VARIANT varProp ); }; //IAzEnumOperation [ object, uuid(90ef9c07-9706-49d9-af80-0438a5f3ec35), helpstring("IAzEnumOperation Interface"), pointer_default(unique) ] interface IAzEnumOperation : IDispatch { HRESULT Count( [out, retval] ULONG* plCount ); HRESULT Reset( ); HRESULT Next( [out, retval] VARIANT* pvarOperation ); }; //IAzTask [ object, uuid(cb94e592-2e0e-4a6c-a336-b89a6dc1e388), helpstring("IAzTask Interface"), pointer_default(unique) ] interface IAzTask : IDispatch { HRESULT GetProperty( [in] ULONG lPropId, [out, retval] VARIANT* pvarProp ); HRESULT SetProperty( [in] ULONG lPropId, [in] VARIANT varProp ); HRESULT AddPropertyItem( [in] ULONG lPropId, [in] VARIANT varProp ); HRESULT DeletePropertyItem( [in] ULONG lPropId, [in] VARIANT varProp ); }; //IAzEnumTask [ object, uuid(b338ccab-4c85-4388-8c0a-c58592bad398), helpstring("IAzEnumTask Interface"), pointer_default(unique) ] interface IAzEnumTask : IDispatch { HRESULT Count( [out, retval] ULONG* plCount ); HRESULT Reset( ); HRESULT Next( [out, retval] VARIANT* pvarTask ); }; //IAzScope [ object, uuid(00e52487-e08d-4514-b62e-877d5645f5ab), helpstring("IAzScope Interface"), pointer_default(unique) ] interface IAzScope : IDispatch { HRESULT GetProperty( [in] ULONG lPropId, [out, retval] VARIANT* pvarProp ); HRESULT SetProperty( [in] ULONG lPropId, [in] VARIANT varProp ); //group methods HRESULT CreateEnumApplicationGroup( [out, retval] VARIANT* pvarEnumGroup ); HRESULT OpenApplicationGroup( [in] BSTR bstrGroupName, [out, retval] VARIANT* pvarGroup ); HRESULT AddApplicationGroup( [in] BSTR bstrGroupName ); HRESULT DeleteApplicationGroup( [in] BSTR bstrGroupName ); //role methods HRESULT CreateEnumRole( [out, retval] VARIANT* pvarEnumRole ); HRESULT OpenRole( [in] BSTR bstrRoleName, [out, retval] VARIANT* pvarRole ); HRESULT AddRole( [in] BSTR bstrRoleName ); HRESULT DeleteRole( [in] BSTR bstrRoleName ); }; //IAzEnumScope [ object, uuid(78e14853-9f5e-406d-9b91-6bdba6973510), helpstring("IAzEnumScope Interface"), pointer_default(unique) ] interface IAzEnumScope : IDispatch { HRESULT Count( [out, retval] ULONG* plCount ); HRESULT Reset( ); HRESULT Next( [out, retval] VARIANT* pvarScope ); }; //IAzApplicationGroup [ object, uuid(f1b744cd-58a6-4e06-9fbf-36f6d779e21e), helpstring("IAzApplicationGroup Interface"), pointer_default(unique) ] interface IAzApplicationGroup : IDispatch { HRESULT GetProperty( [in] ULONG lPropId, [out, retval] VARIANT* pvarProp ); HRESULT SetProperty( [in] ULONG lPropId, [in] VARIANT varProp ); HRESULT AddPropertyItem( [in] ULONG lPropId, [in] VARIANT varProp ); HRESULT DeletePropertyItem( [in] ULONG lPropId, [in] VARIANT varProp ); }; //IAzEnumApplicationGroup [ object, uuid(4ce66ad5-9f3c-469d-a911-b99887a7e685), helpstring("IAzEnumApplicationGroup Interface"), pointer_default(unique) ] interface IAzEnumApplicationGroup : IDispatch { HRESULT Count( [out, retval] ULONG* plCount ); HRESULT Reset( ); HRESULT Next( [out, retval] VARIANT* pvarApplicationGroup ); }; //IAzRole [ object, uuid(859e0d8d-62d7-41d8-a034-c0cd5d43fdfa), helpstring("IAzRole Interface"), pointer_default(unique) ] interface IAzRole : IDispatch { HRESULT GetProperty( [in] ULONG lPropId, [out, retval] VARIANT *pvarProp ); HRESULT SetProperty( [in] ULONG lPropId, [in] VARIANT varProp ); HRESULT AddPropertyItem( [in] ULONG lPropId, [in] VARIANT varProp ); HRESULT DeletePropertyItem( [in] ULONG lPropId, [in] VARIANT varProp ); }; //IAzEnumRole [ object, uuid(95e0f119-13b4-4dae-b65f-2f7d60d822e4), helpstring("IAzEnumRole Interface"), pointer_default(unique) ] interface IAzEnumRole : IDispatch { HRESULT Count( [out, retval] ULONG* plCount ); HRESULT Reset( ); HRESULT Next( [out, retval] VARIANT* pvarRole ); }; //IAzJunctionPoint [ object, uuid(14a269d1-5da3-4f00-a432-98c5fb2de025), helpstring("IAzJunctionPoint Interface"), pointer_default(unique) ] interface IAzJunctionPoint : IDispatch { HRESULT GetProperty( [in] ULONG lPropId, [out, retval] VARIANT* pvarProp ); HRESULT SetProperty( [in] ULONG lPropId, [in] VARIANT varProp ); }; //IAzEnumJunctionPoint [ object, uuid(ddbd8687-44a4-49fa-bcf6-71103b14b8c4), helpstring("IAzEnumJunctionPoint Interface"), pointer_default(unique) ] interface IAzEnumJunctionPoint : IDispatch { HRESULT Count( [out, retval] ULONG* plCount ); HRESULT Reset( ); HRESULT Next( [out, retval] VARIANT* pvarJunctionPoint ); }; //IAzClientContext [ object, uuid(eff1f00b-488a-466d-afd9-a401c5f9eef5), helpstring("IAzClientContext Interface"), pointer_default(unique) ] interface IAzClientContext : IDispatch { HRESULT AccessCheck( [in] BSTR bstrObjectName, [in] ULONG lScopeCount, [in] VARIANT varScopeNames, //OPTIONAL [in] ULONG lOperationCount, [in] VARIANT varOperations, [in] ULONG lParameterCount, [in] VARIANT varParameterNames, //OPTIONAL [in] VARIANT varParameterVariants, //OPTIONAL [in] ULONG lInterfaceCount, [in] VARIANT varInterfaceNames, //OPTIONAL [in] ULONG lInterfaceFlags, //OPTIONAL [in] VARIANT varInterfaces, //OPTIONAL [out, retval] VARIANT* pvarResults ); HRESULT GetBusinessRuleString( [out, retval] BSTR* pbstrBusinessRuleString ); HRESULT GetProperty( [in] ULONG lPropId, [out, retval] VARIANT* pvarProp ); }; //IAzAccessCheck [ object, uuid(e192f17d-d59f-455e-a152-940316cd77b2), helpstring("IAzAccessCheck Interface"), pointer_default(unique) ] interface IAzAccessCheck : IDispatch { [propput] HRESULT BusinessRuleResult( [in] BOOL bResult ); [propput] HRESULT BusinessRuleString( [in] BSTR bstrBusinessRuleString ); [propget] HRESULT BusinessRuleString( [out, retval] BSTR* pbstrBusinessRuleString ); [propput] HRESULT BusinessRuleExpiration( [in] ULONG lExpirationPeriod ); HRESULT GetParameter( [in] BSTR bstrParameterName, [out, retval] VARIANT* pvarParameterName ); }; //AZROLESLib [ uuid(11A8B8EE-BF30-409A-8EF7-3A143EF70332), version(1.0), helpstring("azroles 1.0 Type Library") ] library AZROLESLib { importlib("stdole32.tlb"); importlib("stdole2.tlb"); //AzAdminManager [ uuid(b2bcff59-a757-4b0b-a1bc-ea69981da69e), helpstring("AzAdminManager Class") ] coclass AzAdminManager { [default] interface IAzAdminManager; }; //AzApplication [ uuid(3dac5e2d-fd2f-4cc1-aa03-9a7d06f08328), helpstring("AzApplication Class") ] coclass AzApplication { [default] interface IAzApplication; }; //AzEnumApplication [ uuid(fa47b737-ea3c-473c-b6e5-48c09e75a51b), helpstring("AzEnumApplication Class") ] coclass AzEnumApplication { [default] interface IAzEnumApplication; }; //AzOperation [ uuid(e5877a05-5bca-4c54-834e-532435a64b5a), helpstring("AzOperation Class") ] coclass AzOperation { [default] interface IAzOperation; }; //AzEnumOperation [ uuid(5fd49bed-5c11-4a2b-a883-b7936f6916c1), helpstring("AzEnumOperation Class") ] coclass AzEnumOperation { [default] interface IAzEnumOperation; }; //AzTask [ uuid(119c6c49-e40f-4356-a573-38727af7762f), helpstring("AzTask Class") ] coclass AzTask { [default] interface IAzTask; }; //AzEnumTask [ uuid(facea3a6-b158-4659-8574-61763cbc0b3b), helpstring("AzEnumTask Class") ] coclass AzEnumTask { [default] interface IAzEnumTask; }; //AzScope [ uuid(5c9e483f-56c8-4e8b-9f69-17fea5870ddc), helpstring("AzScope Class") ] coclass AzScope { [default] interface IAzScope; }; //AzEnumScope [ uuid(3fcb9195-33ff-4529-88b0-09cc07c78126), helpstring("AzEnumScope Class") ] coclass AzEnumScope { [default] interface IAzEnumScope; }; //AzApplicationGroup [ uuid(160475f0-b449-45cc-a666-1cfdb4051914), helpstring("AzApplicationGroup Class") ] coclass AzApplicationGroup { [default] interface IAzApplicationGroup; }; //AzEnumApplicationGroup [ uuid(b374c382-a46e-4abd-8a23-7d781f2e9f30), helpstring("AzEnumApplicationGroup Class") ] coclass AzEnumApplicationGroup { [default] interface IAzEnumApplicationGroup; }; //AzRole [ uuid(72ccf3e5-0694-4102-813c-120097db34ca), helpstring("AzRole Class") ] coclass AzRole { [default] interface IAzRole; }; //AzEnumRole [ uuid(7c6d895b-36ad-4549-8f5e-978d396b00ae), helpstring("AzEnumRole Class") ] coclass AzEnumRole { [default] interface IAzEnumRole; }; //AzJunctionPoint [ uuid(14c084fd-b2d8-4862-99e5-65e8855f11fb), helpstring("AzJunctionPoint Class") ] coclass AzJunctionPoint { [default] interface IAzJunctionPoint; }; //AzEnumJunctionPoint [ uuid(238d4d06-d045-4fb3-affc-d219e0c2e5ff), helpstring("AzEnumJunctionPoint Class") ] coclass AzEnumJunctionPoint { [default] interface IAzEnumJunctionPoint; }; //AzClientContext [ uuid(b0848403-9ece-4652-8cc5-52118ba419df), helpstring("AzClientContext Class") ] coclass AzClientContext { [default] interface IAzClientContext; }; //AzAccessCheck [ uuid(5c2dc96f-8d51-434b-b33c-379bccae77c3), helpstring("AzAccessCheck Class") ] coclass AzAccessCheck { [default] interface IAzAccessCheck; }; }; //IAzAdminManager::Initialize lStoreType defines cpp_quote("#define AZ_ADMIN_STORE_UNKNOWN 0x00") cpp_quote("#define AZ_ADMIN_STORE_AD 0x01") cpp_quote("#define AZ_ADMIN_STORE_XML 0x02") //IAzApplication::GetProperty/SetProperty lPropId defines cpp_quote("#define AZ_PROP_NAME 1") cpp_quote("#define AZ_PROP_DESCRIPTION 2") //IAzOperation::GetProperty/SetProperty lPropId defines cpp_quote("#define AZ_PROP_OPERATION_ID 200") //IAzTask::GetProperty/SetProperty lPropId defines cpp_quote("#define AZ_PROP_TASK_OPERATIONS 300") cpp_quote("#define AZ_PROP_TASK_BIZRULE 301") cpp_quote("#define AZ_PROP_TASK_BIZRULE_LANGUAGE 302") //IAzApplicationGroup::Get/Set lPropId defines cpp_quote("#define AZ_PROP_GROUP_TYPE 400") cpp_quote("#define AZ_PROP_GROUP_APP_MEMBERS 401") cpp_quote("#define AZ_PROP_GROUP_APP_NON_MEMBERS 402") cpp_quote("#define AZ_PROP_GROUP_LDAP_QUERY 403") cpp_quote("#define AZ_PROP_GROUP_MEMBERS 404") cpp_quote("#define AZ_PROP_GROUP_NON_MEMBERS 405") cpp_quote("#define AZ_GROUPTYPE_LDAP_QUERY 1") cpp_quote("#define AZ_GROUPTYPE_MEMBERSHIP 2") //IAzRole::Get/Set lPropId defines cpp_quote("#define AZ_PROP_ROLE_APP_MEMBERS 500") cpp_quote("#define AZ_PROP_ROLE_MEMBERS 501") cpp_quote("#define AZ_PROP_ROLE_OPERATIONS 502") cpp_quote("#define AZ_PROP_ROLE_SCOPES 503") //IAzJunctionPoint::GetProperty/SetProperty lPropId defines cpp_quote("#define AZ_PROP_JUNCTION_POINT_APPLICATION 600")