<Type Name="SecurityPermissionFlag" FullName="System.Security.Permissions.SecurityPermissionFlag" FullNameSP="System_Security_Permissions_SecurityPermissionFlag" Maintainer="ecma">
  <TypeSignature Language="ILASM" Value=".class public sealed serializable SecurityPermissionFlag extends System.Enum" />
  <TypeSignature Language="C#" Value="public enum SecurityPermissionFlag" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi serializable sealed SecurityPermissionFlag extends System.Enum" />
  <MemberOfLibrary>BCL</MemberOfLibrary>
  <AssemblyInfo>
    <AssemblyName>mscorlib</AssemblyName>
    <AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ]</AssemblyPublicKey>
    <AssemblyVersion>1.0.5000.0</AssemblyVersion>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
    <AssemblyVersion>4.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <Base>
    <BaseTypeName>System.Enum</BaseTypeName>
  </Base>
  <Attributes>
    <Attribute>
      <AttributeName>System.Flags</AttributeName>
    </Attribute>
    <Attribute>
      <AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName>
    </Attribute>
  </Attributes>
  <Docs>
    <summary>
      <para>Specifies a set of security permissions applied to a
   <see cref="T:System.Security.Permissions.SecurityPermission" /> instance.</para>
    </summary>
    <remarks>
      <para>This enumeration is used by <see cref="T:System.Security.Permissions.SecurityPermission" />.</para>
      <para>
        <see cref="T:System.Security.Permissions.SecurityPermissionFlag" /> is
