<?xml version="1.0" encoding="utf-8"?>
<doc>
  <assembly>
    <name>System.IO.Pipes.AccessControl</name>
  </assembly>
  <members>
    <member name="T:System.IO.Pipes.AnonymousPipeServerStreamAcl">
      <summary>Provides security related APIs for the <see cref="T:System.IO.Pipes.AnonymousPipeServerStream" /> class.</summary>
    </member>
    <member name="M:System.IO.Pipes.AnonymousPipeServerStreamAcl.Create(System.IO.Pipes.PipeDirection,System.IO.HandleInheritability,System.Int32,System.IO.Pipes.PipeSecurity)">
      <summary>Creates a new instance of the <see cref="T:System.IO.Pipes.AnonymousPipeServerStream" /> class with the specified pipe direction, inheritability mode, buffer size, and pipe security.</summary>
      <param name="direction">One of the enumeration values that determines the direction of the pipe. Anonymous pipes are unidirectional, so direction cannot be set to <see cref="F:System.IO.Pipes.PipeDirection.InOut" />.</param>
      <param name="inheritability">One of the enumeration values that determines whether the underlying handle can be inherited by child processes.</param>
      <param name="bufferSize">The size of the buffer. This value must be greater than or equal to 0.</param>
      <param name="pipeSecurity">An object that determines the access control and audit security for the pipe.</param>
      <exception cref="T:System.NotSupportedException">
        <paramref name="direction" /> is <see cref="F:System.IO.Pipes.PipeDirection.InOut" />.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="inheritability" /> is not set to a valid <see cref="T:System.IO.HandleInheritability" /> enum value.

 -or-  
  
<paramref name="bufferSize" /> is less than 0.</exception>
      <returns>A new anonymous pipe server stream instance.</returns>
    </member>
    <member name="T:System.IO.Pipes.NamedPipeServerStreamAcl">
      <summary>Provides security related APIs for the <see cref="T:System.IO.Pipes.NamedPipeServerStream" /> class.</summary>
    </member>
    <member name="M:System.IO.Pipes.NamedPipeServerStreamAcl.Create(System.String,System.IO.Pipes.PipeDirection,System.Int32,System.IO.Pipes.PipeTransmissionMode,System.IO.Pipes.PipeOptions,System.Int32,System.Int32,System.IO.Pipes.PipeSecurity,System.IO.HandleInheritability,System.IO.Pipes.PipeAccessRights)">
      <summary>Creates a new instance of the <see cref="T:System.IO.Pipes.NamedPipeServerStream" /> class with the specified pipe name, pipe direction, maximum number of server instances, transmission mode, pipe options, recommended in and out buffer sizes, pipe security, inheritability mode, and pipe access rights.</summary>
      <param name="pipeName">The name of the pipe.</param>
      <param name="direction">One of the enumeration values that determines the direction of the pipe.</param>
      <param name="maxNumberOfServerInstances">The maximum number of server instances that share the same name. You can pass <see cref="F:System.IO.Pipes.NamedPipeServerStream.MaxAllowedServerInstances" /> for this value.</param>
      <param name="transmissionMode">One of the enumeration values that determines the transmission mode of the pipe.</param>
      <param name="options">One of the enumeration values that determines how to open or create the pipe.</param>
      <param name="inBufferSize">The input buffer size.</param>
      <param name="outBufferSize">The output buffer size.</param>
      <param name="pipeSecurity">An object that determines the access control and audit security for the pipe.</param>
      <param name="inheritability">One of the enumeration values that determines whether the underlying handle can be inherited by child processes.</param>
      <param name="additionalAccessRights">One of the enumeration values that specifies the access rights of the pipe.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="pipeName" /> is <see langword="null" />.</exception>
      <exception cref="T:System.ArgumentException">
        <paramref name="pipeName" /> is empty.</exception>
      <exception cref="T:System.IO.IOException">
        <paramref name="options" /> is <see cref="F:System.IO.Pipes.PipeOptions.None" />.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="options" /> contains an invalid flag.

-or-

<paramref name="inBufferSize" /> or <paramref name="outBufferSize" /> is less than zero.

-or-

<paramref name="maxNumberOfServerInstances" /> is not a valid number: it should be greater than or equal to 1 and less than or equal to 254, or should be set to the value of <see cref="F:System.IO.Pipes.NamedPipeServerStream.MaxAllowedServerInstances" />.

-or-

<paramref name="inheritability" /> contains an invalid enum value.

-or-

