MemoryProtectionScope 枚举

定义

指定将由 Protect(Byte[], MemoryProtectionScope) 方法应用的内存保护范围。

C#
public enum MemoryProtectionScope
继承
MemoryProtectionScope

字段

名称 说明
CrossProcess 1

任何进程中的任何代码均可使用 Protect(Byte[], MemoryProtectionScope) 方法取消对受保护内存的保护。

SameLogon 2

只有与调用 Protect(Byte[], MemoryProtectionScope) 方法的代码在相同的用户上下文中运行的代码才能取消对内存的保护。

SameProcess 0

只有与调用 Protect(Byte[], MemoryProtectionScope) 方法的代码在相同的进程中运行的代码才能取消对内存的保护。

示例

下面的代码示例演示如何使用数据保护。

C#
using System;
using System.Security.Cryptography;

public class MemoryProtectionSample
{

    public static void Main()
    {
        // Create the original data to be encrypted (The data length should be a multiple of 16).
        byte [] secret = { 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4 };

        // Encrypt the data in memory. The result is stored in the same array as the original data.
        ProtectedMemory.Protect( secret, MemoryProtectionScope.SameLogon );

        // Decrypt the data in memory and store in the original array.
        ProtectedMemory.Unprotect( secret, MemoryProtectionScope.SameLogon );
    }
}

注解

此枚举与 和 Unprotect 方法一起使用Protect,以保护内存中的数据。

适用于

产品 版本
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1