Manipulating ACLs

You can use either the IExchangeFolderACLs interface or the IExchangeModifyTable interface to add, delete, and edit members of an access control list (ACL).

The IExchangeFolderACLs Interface

The IExchangeFolderACLs interface is built on the IExchangeModifyTable interface. It is the preferred interface because it is specifically designed to simplify the task of working with ACLs. To get a pointer to this interface, call the HrFolderACLsOpen function on the folder to which the ACLs apply. This interface contains the following methods:

IExchangeFolderACLs::HrDelete

IExchangeFolderACLs::HrGet

IExchangeFolderACLs::HrInsert

IExchangeFolderACLs::HrModify

IExchangeFolderACLs::HrSeek

IExchangeFolderACLs::HrTell

The IExchangeModifyTable Interface

An ACL is a MAPI table, which means it can be accessed through the IExchangeModifyTable interface. To obtain IExchangeModifyTable, call the IMAPIProp::OpenProperty method on any property of type PT_OBJECT. This interface contains the following methods:

IExchangeModifyTable::GetLastError

IExchangeModifyTable::GetTable

IExchangeModifyTable::ModifyTable

For general information on ACLs, see About Access Control Lists.