<paramref name="pipeName" /> is 'anonymous', which is reserved.</exception>
      <returns>A new named pipe server stream instance.</returns>
    </member>
    <member name="T:System.IO.Pipes.PipeAccessRule">
      <summary>Represents an abstraction of an access control entry (ACE) that defines an access rule for a pipe.</summary>
    </member>
    <member name="M:System.IO.Pipes.PipeAccessRule.#ctor(System.Security.Principal.IdentityReference,System.IO.Pipes.PipeAccessRights,System.Security.AccessControl.AccessControlType)">
      <summary>Initializes a new instance of the <see cref="T:System.IO.Pipes.PipeAccessRule" /> class with the specified identity, pipe access rights, and access control type.</summary>
      <param name="identity">An <see cref="T:System.Security.Principal.IdentityReference" /> object that encapsulates a reference to a user account.</param>
      <param name="rights">One of the <see cref="T:System.IO.Pipes.PipeAccessRights" /> values that specifies the type of operation associated with the access rule.</param>
      <param name="type">One of the <see cref="T:System.Security.AccessControl.AccessControlType" /> values that specifies whether to allow or deny the operation.</param>
    </member>
    <member name="M:System.IO.Pipes.PipeAccessRule.#ctor(System.String,System.IO.Pipes.PipeAccessRights,System.Security.AccessControl.AccessControlType)">
      <summary>Initializes a new instance of the <see cref="T:System.IO.Pipes.PipeAccessRule" /> class with the specified identity, pipe access rights, and access control type.</summary>
      <param name="identity">The name of the user account.</param>
      <param name="rights">One of the <see cref="T:System.IO.Pipes.PipeAccessRights" /> values that specifies the type of operation associated with the access rule.</param>
      <param name="type">One of the <see cref="T:System.Security.AccessControl.AccessControlType" /> values that specifies whether to allow or deny the operation.</param>
    </member>
    <member name="P:System.IO.Pipes.PipeAccessRule.PipeAccessRights">
      <summary>Gets the <see cref="T:System.IO.Pipes.PipeAccessRights" /> flags that are associated with the current <see cref="T:System.IO.Pipes.PipeAccessRule" /> object.</summary>
      <returns>A bitwise combination of the <see cref="T:System.IO.Pipes.PipeAccessRights" /> values.</returns>
    </member>
    <member name="T:System.IO.Pipes.PipeAuditRule">
      <summary>Represents an abstraction of an access control entry (ACE) that defines an audit rule for a pipe.</summary>
    </member>
    <member name="M:System.IO.Pipes.PipeAuditRule.#ctor(System.Security.Principal.IdentityReference,System.IO.Pipes.PipeAccessRights,System.Security.AccessControl.AuditFlags)">
      <summary>Initializes a new instance of the <see cref="T:System.IO.Pipes.PipeAuditRule" /> class for a user account specified in a <see cref="T:System.Security.Principal.IdentityReference" /> object.</summary>
      <param name="identity">An <see cref="T:System.Security.Principal.IdentityReference" /> object that encapsulates a reference to a user account.</param>
      <param name="rights">One of the <see cref="T:System.IO.Pipes.PipeAccessRights" /> values that specifies the type of operation associated with the access rule.</param>
      <param name="flags">One of the <see cref="T:System.Security.AccessControl.AuditFlags" /> values that specifies when to perform auditing.</param>
    </member>
    <member name="M:System.IO.Pipes.PipeAuditRule.#ctor(System.String,System.IO.Pipes.PipeAccessRights,System.Security.AccessControl.AuditFlags)">
      <summary>Initializes a new instance of the <see cref="T:System.IO.Pipes.PipeAuditRule" /> class for a named user account.</summary>
      <param name="identity">The name of the user account.</param>
      <param name="rights">One of the <see cref="T:System.IO.Pipes.PipeAccessRights" /> values that specifies the type of operation associated with the access rule.</param>
      <param name="flags">One of the <see cref="T:System.Security.AccessControl.AuditFlags" /> values that specifies when to perform auditing.</param>
    </member>
    <member name="P:System.IO.Pipes.PipeAuditRule.PipeAccessRights">
      <summary>Gets the <see cref="T:System.IO.Pipes.PipeAccessRights" /> flags that are associated with the current <see cref="T:System.IO.Pipes.PipeAuditRule" /> object.</summary>
      <returns>A bitwise combination of the <see cref="T:System.IO.Pipes.PipeAccessRights" /> values.</returns>
    </member>
    <member name="T:System.IO.Pipes.PipesAclExtensions">
      <summary>Provides Windows-specific static extension methods for manipulating Access Control List (ACL) security attributes for pipe streams.</summary>
    </member>
    <member name="M:System.IO.Pipes.PipesAclExtensions.GetAccessControl(System.IO.Pipes.PipeStream)">
      <summary>Returns the security information of a pipe stream.</summary>
      <param name="stream">The existing pipe stream from which to obtain the security information.</param>
      <returns>The security descriptors of all the access control sections of the pipe stream.</returns>
    </member>
    <member name="M:System.IO.Pipes.PipesAclExtensions.SetAccessControl(System.IO.Pipes.PipeStream,System.IO.Pipes.PipeSecurity)">
      <summary>Changes the security attributes of an existing pipe stream.</summary>
      <param name="stream">An existing pipe stream.</param>
      <param name="pipeSecurity">The security information to apply to the pipe stream.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="pipeSecurity" /> is <see langword="null" />.</exception>
      <exception cref="T:System.IO.IOException">
        <paramref name="stream" /> is a disconnected <see cref="T:System.IO.Pipes.NamedPipeClientStream" /> instance.</exception>
    </member>
    <member name="T:System.IO.Pipes.PipeSecurity">
      <summary>Represents the access control and audit security for a pipe.</summary>
    </member>
    <member name="M:System.IO.Pipes.PipeSecurity.#ctor">
      <summary>Initializes a new instance of the <see cref="T:System.IO.Pipes.PipeSecurity" /> class.</summary>
    </member>
    <member name="M:System.IO.Pipes.PipeSecurity.AccessRuleFactory(System.Security.Principal.IdentityReference,System.Int32,System.Boolean,System.Security.AccessControl.InheritanceFlags,System.Security.AccessControl.PropagationFlags,System.Security.AccessControl.AccessControlType)">
      <summary>Initializes a new instance of the <see cref="T:System.Security.AccessControl.AccessRule" /> class with the specified values.</summary>
      <param name="identityReference">The identity that the access rule applies to. It must be an object that can be cast as a <see cref="T:System.Security.Principal.SecurityIdentifier" /> object.</param>
      <param name="accessMask">The access mask of this rule. The access mask is a 32-bit collection of anonymous bits, the meaning of which is defined by the individual integrators.</param>
      <param name="isInherited">
        <see langword="true" /> if this rule is inherited from a parent container; otherwise, <see langword="false" />.</param>
      <param name="inheritanceFlags">One of the <see cref="T:System.Security.AccessControl.InheritanceFlags" /> values that specifies the inheritance properties of the access rule.</param>
      <param name="propagationFlags">One of the <see cref="T:System.Security.AccessControl.PropagationFlags" /> values that specifies whether inherited access rules are automatically propagated. The propagation flags are ignored if <paramref name="inheritanceFlags" /> is set to <see cref="F:System.Security.AccessControl.InheritanceFlags.None" />.</param>
      <param name="type">Specifies the valid access control type.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="accessMask" />, <paramref name="inheritanceFlags" />, <paramref name="propagationFlags" />, or <paramref name="type" /> specifies an invalid value.</exception>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="identityReference" /> is <see langword="null" />.  
  
 -or-  
  
 <paramref name="accessMask" /> is zero.</exception>
      <exception cref="T:System.ArgumentException">
        <paramref name="identityReference" /> is neither of type <see cref="T:System.Security.Principal.SecurityIdentifier" /> nor of a type, such as <see cref="T:System.Security.Principal.NTAccount" />, that can be converted to type <see cref="T:System.Security.Principal.SecurityIdentifier" />.</exception>
      <returns>The <see cref="T:System.Security.AccessControl.AccessRule" /> object that this method creates.</returns>
    </member>
    <member name="M:System.IO.Pipes.PipeSecurity.AddAccessRule(System.IO.Pipes.PipeAccessRule)">
      <summary>Adds an access rule to the Discretionary Access Control List (DACL) that is associated with the current <see cref="T:System.IO.Pipes.PipeSecurity" /> object.</summary>
      <param name="rule">The access rule to add.</param>
      <exception cref="T:System.ArgumentNullException">The <paramref name="rule" /> parameter is <see langword="null" />.</exception>
    </member>
    <member name="M:System.IO.Pipes.PipeSecurity.AddAuditRule(System.IO.Pipes.PipeAuditRule)">
      <summary>Adds an audit rule to the System Access Control List (SACL) that is associated with the current <see cref="T:System.IO.Pipes.PipeSecurity" /> object.</summary>
      <param name="rule">The audit rule to add.</param>
      <exception cref="T:System.ArgumentNullException">The <paramref name="rule" /> parameter is <see langword="null" />.</exception>
    </member>
    <member name="M:System.IO.Pipes.PipeSecurity.AuditRuleFactory(System.Security.Principal.IdentityReference,System.Int32,System.Boolean,System.Security.AccessControl.InheritanceFlags,System.Security.AccessControl.PropagationFlags,System.Security.AccessControl.AuditFlags)">
      <summary>Initializes a new instance of the <see cref="T:System.Security.AccessControl.AuditRule" /> class with the specified values.</summary>
      <param name="identityReference">The identity that the access rule applies to. It must be an object that can be cast as a <see cref="T:System.Security.Principal.SecurityIdentifier" /> object.</param>
      <param name="accessMask">The access mask of this rule. The access mask is a 32-bit collection of anonymous bits, the meaning of which is defined by the individual integrators.</param>
      <param name="isInherited">
        <see langword="true" /> if this rule is inherited from a parent container; otherwise, false.</param>
      <param name="inheritanceFlags">One of the <see cref="T:System.Security.AccessControl.InheritanceFlags" /> values that specifies the inheritance properties of the access rule.</param>
      <param name="propagationFlags">One of the <see cref="T:System.Security.AccessControl.PropagationFlags" /> values that specifies whether inherited access rules are automatically propagated. The propagation flags are ignored if <paramref name="inheritanceFlags" /> is set to <see cref="F:System.Security.AccessControl.InheritanceFlags.None" />.</param>
      <param name="flags">One of the <see cref="T:System.Security.AccessControl.AuditFlags" /> values that specifies the valid access control type.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="accessMask" />, <paramref name="inheritanceFlags" />, <paramref name="propagationFlags" />, or <paramref name="flags" /> properties specify an invalid value.</exception>
      <exception cref="T:System.ArgumentNullException">The <paramref name="identityReference" /> property is <see langword="null" />.  
  
 -or-  
  
 The <paramref name="accessMask" /> property is zero.</exception>
      <exception cref="T:System.ArgumentException">The <paramref name="identityReference" /> property is neither of type <see cref="T:System.Security.Principal.SecurityIdentifier" /> nor of a type, such as <see cref="T:System.Security.Principal.NTAccount" />, that can be converted to type <see cref="T:System.Security.Principal.SecurityIdentifier" />.</exception>
      <returns>The <see cref="T:System.Security.AccessControl.AuditRule" /> object that this method creates.</returns>
    </member>
    <member name="M:System.IO.Pipes.PipeSecurity.Persist(System.Runtime.InteropServices.SafeHandle)">
      <summary>Saves the specified sections of the security descriptor that is associated with the current <see cref="T:System.IO.Pipes.PipeSecurity" /> object to permanent storage.</summary>
      <param name="handle">The handle of the securable object that the current <see cref="T:System.IO.Pipes.PipeSecurity" /> object is associated with.</param>
    </member>
    <member name="M:System.IO.Pipes.PipeSecurity.Persist(System.String)">
      <summary>Saves the specified sections of the security descriptor that is associated with the current <see cref="T:System.IO.Pipes.PipeSecurity" /> object to permanent storage.</summary>
      <param name="name">The name of the securable object that the current <see cref="T:System.IO.Pipes.PipeSecurity" /> object is associated with.</param>
    </member>
    <member name="M:System.IO.Pipes.PipeSecurity.RemoveAccessRule(System.IO.Pipes.PipeAccessRule)">
      <summary>Removes an access rule from the Discretionary Access Control List (DACL) that is associated with the current <see cref="T:System.IO.Pipes.PipeSecurity" /> object.</summary>
      <param name="rule">The access rule to remove.</param>
      <exception cref="T:System.ArgumentNullException">The <paramref name="rule" /> parameter is <see langword="null" />.</exception>
      <returns>
        <see langword="true" /> if the operation is successful; otherwise, <see langword="false" />.</returns>
    </member>
    <member name="M:System.IO.Pipes.PipeSecurity.RemoveAccessRuleSpecific(System.IO.Pipes.PipeAccessRule)">
      <summary>Removes the specified access rule from the Discretionary Access Control List (DACL) that is associated with the current <see cref="T:System.IO.Pipes.PipeSecurity" /> object.</summary>
      <param name="rule">The access rule to remove.</param>
      <exception cref="T:System.ArgumentNullException">The <paramref name="rule" /> parameter is <see langword="null" />.</exception>
    </member>
    <member name="M:System.IO.Pipes.PipeSecurity.RemoveAuditRule(System.IO.Pipes.PipeAuditRule)">
      <summary>Removes an audit rule from the System Access Control List (SACL) that is associated with the current <see cref="T:System.IO.Pipes.PipeSecurity" /> object.</summary>
      <param name="rule">The audit rule to remove.</param>
      <exception cref="T:System.ArgumentNullException">The <paramref name="rule" /> parameter is <see langword="null" />.</exception>
      <returns>
        <see langword="true" /> if the audit rule was removed; otherwise, <see langword="false" />.</returns>
    </member>
    <member name="M:System.IO.Pipes.PipeSecurity.RemoveAuditRuleAll(System.IO.Pipes.PipeAuditRule)">
      <summary>Removes all audit rules that have the same security identifier as the specified audit rule from the System Access Control List (SACL) that is associated with the current <see cref="T:System.IO.Pipes.PipeSecurity" /> object.</summary>
      <param name="rule">The audit rule to remove.</param>
      <exception cref="T:System.ArgumentNullException">The <paramref name="rule" /> parameter is <see langword="null" />.</exception>
    </member>
    <member name="M:System.IO.Pipes.PipeSecurity.RemoveAuditRuleSpecific(System.IO.Pipes.PipeAuditRule)">
      <summary>Removes the specified audit rule from the System Access Control List (SACL) that is associated with the current <see cref="T:System.IO.Pipes.PipeSecurity" /> object.</summary>
      <param name="rule">The audit rule to remove.</param>
      <exception cref="T:System.ArgumentNullException">The <paramref name="rule" /> parameter is <see langword="null" />.</exception>
    </member>
    <member name="M:System.IO.Pipes.PipeSecurity.ResetAccessRule(System.IO.Pipes.PipeAccessRule)">
      <summary>Removes all access rules in the Discretionary Access Control List (DACL) that is associated with the current <see cref="T:System.IO.Pipes.PipeSecurity" /> object and then adds the specified access rule.</summary>
      <param name="rule">The access rule to add.</param>
      <exception cref="T:System.ArgumentNullException">The <paramref name="rule" /> parameter is <see langword="null" />.</exception>
    </member>
    <member name="M:System.IO.Pipes.PipeSecurity.SetAccessRule(System.IO.Pipes.PipeAccessRule)">
      <summary>Sets an access rule in the Discretionary Access Control List (DACL) that is associated with the current <see cref="T:System.IO.Pipes.PipeSecurity" /> object.</summary>
      <param name="rule">The rule to set.</param>
      <exception cref="T:System.ArgumentNullException">The <paramref name="rule" /> parameter is <see langword="null" />.</exception>
    </member>
    <member name="M:System.IO.Pipes.PipeSecurity.SetAuditRule(System.IO.Pipes.PipeAuditRule)">
      <summary>Sets an audit rule in the System Access Control List (SACL) that is associated with the current <see cref="T:System.IO.Pipes.PipeSecurity" /> object.</summary>
      <param name="rule">The rule to set.</param>
      <exception cref="T:System.ArgumentNullException">The <paramref name="rule" /> parameter is <see langword="null" />.</exception>
    </member>
    <member name="P:System.IO.Pipes.PipeSecurity.AccessRightType">
      <summary>Gets the <see cref="T:System.Type" /> of the securable object that is associated with the current <see cref="T:System.IO.Pipes.PipeSecurity" /> object.</summary>
      <returns>The type of the securable object that is associated with the current <see cref="T:System.IO.Pipes.PipeSecurity" /> object.</returns>
    </member>
    <member name="P:System.IO.Pipes.PipeSecurity.AccessRuleType">
      <summary>Gets the <see cref="T:System.Type" /> of the object that is associated with the access rules of the current <see cref="T:System.IO.Pipes.PipeSecurity" /> object.</summary>
      <returns>The type of the object that is associated with the access rules of the current <see cref="T:System.IO.Pipes.PipeSecurity" /> object.</returns>
    </member>
    <member name="P:System.IO.Pipes.PipeSecurity.AuditRuleType">
      <summary>Gets the <see cref="T:System.Type" /> object associated with the audit rules of the current <see cref="T:System.IO.Pipes.PipeSecurity" /> object.</summary>
      <returns>The type of the object that is associated with the audit rules of the current <see cref="T:System.IO.Pipes.PipeSecurity" /> object.</returns>
    </member>
  </members>
</doc>