Windows-Server-2003/ds/security/azroles/azroles.idl

1931 lines
47 KiB
Plaintext

/*++
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")