/*++ 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 --*/ cpp_quote("//") cpp_quote("// IAzAuthorizationStore interface id") cpp_quote("//") cpp_quote("//edbd9ca9-9b82-4f6a-9e8b-98301e450f14") cpp_quote("DEFINE_GUID(IID_IAzAuthorizationStore, 0xedbd9ca9, 0x9b82, 0x4f6a, 0x9e, 0x8b, 0x98, 0x30, 0x1e, 0x45, 0x0f, 0x14);") cpp_quote("") cpp_quote("//") cpp_quote("// AzAuthorizationStore class id") cpp_quote("//") cpp_quote("//b2bcff59-a757-4b0b-a1bc-ea69981da69e") cpp_quote("DEFINE_GUID(CLSID_AzAuthorizationStore, 0xb2bcff59, 0xa757, 0x4b0b, 0xa1, 0xbc, 0xea, 0x69, 0x98, 0x1d, 0xa6, 0x9e);") cpp_quote("") cpp_quote("//") cpp_quote("// IAzBizRuleContext interface id") cpp_quote("//") cpp_quote("//e192f17d-d59f-455e-a152-940316cd77b2") cpp_quote("DEFINE_GUID(IID_IAzBizRuleContext, 0xe192f17d, 0xd59f, 0x455e, 0xa1, 0x52, 0x94, 0x03, 0x16, 0xcd, 0x77, 0xb2);") cpp_quote("") cpp_quote("//") cpp_quote("// AzBizRuleContext class id") cpp_quote("//") cpp_quote("//5c2dc96f-8d51-434b-b33c-379bccae77c3") cpp_quote("DEFINE_GUID(CLSID_AzBizRuleContext, 0x5c2dc96f, 0x8d51, 0x434b, 0xb3, 0x3c, 0x37, 0x9b, 0xcc, 0xae, 0x77, 0xc3);") import "oaidl.idl"; import "ocidl.idl"; //interface forward interface IAzApplication; interface IAzApplications; interface IAzApplicationGroup; interface IAzApplicationGroups; interface IAzOperation; interface IAzOperations; interface IAzTask; interface IAzTasks; interface IAzScope; interface IAzScopes; interface IAzRole; interface IAzRoles; interface IAzClientContext; //IAzAuthorizationStore [ object, uuid(edbd9ca9-9b82-4f6a-9e8b-98301e450f14), dual, helpstring("IAzAuthorizationStore Interface"), pointer_default(unique) ] interface IAzAuthorizationStore : IDispatch { [propget] HRESULT Description( [out, retval] BSTR *pbstrDescription ); [propput] HRESULT Description( [in] BSTR bstrDescription ); [propget] HRESULT ApplicationData( [out, retval] BSTR *pbstrApplicationData ); [propput] HRESULT ApplicationData( [in] BSTR bstrApplicationData ); [propget] HRESULT DomainTimeout( [out, retval] LONG *plProp ); [propput] HRESULT DomainTimeout( [in] LONG lProp ); [propget] HRESULT ScriptEngineTimeout( [out, retval] LONG *plProp ); [propput] HRESULT ScriptEngineTimeout( [in] LONG lProp ); [propget] HRESULT MaxScriptEngines( [out, retval] LONG *plProp ); [propput] HRESULT MaxScriptEngines( [in] LONG lProp ); [propget] HRESULT GenerateAudits( [out, retval] BOOL *pbProp ); [propput] HRESULT GenerateAudits( [in] BOOL bProp ); [propget] HRESULT Writable( [out,retval] BOOL *pfProp ); HRESULT GetProperty( [in] LONG lPropId, [in, optional] VARIANT varReserved, [out, retval] VARIANT* pvarProp ); HRESULT SetProperty( [in] LONG lPropId, [in] VARIANT varProp, [in, optional] VARIANT varReserved ); HRESULT AddPropertyItem( [in] LONG lPropId, [in] VARIANT varProp, [in, optional] VARIANT varReserved ); HRESULT DeletePropertyItem( [in] LONG lPropId, [in] VARIANT varProp, [in, optional] VARIANT varReserved ); [propget] HRESULT PolicyAdministrators( [out, retval] VARIANT* pvarAdmins ); [propget] HRESULT PolicyReaders( [out, retval] VARIANT* pvarReaders ); HRESULT AddPolicyAdministrator( [in] BSTR bstrAdmin, [in, optional] VARIANT varReserved ); HRESULT DeletePolicyAdministrator( [in] BSTR bstrAdmin, [in, optional] VARIANT varReserved ); HRESULT AddPolicyReader( [in] BSTR bstrReader, [in, optional] VARIANT varReserved ); HRESULT DeletePolicyReader( [in] BSTR bstrReader, [in, optional] VARIANT varReserved ); HRESULT Initialize( [in] LONG lFlags, [in] BSTR bstrPolicyURL, [in, optional] VARIANT varReserved ); HRESULT UpdateCache( [in, optional] VARIANT varReserved ); HRESULT Delete( [in, optional] VARIANT varReserved ); // application methods [propget] HRESULT Applications( [out, retval] IAzApplications** ppAppCollection ); HRESULT OpenApplication( [in] BSTR bstrApplicationName, [in, optional] VARIANT varReserved, [out, retval] IAzApplication** ppApplication ); HRESULT CreateApplication( [in] BSTR bstrApplicationName, [in, optional] VARIANT varReserved, [out, retval] IAzApplication** ppApplication ); HRESULT DeleteApplication( [in] BSTR bstrApplicationName, [in, optional] VARIANT varReserved ); //group methods [propget] HRESULT ApplicationGroups( [out, retval] IAzApplicationGroups** ppGroupCollection ); HRESULT CreateApplicationGroup( [in] BSTR bstrGroupName, [in, optional] VARIANT varReserved, [out, retval] IAzApplicationGroup** ppGroup ); HRESULT OpenApplicationGroup( [in] BSTR bstrGroupName, [in, optional] VARIANT varReserved, [out, retval] IAzApplicationGroup** ppGroup ); HRESULT DeleteApplicationGroup( [in] BSTR bstrGroupName, [in, optional] VARIANT varReserved ); HRESULT Submit( [in, defaultvalue(0)] LONG lFlags, [in, optional] VARIANT varReserved ); [propget] HRESULT DelegatedPolicyUsers( [out, retval] VARIANT* pvarDelegatedPolicyUsers ); HRESULT AddDelegatedPolicyUser( [in] BSTR bstrDelegatedPolicyUser, [in, optional] VARIANT varReserved ); HRESULT DeleteDelegatedPolicyUser( [in] BSTR bstrDelegatedPolicyUser, [in, optional] VARIANT varReserved ); [propget] HRESULT TargetMachine( [out, retval] BSTR *pbstrTargetMachine ); [propget] HRESULT ApplyStoreSacl( [out, retval] BOOL * pbApplyStoreSacl ); [propput] HRESULT ApplyStoreSacl( [in] BOOL bApplyStoreSacl ); [propget] HRESULT PolicyAdministratorsName( [out, retval] VARIANT* pvarAdmins ); [propget] HRESULT PolicyReadersName( [out, retval] VARIANT* pvarReaders ); HRESULT AddPolicyAdministratorName( [in] BSTR bstrAdmin, [in, optional] VARIANT varReserved ); HRESULT DeletePolicyAdministratorName( [in] BSTR bstrAdmin, [in, optional] VARIANT varReserved ); HRESULT AddPolicyReaderName( [in] BSTR bstrReader, [in, optional] VARIANT varReserved ); HRESULT DeletePolicyReaderName( [in] BSTR bstrReader, [in, optional] VARIANT varReserved ); [propget] HRESULT DelegatedPolicyUsersName( [out, retval] VARIANT* pvarDelegatedPolicyUsers ); HRESULT AddDelegatedPolicyUserName( [in] BSTR bstrDelegatedPolicyUser, [in, optional] VARIANT varReserved ); HRESULT DeleteDelegatedPolicyUserName( [in] BSTR bstrDelegatedPolicyUser, [in, optional] VARIANT varReserved ); HRESULT CloseApplication( [in] BSTR bstrApplicationName, [in] LONG lFlag ); }; //IAzApplication [ object, uuid(987bc7c7-b813-4d27-bede-6ba5ae867e95), helpstring("IAzApplication Interface"), pointer_default(unique) ] interface IAzApplication : IDispatch { [propget] HRESULT Name( [out, retval] BSTR *pbstrName ); [propput] HRESULT Name( [in] BSTR bstrName ); [propget] HRESULT Description( [out, retval] BSTR *pbstrDescription ); [propput] HRESULT Description( [in] BSTR bstrDescription ); [propget] HRESULT ApplicationData( [out, retval] BSTR *pbstrApplicationData ); [propput] HRESULT ApplicationData( [in] BSTR bstrApplicationData ); [propget] HRESULT AuthzInterfaceClsid( [out,retval] BSTR *pbstrProp); [propput] HRESULT AuthzInterfaceClsid( [in] BSTR bstrProp); [propget] HRESULT Version( [out,retval] BSTR *pbstrProp); [propput] HRESULT Version( [in] BSTR bstrProp); [propget] HRESULT GenerateAudits( [out,retval] BOOL *pbProp); [propput] HRESULT GenerateAudits( [in] BOOL bProp); [propget] HRESULT ApplyStoreSacl( [out,retval] BOOL *pbProp); [propput] HRESULT ApplyStoreSacl( [in] BOOL bProp); [propget] HRESULT Writable( [out,retval] BOOL *pfProp ); HRESULT GetProperty( [in] LONG lPropId, [in, optional] VARIANT varReserved, [out, retval] VARIANT* pvarProp ); HRESULT SetProperty( [in] LONG lPropId, [in] VARIANT varProp, [in, optional] VARIANT varReserved ); [propget] HRESULT PolicyAdministrators( [out, retval] VARIANT* pvarAdmins ); [propget] HRESULT PolicyReaders( [out, retval] VARIANT* pvarReaders ); HRESULT AddPolicyAdministrator( [in] BSTR bstrAdmin, [in, optional] VARIANT varReserved ); HRESULT DeletePolicyAdministrator( [in] BSTR bstrAdmin, [in, optional] VARIANT varReserved ); HRESULT AddPolicyReader( [in] BSTR bstrReader, [in, optional] VARIANT varReserved ); HRESULT DeletePolicyReader( [in] BSTR bstrReader, [in, optional] VARIANT varReserved ); //scope methods [propget] HRESULT Scopes( [out, retval] IAzScopes** ppScopeCollection ); HRESULT OpenScope( [in] BSTR bstrScopeName, [in, optional] VARIANT varReserved, [out, retval] IAzScope** ppScope ); HRESULT CreateScope( [in] BSTR bstrScopeName, [in, optional] VARIANT varReserved, [out, retval] IAzScope** ppScope ); HRESULT DeleteScope( [in] BSTR bstrScopeName, [in, optional] VARIANT varReserved ); //operation methods [propget] HRESULT Operations( [out, retval] IAzOperations** ppOperationCollection ); HRESULT OpenOperation( [in] BSTR bstrOperationName, [in, optional] VARIANT varReserved, [out, retval] IAzOperation** ppOperation ); HRESULT CreateOperation( [in] BSTR bstrOperationName, [in, optional] VARIANT varReserved, [out, retval] IAzOperation** ppOperation ); HRESULT DeleteOperation( [in] BSTR bstrOperationName, [in, optional] VARIANT varReserved ); // task methods [propget] HRESULT Tasks( [out, retval] IAzTasks** ppTaskCollection ); HRESULT OpenTask( [in] BSTR bstrTaskName, [in, optional] VARIANT varReserved, [out, retval] IAzTask** ppTask ); HRESULT CreateTask( [in] BSTR bstrTaskName, [in, optional] VARIANT varReserved, [out, retval] IAzTask** ppTask ); HRESULT DeleteTask( [in] BSTR bstrTaskName, [in, optional] VARIANT varReserved ); //group methods [propget] HRESULT ApplicationGroups( [out, retval] IAzApplicationGroups** ppGroupCollection ); HRESULT OpenApplicationGroup( [in] BSTR bstrGroupName, [in, optional] VARIANT varReserved, [out, retval] IAzApplicationGroup** ppGroup ); HRESULT CreateApplicationGroup( [in] BSTR bstrGroupName, [in, optional] VARIANT varReserved, [out, retval] IAzApplicationGroup** ppGroup ); HRESULT DeleteApplicationGroup( [in] BSTR bstrGroupName, [in, optional] VARIANT varReserved ); //role methods [propget] HRESULT Roles( [out, retval] IAzRoles** ppRoleCollection ); HRESULT OpenRole( [in] BSTR bstrRoleName, [in, optional] VARIANT varReserved, [out, retval] IAzRole** ppRole ); HRESULT CreateRole( [in] BSTR bstrRoleName, [in, optional] VARIANT varReserved, [out, retval] IAzRole** ppRole ); HRESULT DeleteRole( [in] BSTR bstrRoleName, [in, optional] VARIANT varReserved ); HRESULT InitializeClientContextFromToken( [in] ULONGLONG ullTokenHandle, [in, optional] VARIANT varReserved, [out, retval] IAzClientContext** ppClientContext ); HRESULT AddPropertyItem( [in] LONG lPropId, [in] VARIANT varProp, [in, optional] VARIANT varReserved ); HRESULT DeletePropertyItem( [in] LONG lPropId, [in] VARIANT varProp, [in, optional] VARIANT varReserved ); HRESULT Submit( [in, defaultvalue(0)] LONG lFlags, [in, optional] VARIANT varReserved ); HRESULT InitializeClientContextFromName( [in] BSTR ClientName, [in, optional] BSTR DomainName, [in, optional] VARIANT varReserved, [out, retval] IAzClientContext** ppClientContext ); [propget] HRESULT DelegatedPolicyUsers( [out, retval] VARIANT* pvarDelegatedPolicyUsers ); HRESULT AddDelegatedPolicyUser( [in] BSTR bstrDelegatedPolicyUser, [in, optional] VARIANT varReserved ); HRESULT DeleteDelegatedPolicyUser( [in] BSTR bstrDelegatedPolicyUser, [in, optional] VARIANT varReserved ); HRESULT InitializeClientContextFromStringSid( [in] BSTR SidString, [in] LONG lOptions, [in, optional] VARIANT varReserved, [out, retval] IAzClientContext** ppClientContext ); [propget] HRESULT PolicyAdministratorsName( [out, retval] VARIANT* pvarAdmins ); [propget] HRESULT PolicyReadersName( [out, retval] VARIANT* pvarReaders ); HRESULT AddPolicyAdministratorName( [in] BSTR bstrAdmin, [in, optional] VARIANT varReserved ); HRESULT DeletePolicyAdministratorName( [in] BSTR bstrAdmin, [in, optional] VARIANT varReserved ); HRESULT AddPolicyReaderName( [in] BSTR bstrReader, [in, optional] VARIANT varReserved ); HRESULT DeletePolicyReaderName( [in] BSTR bstrReader, [in, optional] VARIANT varReserved ); [propget] HRESULT DelegatedPolicyUsersName( [out, retval] VARIANT* pvarDelegatedPolicyUsers ); HRESULT AddDelegatedPolicyUserName( [in] BSTR bstrDelegatedPolicyUser, [in, optional] VARIANT varReserved ); HRESULT DeleteDelegatedPolicyUserName( [in] BSTR bstrDelegatedPolicyUser, [in, optional] VARIANT varReserved ); }; //IAzApplications [ object, uuid(929b11a9-95c5-4a84-a29a-20ad42c2f16c), helpstring("IAzApplications Interface"), pointer_default(unique) ] interface IAzApplications : IDispatch { [propget, id(0)] HRESULT Item( [in] long Index, [out, retval] VARIANT *pvarObtPtr ); [propget, id(1)] HRESULT Count( [out, retval] long *plCount ); [propget, id(DISPID_NEWENUM)] HRESULT _NewEnum( [out, retval] LPUNKNOWN* ppEnumPtr ); }; //IAzOperation [ object, uuid(5e56b24f-ea01-4d61-be44-c49b5e4eaf74), helpstring("IAzOperation Interface"), pointer_default(unique) ] interface IAzOperation : IDispatch { [propget] HRESULT Name( [out, retval] BSTR *pbstrName ); [propput] HRESULT Name( [in] BSTR bstrName ); [propget] HRESULT Description( [out, retval] BSTR *pbstrDescription ); [propput] HRESULT Description( [in] BSTR bstrDescription ); [propget] HRESULT ApplicationData( [out, retval] BSTR *pbstrApplicationData ); [propput] HRESULT ApplicationData( [in] BSTR bstrApplicationData ); [propget] HRESULT OperationID( [out, retval] LONG *plProp ); [propput] HRESULT OperationID( [in] LONG lProp ); [propget] HRESULT Writable( [out,retval] BOOL *pfProp ); HRESULT GetProperty( [in] LONG lPropId, [in, optional] VARIANT varReserved, [out, retval] VARIANT* pvarProp ); HRESULT SetProperty( [in] LONG lPropId, [in] VARIANT varProp, [in, optional] VARIANT varReserved ); HRESULT Submit( [in, defaultvalue(0)] LONG lFlags, [in, optional] VARIANT varReserved ); }; //IAzOperations [ object, uuid(90ef9c07-9706-49d9-af80-0438a5f3ec35), helpstring("IAzOperations Interface"), pointer_default(unique) ] interface IAzOperations : IDispatch { [propget, id(0)] HRESULT Item( [in] LONG Index, [out, retval] VARIANT *pvarObtPtr ); [propget, id(1)] HRESULT Count( [out, retval] LONG *plCount ); [propget, id(DISPID_NEWENUM)] HRESULT _NewEnum( [out, retval] LPUNKNOWN* ppEnumPtr ); }; //IAzTask [ object, uuid(cb94e592-2e0e-4a6c-a336-b89a6dc1e388), helpstring("IAzTask Interface"), pointer_default(unique) ] interface IAzTask : IDispatch { [propget] HRESULT Name( [out, retval] BSTR *pbstrName ); [propput] HRESULT Name( [in] BSTR bstrName ); [propget] HRESULT Description( [out, retval] BSTR *pbstrDescription ); [propput] HRESULT Description( [in] BSTR bstrDescription ); [propget] HRESULT ApplicationData( [out, retval] BSTR *pbstrApplicationData ); [propput] HRESULT ApplicationData( [in] BSTR bstrApplicationData ); [propget] HRESULT BizRule( [out,retval] BSTR *pbstrProp); [propput] HRESULT BizRule( [in] BSTR bstrProp); [propget] HRESULT BizRuleLanguage( [out,retval] BSTR *pbstrProp); [propput] HRESULT BizRuleLanguage( [in] BSTR bstrProp); [propget] HRESULT BizRuleImportedPath( [out,retval] BSTR *pbstrProp); [propput] HRESULT BizRuleImportedPath( [in] BSTR bstrProp); [propget] HRESULT IsRoleDefinition( [out,retval] BOOL *pfProp); [propput] HRESULT IsRoleDefinition( [in] BOOL fProp); [propget] HRESULT Operations( [out,retval] VARIANT *pvarProp); [propget] HRESULT Tasks( [out,retval] VARIANT *pvarProp); HRESULT AddOperation( [in] BSTR bstrOp, [in, optional] VARIANT varReserved ); HRESULT DeleteOperation( [in] BSTR bstrOp, [in, optional] VARIANT varReserved ); HRESULT AddTask( [in] BSTR bstrTask, [in, optional] VARIANT varReserved ); HRESULT DeleteTask( [in] BSTR bstrTask, [in, optional] VARIANT varReserved ); [propget] HRESULT Writable( [out,retval] BOOL *pfProp ); HRESULT GetProperty( [in] LONG lPropId, [in, optional] VARIANT varReserved, [out, retval] VARIANT* pvarProp ); HRESULT SetProperty( [in] LONG lPropId, [in] VARIANT varProp, [in, optional] VARIANT varReserved ); HRESULT AddPropertyItem( [in] LONG lPropId, [in] VARIANT varProp, [in, optional] VARIANT varReserved ); HRESULT DeletePropertyItem( [in] LONG lPropId, [in] VARIANT varProp, [in, optional] VARIANT varReserved ); HRESULT Submit( [in, defaultvalue(0)] LONG lFlags, [in, optional] VARIANT varReserved ); }; //IAzTasks [ object, uuid(b338ccab-4c85-4388-8c0a-c58592bad398), helpstring("IAzTasks Interface"), pointer_default(unique) ] interface IAzTasks : IDispatch { [propget, id(0)] HRESULT Item( [in] LONG Index, [out, retval] VARIANT *pvarObtPtr ); [propget, id(1)] HRESULT Count( [out, retval] LONG *plCount ); [propget, id(DISPID_NEWENUM)] HRESULT _NewEnum( [out, retval] LPUNKNOWN* ppEnumPtr ); }; //IAzScope [ object, uuid(00e52487-e08d-4514-b62e-877d5645f5ab), helpstring("IAzScope Interface"), pointer_default(unique) ] interface IAzScope : IDispatch { [propget] HRESULT Name( [out, retval] BSTR *pbstrName ); [propput] HRESULT Name( [in] BSTR bstrName ); [propget] HRESULT Description( [out, retval] BSTR *pbstrDescription ); [propput] HRESULT Description( [in] BSTR bstrDescription ); [propget] HRESULT ApplicationData( [out, retval] BSTR *pbstrApplicationData ); [propput] HRESULT ApplicationData( [in] BSTR bstrApplicationData ); [propget] HRESULT Writable( [out,retval] BOOL *pfProp ); HRESULT GetProperty( [in] LONG lPropId, [in, optional] VARIANT varReserved, [out, retval] VARIANT* pvarProp ); HRESULT SetProperty( [in] LONG lPropId, [in] VARIANT varProp, [in, optional] VARIANT varReserved ); HRESULT AddPropertyItem( [in] LONG lPropId, [in] VARIANT varProp, [in, optional] VARIANT varReserved ); HRESULT DeletePropertyItem( [in] LONG lPropId, [in] VARIANT varProp, [in, optional] VARIANT varReserved ); [propget] HRESULT PolicyAdministrators( [out, retval] VARIANT* pvarAdmins ); [propget] HRESULT PolicyReaders( [out, retval] VARIANT* pvarReaders ); HRESULT AddPolicyAdministrator( [in] BSTR bstrAdmin, [in, optional] VARIANT varReserved ); HRESULT DeletePolicyAdministrator( [in] BSTR bstrAdmin, [in, optional] VARIANT varReserved ); HRESULT AddPolicyReader( [in] BSTR bstrReader, [in, optional] VARIANT varReserved ); HRESULT DeletePolicyReader( [in] BSTR bstrReader, [in, optional] VARIANT varReserved ); //group methods [propget] HRESULT ApplicationGroups( [out, retval] IAzApplicationGroups** ppGroupCollection ); HRESULT OpenApplicationGroup( [in] BSTR bstrGroupName, [in, optional] VARIANT varReserved, [out, retval] IAzApplicationGroup** ppGroup ); HRESULT CreateApplicationGroup( [in] BSTR bstrGroupName, [in, optional] VARIANT varReserved, [out, retval] IAzApplicationGroup** ppGroup ); HRESULT DeleteApplicationGroup( [in] BSTR bstrGroupName, [in, optional] VARIANT varReserved ); //role methods [propget] HRESULT Roles( [out, retval] IAzRoles** ppRoleCollection ); HRESULT OpenRole( [in] BSTR bstrRoleName, [in, optional] VARIANT varReserved, [out, retval] IAzRole** ppRole ); HRESULT CreateRole( [in] BSTR bstrRoleName, [in, optional] VARIANT varReserved, [out, retval] IAzRole** ppRole ); HRESULT DeleteRole( [in] BSTR bstrRoleName, [in, optional] VARIANT varReserved ); //task methods [propget] HRESULT Tasks( [out, retval] IAzTasks** ppTaskCollection ); HRESULT OpenTask( [in] BSTR bstrTaskName, [in, optional] VARIANT varReserved, [out, retval] IAzTask** ppTask ); HRESULT CreateTask( [in] BSTR bstrTaskName, [in, optional] VARIANT varReserved, [out, retval] IAzTask** ppTask ); HRESULT DeleteTask( [in] BSTR bstrTaskName, [in, optional] VARIANT varReserved ); HRESULT Submit( [in, defaultvalue(0)] LONG lFlags, [in, optional] VARIANT varReserved ); // delegate methods [propget] HRESULT CanBeDelegated( [out,retval] BOOL *pfProp ); [propget] HRESULT BizrulesWritable( [out,retval] BOOL *pfProp ); [propget] HRESULT PolicyAdministratorsName( [out, retval] VARIANT* pvarAdmins ); [propget] HRESULT PolicyReadersName( [out, retval] VARIANT* pvarReaders ); HRESULT AddPolicyAdministratorName( [in] BSTR bstrAdmin, [in, optional] VARIANT varReserved ); HRESULT DeletePolicyAdministratorName( [in] BSTR bstrAdmin, [in, optional] VARIANT varReserved ); HRESULT AddPolicyReaderName( [in] BSTR bstrReader, [in, optional] VARIANT varReserved ); HRESULT DeletePolicyReaderName( [in] BSTR bstrReader, [in, optional] VARIANT varReserved ); }; //IAzScopes [ object, uuid(78e14853-9f5e-406d-9b91-6bdba6973510), helpstring("IAzScopes Interface"), pointer_default(unique) ] interface IAzScopes : IDispatch { [propget, id(0)] HRESULT Item( [in] LONG Index, [out, retval] VARIANT *pvarObtPtr ); [propget, id(1)] HRESULT Count( [out, retval] LONG *plCount ); [propget, id(DISPID_NEWENUM)] HRESULT _NewEnum( [out, retval] LPUNKNOWN* ppEnumPtr ); }; //IAzApplicationGroup [ object, uuid(f1b744cd-58a6-4e06-9fbf-36f6d779e21e), helpstring("IAzApplicationGroup Interface"), pointer_default(unique) ] interface IAzApplicationGroup : IDispatch { [propget] HRESULT Name( [out, retval] BSTR *pbstrName ); [propput] HRESULT Name( [in] BSTR bstrName ); [propget] HRESULT Type( [out, retval] LONG *plProp ); [propput] HRESULT Type( [in] LONG lProp ); [propget] HRESULT LdapQuery( [out, retval] BSTR *pbstrProp ); [propput] HRESULT LdapQuery( [in] BSTR bstrProp ); [propget] HRESULT AppMembers( [out, retval] VARIANT *pvarProp ); [propget] HRESULT AppNonMembers( [out, retval] VARIANT *pvarProp ); [propget] HRESULT Members( [out, retval] VARIANT *pvarProp ); [propget] HRESULT NonMembers( [out, retval] VARIANT *pvarProp ); [propget] HRESULT Description( [out, retval] BSTR *pbstrDescription ); [propput] HRESULT Description( [in] BSTR bstrDescription ); HRESULT AddAppMember( [in] BSTR bstrProp, [in,optional] VARIANT varReserved ); HRESULT DeleteAppMember( [in] BSTR bstrProp, [in,optional] VARIANT varReserved ); HRESULT AddAppNonMember( [in] BSTR bstrProp, [in,optional] VARIANT varReserved ); HRESULT DeleteAppNonMember( [in] BSTR bstrProp, [in,optional] VARIANT varReserved ); HRESULT AddMember( [in] BSTR bstrProp, [in,optional] VARIANT varReserved ); HRESULT DeleteMember( [in] BSTR bstrProp, [in,optional] VARIANT varReserved ); HRESULT AddNonMember( [in] BSTR bstrProp, [in,optional] VARIANT varReserved ); HRESULT DeleteNonMember( [in] BSTR bstrProp, [in,optional] VARIANT varReserved ); [propget] HRESULT Writable( [out,retval] BOOL *pfProp ); HRESULT GetProperty( [in] LONG lPropId, [in, optional] VARIANT varReserved, [out, retval] VARIANT* pvarProp ); HRESULT SetProperty( [in] LONG lPropId, [in] VARIANT varProp, [in, optional] VARIANT varReserved ); HRESULT AddPropertyItem( [in] LONG lPropId, [in] VARIANT varProp, [in, optional] VARIANT varReserved ); HRESULT DeletePropertyItem( [in] LONG lPropId, [in] VARIANT varProp, [in, optional] VARIANT varReserved ); HRESULT Submit( [in, defaultvalue(0)] LONG lFlags, [in, optional] VARIANT varReserved ); HRESULT AddMemberName( [in] BSTR bstrProp, [in,optional] VARIANT varReserved ); HRESULT DeleteMemberName( [in] BSTR bstrProp, [in,optional] VARIANT varReserved ); HRESULT AddNonMemberName( [in] BSTR bstrProp, [in,optional] VARIANT varReserved ); HRESULT DeleteNonMemberName( [in] BSTR bstrProp, [in,optional] VARIANT varReserved ); [propget] HRESULT MembersName( [out, retval] VARIANT *pvarProp ); [propget] HRESULT NonMembersName( [out, retval] VARIANT *pvarProp ); }; //IAzApplicationGroups [ object, uuid(4ce66ad5-9f3c-469d-a911-b99887a7e685), helpstring("IAzApplicationGroups Interface"), pointer_default(unique) ] interface IAzApplicationGroups : IDispatch { [propget, id(0)] HRESULT Item( [in] LONG Index, [out, retval] VARIANT *pvarObtPtr ); [propget, id(1)] HRESULT Count( [out, retval] LONG *plCount ); [propget, id(DISPID_NEWENUM)] HRESULT _NewEnum( [out, retval] LPUNKNOWN* ppEnumPtr ); }; //IAzRole [ object, uuid(859e0d8d-62d7-41d8-a034-c0cd5d43fdfa), helpstring("IAzRole Interface"), pointer_default(unique) ] interface IAzRole : IDispatch { [propget] HRESULT Name( [out, retval] BSTR *pbstrName ); [propput] HRESULT Name( [in] BSTR bstrName ); [propget] HRESULT Description( [out, retval] BSTR *pbstrDescription ); [propput] HRESULT Description( [in] BSTR bstrDescription ); [propget] HRESULT ApplicationData( [out, retval] BSTR *pbstrApplicationData ); [propput] HRESULT ApplicationData( [in] BSTR bstrApplicationData ); HRESULT AddAppMember( [in] BSTR bstrProp, [in,optional] VARIANT varReserved ); HRESULT DeleteAppMember( [in] BSTR bstrProp, [in,optional] VARIANT varReserved ); HRESULT AddTask( [in] BSTR bstrProp, [in,optional] VARIANT varReserved ); HRESULT DeleteTask( [in] BSTR bstrProp, [in,optional] VARIANT varReserved ); HRESULT AddOperation( [in] BSTR bstrProp, [in,optional] VARIANT varReserved ); HRESULT DeleteOperation( [in] BSTR bstrProp, [in,optional] VARIANT varReserved ); HRESULT AddMember( [in] BSTR bstrProp, [in,optional] VARIANT varReserved ); HRESULT DeleteMember( [in] BSTR bstrProp, [in,optional] VARIANT varReserved ); [propget] HRESULT Writable( [out,retval] BOOL *pfProp ); HRESULT GetProperty( [in] LONG lPropId, [in, optional] VARIANT varReserved, [out, retval] VARIANT *pvarProp ); HRESULT SetProperty( [in] LONG lPropId, [in] VARIANT varProp, [in, optional] VARIANT varReserved ); [propget] HRESULT AppMembers( [out,retval] VARIANT *pvarProp ); [propget] HRESULT Members( [out,retval] VARIANT *pvarProp ); [propget] HRESULT Operations( [out,retval] VARIANT *pvarProp ); [propget] HRESULT Tasks( [out,retval] VARIANT *pvarProp ); HRESULT AddPropertyItem( [in] LONG lPropId, [in] VARIANT varProp, [in, optional] VARIANT varReserved ); HRESULT DeletePropertyItem( [in] LONG lPropId, [in] VARIANT varProp, [in, optional] VARIANT varReserved ); HRESULT Submit( [in, defaultvalue(0)] LONG lFlags, [in, optional] VARIANT varReserved ); HRESULT AddMemberName( [in] BSTR bstrProp, [in,optional] VARIANT varReserved ); HRESULT DeleteMemberName( [in] BSTR bstrProp, [in,optional] VARIANT varReserved ); [propget] HRESULT MembersName( [out, retval] VARIANT *pvarProp ); }; //IAzRoles [ object, uuid(95e0f119-13b4-4dae-b65f-2f7d60d822e4), helpstring("IAzRoles Interface"), pointer_default(unique) ] interface IAzRoles : IDispatch { [propget, id(0)] HRESULT Item( [in] LONG Index, [out, retval] VARIANT *pvarObtPtr ); [propget, id(1)] HRESULT Count( [out, retval] LONG *plCount ); [propget, id(DISPID_NEWENUM)] HRESULT _NewEnum( [out, retval] LPUNKNOWN* ppEnumPtr ); }; //IAzClientContext [ object, uuid(eff1f00b-488a-466d-afd9-a401c5f9eef5), helpstring("IAzClientContext Interface"), pointer_default(unique) ] interface IAzClientContext : IDispatch { HRESULT AccessCheck( [in] BSTR bstrObjectName, [in] VARIANT varScopeNames, [in] VARIANT varOperations, [in,optional] VARIANT varParameterNames, [in,optional] VARIANT varParameterValues, [in,optional] VARIANT varInterfaceNames, [in,optional] VARIANT varInterfaceFlags, [in,optional] VARIANT varInterfaces, [out, retval] VARIANT* pvarResults ); HRESULT GetBusinessRuleString( [out, retval] BSTR* pbstrBusinessRuleString ); [propget] HRESULT UserDn( [out,retval] BSTR *pbstrProp ); [propget] HRESULT UserSamCompat( [out,retval] BSTR *pbstrProp ); [propget] HRESULT UserDisplay( [out,retval] BSTR *pbstrProp ); [propget] HRESULT UserGuid( [out,retval] BSTR *pbstrProp ); [propget] HRESULT UserCanonical( [out,retval] BSTR *pbstrProp ); [propget] HRESULT UserUpn( [out,retval] BSTR *pbstrProp ); [propget] HRESULT UserDnsSamCompat( [out,retval] BSTR *pbstrProp ); HRESULT GetProperty( [in] LONG lPropId, [in, optional] VARIANT varReserved, [out, retval] VARIANT* pvarProp ); HRESULT GetRoles( [in, optional] BSTR bstrScopeName, [out, retval] VARIANT* pvarRoleNames ); [propget] HRESULT RoleForAccessCheck( [out,retval] BSTR *pbstrProp ); [propput] HRESULT RoleForAccessCheck( [in] BSTR bstrProp ); }; //IAzBizRuleContext [ object, uuid(e192f17d-d59f-455e-a152-940316cd77b2), helpstring("IAzBizRuleContext Interface"), pointer_default(unique) ] interface IAzBizRuleContext : IDispatch { [propput] HRESULT BusinessRuleResult( [in] BOOL bResult ); [propput] HRESULT BusinessRuleString( [in] BSTR bstrBusinessRuleString ); [propget] HRESULT BusinessRuleString( [out, retval] BSTR* pbstrBusinessRuleString ); HRESULT GetParameter( [in] BSTR bstrParameterName, [out, retval] VARIANT* pvarParameterValue ); }; //AZROLESLib [ uuid(11A8B8EE-BF30-409A-8EF7-3A143EF70332), version(1.0), helpstring("azroles 1.0 Type Library") ] library AZROLESLib { importlib("stdole32.tlb"); importlib("stdole2.tlb"); //AzAuthorizationStore [ uuid(b2bcff59-a757-4b0b-a1bc-ea69981da69e), helpstring("AzAuthorizationStore Class") ] coclass AzAuthorizationStore { [default] interface IAzAuthorizationStore; }; //AzBizRuleContext [ uuid(5c2dc96f-8d51-434b-b33c-379bccae77c3), helpstring("AzBizRuleContext Class") ] coclass AzBizRuleContext { [default] interface IAzBizRuleContext; }; // constant defines in type library // // Common Property IDs // // This list of property IDs are common to all objects. // Each object should pick specific property ids // cpp_quote("") cpp_quote("// List of poperty IDs for Az objects.") cpp_quote("") typedef enum tagAZ_PROP_CONSTANTS { // Common Property IDs AZ_PROP_NAME = 1, AZ_PROP_DESCRIPTION = 2, AZ_PROP_WRITABLE = 3, AZ_PROP_APPLICATION_DATA = 4, AZ_PROP_CHILD_CREATE = 5, // // Maximum length (in characters) of the object name // AZ_MAX_APPLICATION_NAME_LENGTH = 512, AZ_MAX_OPERATION_NAME_LENGTH = 64, AZ_MAX_TASK_NAME_LENGTH = 64, AZ_MAX_SCOPE_NAME_LENGTH = 65536, AZ_MAX_GROUP_NAME_LENGTH = 64, AZ_MAX_ROLE_NAME_LENGTH = 64, AZ_MAX_NAME_LENGTH = 65536, // // Maximum length (in characters) of the description of an object // AZ_MAX_DESCRIPTION_LENGTH = 1024, // // Maximum length (in characters) of the opaque data // AZ_MAX_APPLICATION_DATA_LENGTH = 4096, // // Flags to Submit methods // AZ_SUBMIT_FLAG_ABORT = 0x0001, // Abort the operation instead of commiting it // // Object specific property IDs // // AzAuthorizationStore specific IDs AZ_MAX_POLICY_URL_LENGTH = 65536, AZ_AZSTORE_FLAG_CREATE = 0x0001, // Create the policy instead of opening it AZ_AZSTORE_FLAG_MANAGE_STORE_ONLY = 0x0002, // Open the store for administrative purposes only // There will be no runtime actions performed AZ_AZSTORE_FLAG_BATCH_UPDATE = 0x0004, // Implies update should be performed in batch mode AZ_AZSTORE_FLAG_AUDIT_IS_CRITICAL = 0x0008, // Audit is critical, fail if cannot do audit AZ_AZSTORE_FORCE_APPLICATION_CLOSE = 0x0010, // Forcefully unload an AzApplication object from cache AZ_PROP_AZSTORE_DOMAIN_TIMEOUT = 100, AZ_AZSTORE_DEFAULT_DOMAIN_TIMEOUT = (15*1000), AZ_PROP_AZSTORE_SCRIPT_ENGINE_TIMEOUT = 101, AZ_AZSTORE_MIN_DOMAIN_TIMEOUT = 500, // 0.5 seconds AZ_AZSTORE_MIN_SCRIPT_ENGINE_TIMEOUT = (5*1000), // 5 seconds AZ_AZSTORE_DEFAULT_SCRIPT_ENGINE_TIMEOUT = (45*1000), // 45 seconds AZ_PROP_AZSTORE_MAX_SCRIPT_ENGINES = 102, AZ_AZSTORE_DEFAULT_MAX_SCRIPT_ENGINES = 120, // 120 scripts cahced by default AZ_PROP_AZSTORE_MAJOR_VERSION = 103, AZ_PROP_AZSTORE_MINOR_VERSION = 104, AZ_PROP_AZSTORE_TARGET_MACHINE = 105, // Operation specific IDs AZ_PROP_OPERATION_ID = 200, // Task specific IDs AZ_PROP_TASK_OPERATIONS = 300, AZ_PROP_TASK_BIZRULE = 301, AZ_PROP_TASK_BIZRULE_LANGUAGE = 302, AZ_PROP_TASK_TASKS = 303, AZ_PROP_TASK_BIZRULE_IMPORTED_PATH = 304, AZ_PROP_TASK_IS_ROLE_DEFINITION = 305, AZ_MAX_TASK_BIZRULE_LENGTH = 65536, AZ_MAX_TASK_BIZRULE_LANGUAGE_LENGTH = 64, AZ_MAX_TASK_BIZRULE_IMPORTED_PATH_LENGTH = 512, AZ_MAX_BIZRULE_STRING = 65536, // Group specific IDs AZ_PROP_GROUP_TYPE = 400, AZ_GROUPTYPE_LDAP_QUERY = 1, AZ_GROUPTYPE_BASIC = 2, AZ_PROP_GROUP_APP_MEMBERS = 401, AZ_PROP_GROUP_APP_NON_MEMBERS = 402, AZ_PROP_GROUP_LDAP_QUERY = 403, AZ_MAX_GROUP_LDAP_QUERY_LENGTH = 4096, AZ_PROP_GROUP_MEMBERS = 404, AZ_PROP_GROUP_NON_MEMBERS = 405, AZ_PROP_GROUP_MEMBERS_NAME = 406, AZ_PROP_GROUP_NON_MEMBERS_NAME = 407, // Role specific IDs AZ_PROP_ROLE_APP_MEMBERS = 500, AZ_PROP_ROLE_MEMBERS = 501, AZ_PROP_ROLE_OPERATIONS = 502, AZ_PROP_ROLE_TASKS = 504, AZ_PROP_ROLE_MEMBERS_NAME = 505, // Scope specific IDs AZ_PROP_SCOPE_BIZRULES_WRITABLE = 600, AZ_PROP_SCOPE_CAN_BE_DELEGATED = 601, // Client Context specific IDs // CN=John Doe, OU=Software, OU=Engineering, O=Widget, C=US AZ_PROP_CLIENT_CONTEXT_USER_DN = 700, // Engineering\JohnDoe AZ_PROP_CLIENT_CONTEXT_USER_SAM_COMPAT = 701, // John Doe AZ_PROP_CLIENT_CONTEXT_USER_DISPLAY = 702, // String-ized GUID as returned by IIDFromString(). // eg: {4fa050f0-f561-11cf-bdd9-00aa003a77b6} AZ_PROP_CLIENT_CONTEXT_USER_GUID = 703, // engineering.widget.com/software/John Doe AZ_PROP_CLIENT_CONTEXT_USER_CANONICAL = 704, // johndoe@engineering.com AZ_PROP_CLIENT_CONTEXT_USER_UPN = 705, // DNS domain name + SAM username // eg: engineering.widget.com\JohnDoe AZ_PROP_CLIENT_CONTEXT_USER_DNS_SAM_COMPAT = 707, // // role name for access check, e.g., bank teller, admin // AZ_PROP_CLIENT_CONTEXT_ROLE_FOR_ACCESS_CHECK = 708, // Application specific IDs AZ_PROP_APPLICATION_AUTHZ_INTERFACE_CLSID = 800, AZ_PROP_APPLICATION_VERSION = 801, AZ_MAX_APPLICATION_VERSION_LENGTH = 512, AZ_PROP_APPLICATION_NAME = 802, // container object specific IDs AZ_PROP_APPLY_STORE_SACL = 900, AZ_PROP_GENERATE_AUDITS = 901, AZ_PROP_POLICY_ADMINS = 902, AZ_PROP_POLICY_READERS = 903, AZ_PROP_DELEGATED_POLICY_USERS = 904, AZ_PROP_POLICY_ADMINS_NAME = 905, AZ_PROP_POLICY_READERS_NAME = 906, AZ_PROP_DELEGATED_POLICY_USERS_NAME = 907, // options for InitializeClientContextFromStringSid AZ_CLIENT_CONTEXT_SKIP_GROUP = 1, } AZ_PROP_CONSTANTS; }; cpp_quote("#ifndef OLESCRIPT_E_SYNTAX") cpp_quote("#define OLESCRIPT_E_SYNTAX _HRESULT_TYPEDEF_(0x80020101L)") cpp_quote("#endif // OLESCRIPT_E_SYNTAX")