internal AclModifyTable(CoreFolder coreFolder, ModifyTableOptions options, IModifyTableRestriction modifyTableRestriction, bool useSecurityDescriptorOnly, bool loadTableEntries) { using (DisposeGuard disposeGuard = this.Guard()) { this.coreFolder = coreFolder; this.options = options; this.modifyTableRestriction = modifyTableRestriction; this.recipientSession = coreFolder.Session.GetADRecipientSession(true, ConsistencyMode.IgnoreInvalid); this.useSecurityDescriptorOnly = useSecurityDescriptorOnly; if (loadTableEntries) { this.Load(); } else { this.replaceAllRows = true; } disposeGuard.Success(); } }
internal PropertyTable(CoreFolder coreFolder, NativeStorePropertyDefinition property, ModifyTableOptions options, IModifyTableRestriction modifyTableRestriction) { Util.ThrowOnNullArgument(coreFolder, "coreFolder"); Util.ThrowOnNullArgument(property, "property"); EnumValidator.ThrowIfInvalid <ModifyTableOptions>(options); using (DisposeGuard disposeGuard = this.Guard()) { this.mapiModifyTable = PropertyTable.GetMapiModifyTable(coreFolder, property); this.session = coreFolder.Session; this.propertyReference = this.session.Mailbox.MapiStore; this.tableNameForTracing = property.Name; this.options = options; this.modifyTableRestriction = modifyTableRestriction; disposeGuard.Success(); } }
internal AclModifyTable(CoreFolder coreFolder, ModifyTableOptions options, IModifyTableRestriction modifyTableRestriction, bool useSecurityDescriptorOnly) : this(coreFolder, options, modifyTableRestriction, useSecurityDescriptorOnly, true) { }