windows-nt/Source/XPSP1/NT/ds/security/azroles/azroles.idl
2020-09-26 16:20:57 +08:00

871 lines
19 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
--*/
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")