1 // SecurityPermissionFlag.cs
\r
3 // This code was automatically generated from
\r
4 // ECMA CLI XML Library Specification.
\r
5 // Generator: libgen.xsl
\r
6 // Source file: AllTypes.xml
\r
7 // URL: http://msdn.microsoft.com/net/ecma/AllTypes.xml
\r
9 // (C) 2001 Ximian, Inc. http://www.ximian.com
\r
12 namespace System.Security.Permissions {
\r
16 /// <para>Specifies a set of security permissions applied to a
\r
17 /// <see cref="T:System.Security.Permissions.SecurityPermission" /> instance.</para>
\r
20 /// <para>This enumeration is used by <see cref="T:System.Security.Permissions.SecurityPermission" />.</para>
\r
22 /// <see cref="T:System.Security.Permissions.SecurityPermissionFlag" /> is a bitfield. Specify
\r
23 /// multiple values of this enumeration using the bit-wise OR
\r
24 /// operator.</para>
\r
26 /// <block subset="ECMAOnly" type="ECMA Only">For more information on security, see Partition
\r
27 /// II of the CLI Specification.</block>
\r
30 /// <block subset="none" type="note">Many of these flags are powerful and
\r
31 /// should only be granted to highly trusted code. </block>
\r
35 public enum SecurityPermissionFlag {
\r
37 /// <summary><para> Specifies that none of the permissions in this
\r
38 /// enumeration are available.</para></summary>
\r
39 NoFlags = 0x00000000,
\r
41 /// <summary><para> Specifies the ability to assert<see langword=" " />
\r
42 /// that all of this code's
\r
43 /// callers have one
\r
44 /// or more permissions.</para></summary>
\r
45 Assertion = 0x00000001,
\r
47 /// <summary><para> Specifies the ability to call unmanaged code.</para><block subset="none" type="note"><para>
\r
48 /// Because unmanaged code potentially allows other permissions to be bypassed,
\r
49 /// this permission should be used with caution. It is used for applications calling native
\r
50 /// code using PInvoke.</para></block></summary>
\r
51 UnmanagedCode = 0x00000002,
\r
53 /// <summary><para>Specifies the ability to skip verification of code in an assembly.</para><para><block subset="none" type="note">Code that is unverifiable can execute if
\r
54 /// this permission is granted.</block></para></summary>
\r
55 SkipVerification = 0x00000004,
\r
57 /// <summary><para> Specifies permission for the code to run. Without this
\r
58 /// permission managed code cannot execute.</para></summary>
\r
59 Execution = 0x00000008,
\r
61 /// <summary><para> Specifies the ability to use advanced operations on
\r
62 /// threads. These operations include <see cref="M:System.Threading.Thread.Abort(System.Object)" />
\r
63 /// and <see cref="M:System.Threading.Thread.ResetAbort" /> .</para></summary>
\r
64 ControlThread = 0x00000010,
\r
66 /// <summary><para>Specifies all of the permissions defined by this
\r
67 /// enumeration.</para><para><block subset="ECMAOnly" type="ECMA Only">The value of this constant is equal to the
\r
68 /// values of this enumeration combined with a bitwise-OR operation. The higher-order bits in
\r
69 /// this constant that are not specified in the CLI have been reserved for implementation-specific
\r
70 /// use.</block></para></summary>
\r
71 AllFlags = Assertion | UnmanagedCode | SkipVerification | Execution | ControlThread,
\r
72 } // SecurityPermissionFlag
\r
74 } // System.Security.Permissions
\r