Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

DataProtectionPermissionFlags Enumeration

Specifies the access permissions for encrypting data and memory.

Namespace: System.Security.Permissions
Assembly: System.Security (in system.security.dll)

[SerializableAttribute] 
[FlagsAttribute] 
public enum DataProtectionPermissionFlags
/** @attribute SerializableAttribute() */ 
/** @attribute FlagsAttribute() */ 
public enum DataProtectionPermissionFlags
SerializableAttribute 
FlagsAttribute 
public enum DataProtectionPermissionFlags

 Member nameDescription
AllFlagsThe ability to encrypt data, encrypt memory, unencrypt data, and unencrypt memory. 
NoFlagsNo protection abilities. 
ProtectDataThe ability to encrypt data. 
ProtectMemoryThe ability to encrypt memory. 
UnprotectDataThe ability to unencrypt data. 
UnprotectMemoryThe ability to unencrypt memory. 

This enumeration is used by the DataProtectionPermission and DataProtectionPermissionAttribute classes to protect access to encrypted data and memory using the ProtectedData and ProtectedMemory classes.

Caution noteCaution:

Many of these flags can have powerful effects and should be granted only to highly trusted code.

The following code example shows the use of the DataProtectionPermissionFlags enumeration. This code example is part of a larger example provided for the DataProtectionPermission class.

[DataProtectionPermission(
     SecurityAction.Deny, 
     Flags = DataProtectionPermissionFlags.ProtectData)]
private static void TryProtectData()
{
    try
    {
        ProtectData();
        return;
    }
    catch (SecurityException e)
    {
        Console.WriteLine("A security exception thrown when attempting:" +
            ((DataProtectionPermission)e.DenySetInstance).Flags);
        return;
    }
}


/** @attribute DataProtectionPermission(SecurityAction.Deny, 
    Flags = DataProtectionPermissionFlags.ProtectData)
 */
private static void TryProtectData()
{
    try {
        ProtectData();
        return;
    }
    catch (System.Security.SecurityException e) {
        Console.WriteLine("A security exception thrown when attempting:" 
            + ((DataProtectionPermission)(e.get_DenySetInstance())).
            get_Flags());
        return;
    }
} //TryProtectData

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

Show:
© 2014 Microsoft