Platform SDK: Exchange Server |
The ACEs class defines an object that can be used to manage the access control list entries on a MAPI folder.
An instance of the ACEs COM class cannot be created directly and is only available from an ACLObject object that has been successfully bound to a MAPI folder. It contains a collection of access control entries, each of which is contained as an instance of the ACE COM class. The parent ACLObject object initially creates and populates an ACEs object using the folder's current access control entries found within its PR_ACL_TABLE MAPI property. Once populated, new ACE objects can be created and added to the collection, and all the ACE objects within the collection can be viewed, modified, deleted and reordered assuming the current MAPI session's credentials are sufficient to perform each type of operation.
The collection of ACE objects is organized in key/value pairs, much like a map or dictionary. The key for each ACE object is a string representation of the associated PR_MEMBER_ID value for the ACL table row, and the value is the ACE object that represents the row. Additionally, each ACE object can be retrieved from the collection using an integer index. The PR_MEMBER_ID is often referred to as the long-term entry identifier for the member. When you create an instance of the ACE class and retrieve an identifier from an address book, this value normally is the short-term entry identifier. When an ACE object is added to the collection, the short-term entry identifier is converted to the long-term version, and this value is used as the key in the internal dictionary. Attempting to refer to an ACE object in the collection using the short-term entry identifier will cause an exception to be thrown as it won't be a valid key in the dictionary.
See the class example for the ACLObject COM class.