a bit-field; specify multiple values using the bitwise OR
operator.</para>
      <para>For information on security, see Partition
   II of the CLI Specification.</para>
      <para>
        <block subset="none" type="note">Many of these flags are powerful and
   should only be granted to highly trusted code. </block>
      </para>
    </remarks>
  </Docs>
  <Members>
    <Member MemberName="AllFlags">
      <MemberSignature Language="C#" Value="AllFlags" />
      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Security.Permissions.SecurityPermissionFlag AllFlags = int32(16383)" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Security.Permissions.SecurityPermissionFlag</ReturnType>
      </ReturnValue>
      <MemberValue>AllFlags</MemberValue>
      <Docs>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Assertion">
      <MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.SecurityPermissionFlag Assertion = 0x1" />
      <MemberSignature Language="C#" Value="Assertion" />
      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Security.Permissions.SecurityPermissionFlag Assertion = int32(1)" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Security.Permissions.SecurityPermissionFlag</ReturnType>
      </ReturnValue>
      <Parameters />
      <MemberValue>Assertion</MemberValue>
      <Docs>
        <summary>
          <para> Specifies the ability to assert that all of the callers 
      of the code granted this permission
      will pass the check for
      a specific permission
      or permission set.</para>
          <para>The ability to assert a specific permission or permission set allows code to 
      ensure that its callers do not fail with a security exception for lack of
      the specific permission or permission set asserted. </para>
          <para>
            <block subset="none" type="note">Asserting a permission is often used 
      when writing library code that accesses protected resources but itself does not
      expose these resources in any exploitable way to the calling code.
   </block>
          </para>
        </summary>
        <remarks>To be added.</remarks>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="BindingRedirects">
      <MemberSignature Language="C#" Value="BindingRedirects" />
      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Security.Permissions.SecurityPermissionFlag BindingRedirects = int32(8192)" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Security.Permissions.SecurityPermissionFlag</ReturnType>
      </ReturnValue>
      <MemberValue>BindingRedirects</MemberValue>
      <Docs>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="ControlAppDomain">
      <MemberSignature Language="C#" Value="ControlAppDomain" />
      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Security.Permissions.SecurityPermissionFlag ControlAppDomain = int32(1024)" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Security.Permissions.SecurityPermissionFlag</ReturnType>
      </ReturnValue>
      <MemberValue>ControlAppDomain</MemberValue>
      <Docs>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="ControlDomainPolicy">
      <MemberSignature Language="C#" Value="ControlDomainPolicy" />
      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Security.Permissions.SecurityPermissionFlag ControlDomainPolicy = int32(256)" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Security.Permissions.SecurityPermissionFlag</ReturnType>
      </ReturnValue>
      <MemberValue>ControlDomainPolicy</MemberValue>
      <Docs>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="ControlEvidence">
      <MemberSignature Language="C#" Value="ControlEvidence" />
      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Security.Permissions.SecurityPermissionFlag ControlEvidence = int32(32)" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Security.Permissions.SecurityPermissionFlag</ReturnType>
      </ReturnValue>
      <MemberValue>ControlEvidence</MemberValue>
      <Docs>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="ControlPolicy">
      <MemberSignature Language="C#" Value="ControlPolicy" />
      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Security.Permissions.SecurityPermissionFlag ControlPolicy = int32(64)" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Security.Permissions.SecurityPermissionFlag</ReturnType>
      </ReturnValue>
      <MemberValue>ControlPolicy</MemberValue>
      <Docs>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="ControlPrincipal">
      <MemberSignature Language="C#" Value="ControlPrincipal" />
      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Security.Permissions.SecurityPermissionFlag ControlPrincipal = int32(512)" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Security.Permissions.SecurityPermissionFlag</ReturnType>
      </ReturnValue>
      <MemberValue>ControlPrincipal</MemberValue>
      <Docs>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="ControlThread">
      <MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.SecurityPermissionFlag ControlThread = 0x10" />
      <MemberSignature Language="C#" Value="ControlThread" />
      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Security.Permissions.SecurityPermissionFlag ControlThread = int32(16)" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Security.Permissions.SecurityPermissionFlag</ReturnType>
      </ReturnValue>
      <Parameters />
      <MemberValue>ControlThread</MemberValue>
      <Docs>
        <summary>
          <para> Specifies the ability to control thread behavior.
      The operations protected include <see cref="M:System.Threading.Thread.Abort(System.Object)" />
      and <see cref="M:System.Threading.Thread.ResetAbort" /> .</para>
        </summary>
        <remarks>To be added.</remarks>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Execution">
      <MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.SecurityPermissionFlag Execution = 0x8" />
      <MemberSignature Language="C#" Value="Execution" />
      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Security.Permissions.SecurityPermissionFlag Execution = int32(8)" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Security.Permissions.SecurityPermissionFlag</ReturnType>
      </ReturnValue>
      <Parameters />
      <MemberValue>Execution</MemberValue>
      <Docs>
        <summary>
          <para> Specifies permission for the code to run. Without this
 permission managed code cannot execute.</para>
        </summary>
        <remarks>To be added.</remarks>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Infrastructure">
      <MemberSignature Language="C#" Value="Infrastructure" />
      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Security.Permissions.SecurityPermissionFlag Infrastructure = int32(4096)" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Security.Permissions.SecurityPermissionFlag</ReturnType>
      </ReturnValue>
      <MemberValue>Infrastructure</MemberValue>
      <Docs>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="NoFlags">
      <MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.SecurityPermissionFlag NoFlags = 0x0" />
      <MemberSignature Language="C#" Value="NoFlags" />
      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Security.Permissions.SecurityPermissionFlag NoFlags = int32(0)" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Security.Permissions.SecurityPermissionFlag</ReturnType>
      </ReturnValue>
      <Parameters />
      <MemberValue>NoFlags</MemberValue>
      <Docs>
        <summary>
          <para> Specifies that none of the permissions in this 
      enumeration are available.</para>
        </summary>
        <remarks>To be added.</remarks>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="RemotingConfiguration">
      <MemberSignature Language="C#" Value="RemotingConfiguration" />
      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Security.Permissions.SecurityPermissionFlag RemotingConfiguration = int32(2048)" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Security.Permissions.SecurityPermissionFlag</ReturnType>
      </ReturnValue>
      <MemberValue>RemotingConfiguration</MemberValue>
      <Docs>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="SerializationFormatter">
      <MemberSignature Language="C#" Value="SerializationFormatter" />
      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Security.Permissions.SecurityPermissionFlag SerializationFormatter = int32(128)" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Security.Permissions.SecurityPermissionFlag</ReturnType>
      </ReturnValue>
      <MemberValue>SerializationFormatter</MemberValue>
      <Docs>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="SkipVerification">
      <MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.SecurityPermissionFlag SkipVerification = 0x4" />
      <MemberSignature Language="C#" Value="SkipVerification" />
      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Security.Permissions.SecurityPermissionFlag SkipVerification = int32(4)" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Security.Permissions.SecurityPermissionFlag</ReturnType>
      </ReturnValue>
      <Parameters />
      <MemberValue>SkipVerification</MemberValue>
      <Docs>
        <summary>
          <para>Specifies the right to skip the verification checks that
      ensure type safety and metadata correctness in an assembly. If an assembly has
      been granted this permission it will not fail with a <see cref="T:System.Security.VerificationException" />
      even if the assembly contains unverifiable constructs.</para>
          <para>
            <block subset="none" type="note">Code that is
      unverifiable can execute without causing a <see cref="T:System.Security.VerificationException" /> if
      this permission is granted.</block>
          </para>
        </summary>
        <remarks>To be added.</remarks>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="UnmanagedCode">
      <MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.SecurityPermissionFlag UnmanagedCode = 0x2" />
      <MemberSignature Language="C#" Value="UnmanagedCode" />
      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Security.Permissions.SecurityPermissionFlag UnmanagedCode = int32(2)" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Security.Permissions.SecurityPermissionFlag</ReturnType>
      </ReturnValue>
      <Parameters />
      <MemberValue>UnmanagedCode</MemberValue>
      <Docs>
        <summary>
          <para> Specifies the ability to call unmanaged code.</para>
          <para>
            <block subset="none" type="note">
      
      Because unmanaged code potentially allows other permissions to be bypassed,
      this permission should be used with caution. It is used for applications calling native
      code using PInvoke.</block>
          </para>
        </summary>
        <remarks>To be added.</remarks>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
  </Members>
  <TypeExcluded>0</TypeExcluded>
</Type>
