Platform SDK: Exchange Server |
The ACE COM class defines an object that represents an access control entry on an Exchange MAPI folder object.
Access control entries for folders are represented as ACE objects stored in an ACEs collection. They represent access control entries defined for the folder as found in its respective PR_ACL_TABLE MAPI property. To add, modify, or delete an ACE on a folder, you must first bind a reference to a CDO Folder object into an ACLObject object's IACLObject::CDOItem property. Once a CDO Folder object reference is bound, you can add, modify, and delete access control entries by manipulating the ACE objects within the ACEs collection.
The ACE class has two properties: IACE::ID and IACE::Rights. The ID property represents the MAPI entry identifier for the member the associated rights apply to. The Rights property is a 32-bit integer bit-mask used to identify the rights. The ID is initially set to the short-term entry identifier, but is converted to the long-term entry identifier when the object is added to an ACEs collection. The Rights property is 32 bits representing the rights to give the member. It can be set using values from the ACLRIGHTS enumeration, or by setting the Boolean properties on the object. Additionally, the most common sets of rights, in the form of roles, are included in the ACLRIGHTS enumeration, and can be used if desired to set the Rights property.
The ACLRIGHTS enumeration is listed below:
ACLRIGHTS
Member | Value |
---|---|
RIGHTS_EDIT_OWN | 0x00000008 |
RIGHTS_EDIT_ALL | 0x00000020 |
RIGHTS_DELETE_OWN | 0x00000010 |
RIGHTS_DELETE_ALL | 0x00000040 |
RIGHTS_READ_ITEMS | 0x00000001 |
RIGHTS_CREATE_ITEMS | 0x00000002 |
RIGHTS_CREATE_SUBFOLDERS | 0x00000080 |
RIGHTS_FOLDER_OWNER | 0x00000100 |
RIGHTS_FOLDER_CONTACT | 0x00000200 |
RIGHTS_FOLDER_VISIBLE | 0x00000400 |
RIGHTS_NONE | 0x00000000 |
RIGHTS_ALL | 0x000005fb |
ROLE_OWNER | 0x000007fb |
ROLE_PUBLISH_EDITOR | 0x000004fb |
ROLE_EDITOR | 0x0000047b |
ROLE_PUBLISH_AUTHOR | 0x0000049b |
ROLE_AUTHOR | 0x0000041b |
ROLE_NONEDITING_AUTHOR | 0x00000413 |
ROLE_REVIEWER | 0x00000401 |
ROLE_CONTRIBUTOR | 0x00000402 |
ROLE_NONE | 0x00000400 |
See the class example for the ACLObject COM class.