Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ CreateFromParts()

void System.Security.AccessControl.CommonSecurityDescriptor.CreateFromParts ( bool isContainer,
bool isDS,
ControlFlags flags,
SecurityIdentifier owner,
SecurityIdentifier group,
SystemAcl systemAcl,
DiscretionaryAcl discretionaryAcl )
inlineprivate

Definition at line 146 of file CommonSecurityDescriptor.cs.

147 {
148 if (systemAcl != null && systemAcl.IsContainer != isContainer)
149 {
150 throw new ArgumentException(isContainer ? System.SR.AccessControl_MustSpecifyContainerAcl : System.SR.AccessControl_MustSpecifyLeafObjectAcl, "systemAcl");
151 }
152 if (discretionaryAcl != null && discretionaryAcl.IsContainer != isContainer)
153 {
154 throw new ArgumentException(isContainer ? System.SR.AccessControl_MustSpecifyContainerAcl : System.SR.AccessControl_MustSpecifyLeafObjectAcl, "discretionaryAcl");
155 }
156 _isContainer = isContainer;
157 if (systemAcl != null && systemAcl.IsDS != isDS)
158 {
159 throw new ArgumentException(isDS ? System.SR.AccessControl_MustSpecifyDirectoryObjectAcl : System.SR.AccessControl_MustSpecifyNonDirectoryObjectAcl, "systemAcl");
160 }
161 if (discretionaryAcl != null && discretionaryAcl.IsDS != isDS)
162 {
163 throw new ArgumentException(isDS ? System.SR.AccessControl_MustSpecifyDirectoryObjectAcl : System.SR.AccessControl_MustSpecifyNonDirectoryObjectAcl, "discretionaryAcl");
164 }
165 _isDS = isDS;
166 _sacl = systemAcl;
167 if (discretionaryAcl == null)
168 {
170 }
171 _dacl = discretionaryAcl;
172 ControlFlags controlFlags = flags | ControlFlags.DiscretionaryAclPresent;
173 controlFlags = ((systemAcl != null) ? (controlFlags | ControlFlags.SystemAclPresent) : (controlFlags & ~ControlFlags.SystemAclPresent));
174 _rawSd = new RawSecurityDescriptor(controlFlags, owner, group, systemAcl?.RawAcl, discretionaryAcl.RawAcl);
175 }
static string AccessControl_MustSpecifyContainerAcl
Definition SR.cs:32
static string AccessControl_MustSpecifyDirectoryObjectAcl
Definition SR.cs:34
Definition SR.cs:7
static DiscretionaryAcl CreateAllowEveryoneFullAccess(bool isDS, bool isContainer)

References System.Security.AccessControl.CommonSecurityDescriptor._dacl, System.Security.AccessControl.CommonSecurityDescriptor._isContainer, System.Security.AccessControl.CommonSecurityDescriptor._isDS, System.Security.AccessControl.CommonSecurityDescriptor._rawSd, System.Security.AccessControl.CommonSecurityDescriptor._sacl, System.SR.AccessControl_MustSpecifyContainerAcl, System.SR.AccessControl_MustSpecifyDirectoryObjectAcl, System.SR.AccessControl_MustSpecifyLeafObjectAcl, System.SR.AccessControl_MustSpecifyNonDirectoryObjectAcl, System.Security.AccessControl.DiscretionaryAcl.CreateAllowEveryoneFullAccess(), System.Security.AccessControl.CommonAcl.IsContainer, System.Security.AccessControl.CommonAcl.IsDS, and System.Security.AccessControl.CommonAcl.RawAcl.

Referenced by System.Security.AccessControl.CommonSecurityDescriptor.CommonSecurityDescriptor(), and System.Security.AccessControl.CommonSecurityDescriptor.CommonSecurityDescriptor().