WindowsXP-SP1/ds/adsi/types/security.odl

209 lines
5.9 KiB
Plaintext

//---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1996
//
// File: user.odl
//
// Contents: User Interfaces
//
//----------------------------------------------------------------------------
[ uuid(OLEDS_IID_IADsAccessControlEntry), oleautomation, dual]
interface IADsAccessControlEntry: IDispatch
{
PROPERTY_LONG_RW(AccessMask, 2)
PROPERTY_LONG_RW(AceType, 3)
PROPERTY_LONG_RW(AceFlags, 4)
PROPERTY_LONG_RW(Flags, 5)
PROPERTY_BSTR_RW(ObjectType, 6)
PROPERTY_BSTR_RW(InheritedObjectType, 7)
PROPERTY_BSTR_RW(Trustee, 8)
};
[ uuid(OLEDS_CLSID_AccessControlEntry)]
coclass AccessControlEntry
{
[default] interface IADsAccessControlEntry;
interface IDispatch;
};
[ uuid(OLEDS_IID_IADsAccessControlList), oleautomation, dual]
interface IADsAccessControlList: IDispatch
{
PROPERTY_LONG_RW(AclRevision, 3)
PROPERTY_LONG_RW(AceCount, 4)
[id(5)]
HRESULT
AddAce([in] IDispatch * pAccessControlEntry);
[id(6)]
HRESULT
RemoveAce([in] IDispatch * pAccessControlEntry);
[id(7)]
HRESULT
CopyAccessList([out,retval] IDispatch * * ppAccessControlList);
[propget, restricted, id(DISPID_NEWENUM)] // Must be propget.
HRESULT
_NewEnum(
[out, retval] IUnknown** retval
);
};
[ uuid(OLEDS_CLSID_AccessControlList)]
coclass AccessControlList
{
[default] interface IADsAccessControlList;
interface IDispatch;
};
[ uuid(OLEDS_IID_IADsSecurityDescriptor), oleautomation, dual]
interface IADsSecurityDescriptor : IDispatch
{
PROPERTY_LONG_RW(Revision, 2)
PROPERTY_LONG_RW(Control, 3)
PROPERTY_BSTR_RW(Owner, 4)
PROPERTY_VARIANT_BOOL_RW(OwnerDefaulted, 5)
PROPERTY_BSTR_RW(Group, 6)
PROPERTY_VARIANT_BOOL_RW(GroupDefaulted, 7)
PROPERTY_DISPATCH_RW(DiscretionaryAcl, 8)
PROPERTY_VARIANT_BOOL_RW(DaclDefaulted, 9)
PROPERTY_DISPATCH_RW(SystemAcl, 10)
PROPERTY_VARIANT_BOOL_RW(SaclDefaulted, 11)
[id(12)]
HRESULT
CopySecurityDescriptor([out, retval] IDispatch ** ppSecurityDescriptor);
};
[ uuid(OLEDS_CLSID_SecurityDescriptor)]
coclass SecurityDescriptor
{
[default] interface IADsSecurityDescriptor;
interface IDispatch;
};
//
// ACCESS MASKS
//
typedef enum {
ADS_RIGHT_DELETE =0x00010000,
ADS_RIGHT_READ_CONTROL =0x00020000,
ADS_RIGHT_WRITE_DAC =0x00040000,
ADS_RIGHT_WRITE_OWNER =0x00080000,
ADS_RIGHT_SYNCHRONIZE =0x00100000,
ADS_RIGHT_ACCESS_SYSTEM_SECURITY =0x01000000,
ADS_RIGHT_GENERIC_READ =0x80000000,
ADS_RIGHT_GENERIC_WRITE =0x40000000,
ADS_RIGHT_GENERIC_EXECUTE =0x20000000,
ADS_RIGHT_GENERIC_ALL =0x10000000,
ADS_RIGHT_DS_CREATE_CHILD =0x00000001,
ADS_RIGHT_DS_DELETE_CHILD =0x00000002,
ADS_RIGHT_ACTRL_DS_LIST =0x00000004,
ADS_RIGHT_DS_SELF =0x00000008,
ADS_RIGHT_DS_READ_PROP =0x00000010,
ADS_RIGHT_DS_WRITE_PROP =0x00000020,
ADS_RIGHT_DS_DELETE_TREE =0x00000040,
ADS_RIGHT_DS_LIST_OBJECT =0x00000080,
ADS_RIGHT_DS_CONTROL_ACCESS =0x00000100
} ADS_RIGHTS_ENUM;
//
// ACETYPES
//
typedef enum {
ADS_ACETYPE_ACCESS_ALLOWED =0x0,
ADS_ACETYPE_ACCESS_DENIED =0x1,
ADS_ACETYPE_SYSTEM_AUDIT =0x2,
ADS_ACETYPE_ACCESS_ALLOWED_OBJECT =0x5,
ADS_ACETYPE_ACCESS_DENIED_OBJECT =0x6,
ADS_ACETYPE_SYSTEM_AUDIT_OBJECT =0x7,
ADS_ACETYPE_SYSTEM_ALARM_OBJECT =0x8,
ADS_ACETYPE_ACCESS_ALLOWED_CALLBACK =0x9,
ADS_ACETYPE_ACCESS_DENIED_CALLBACK =0xA,
ADS_ACETYPE_ACCESS_ALLOWED_CALLBACK_OBJECT =0xB,
ADS_ACETYPE_ACCESS_DENIED_CALLBACK_OBJECT =0xC,
ADS_ACETYPE_SYSTEM_AUDIT_CALLBACK =0xD,
ADS_ACETYPE_SYSTEM_ALARM_CALLBACK =0xE,
ADS_ACETYPE_SYSTEM_AUDIT_CALLBACK_OBJECT =0xF,
ADS_ACETYPE_SYSTEM_ALARM_CALLBACK_OBJECT =0x10
} ADS_ACETYPE_ENUM;
//
// ACEFLAGS
//
typedef enum {
ADS_ACEFLAG_INHERIT_ACE =0x2,
ADS_ACEFLAG_NO_PROPAGATE_INHERIT_ACE =0x4,
ADS_ACEFLAG_INHERIT_ONLY_ACE =0x8,
ADS_ACEFLAG_INHERITED_ACE =0x10,
ADS_ACEFLAG_VALID_INHERIT_FLAGS =0x1F,
ADS_ACEFLAG_SUCCESSFUL_ACCESS =0x40,
ADS_ACEFLAG_FAILED_ACCESS =0x80
} ADS_ACEFLAG_ENUM;
//
// FLAGS
//
typedef enum {
ADS_FLAG_OBJECT_TYPE_PRESENT =0x1,
ADS_FLAG_INHERITED_OBJECT_TYPE_PRESENT =0x2
} ADS_FLAGTYPE_ENUM;
//
// CONTROL
//
typedef enum {
ADS_SD_CONTROL_SE_OWNER_DEFAULTED = 0x0001,
ADS_SD_CONTROL_SE_GROUP_DEFAULTED = 0x0002,
ADS_SD_CONTROL_SE_DACL_PRESENT = 0x0004,
ADS_SD_CONTROL_SE_DACL_DEFAULTED = 0x0008,
ADS_SD_CONTROL_SE_SACL_PRESENT = 0x0010,
ADS_SD_CONTROL_SE_SACL_DEFAULTED = 0x0020,
ADS_SD_CONTROL_SE_DACL_AUTO_INHERIT_REQ = 0x0100,
ADS_SD_CONTROL_SE_SACL_AUTO_INHERIT_REQ = 0x0200,
ADS_SD_CONTROL_SE_DACL_AUTO_INHERITED = 0x0400,
ADS_SD_CONTROL_SE_SACL_AUTO_INHERITED = 0x0800,
ADS_SD_CONTROL_SE_DACL_PROTECTED = 0x1000,
ADS_SD_CONTROL_SE_SACL_PROTECTED = 0x2000,
ADS_SD_CONTROL_SE_SELF_RELATIVE = 0x8000
} ADS_SD_CONTROL_ENUM;
//
// REVISION
//
typedef enum {
ADS_SD_REVISION_DS = 4
} ADS_SD_REVISION_ENUM;