Partage via


MemoryProtectionScope Énumération

Définition

Spécifie la portée de la protection mémoire devant être appliquée par la méthode Protect(Byte[], MemoryProtectionScope).

public enum class MemoryProtectionScope
public enum MemoryProtectionScope
type MemoryProtectionScope = 
Public Enum MemoryProtectionScope
Héritage
MemoryProtectionScope

Champs

CrossProcess 1

Tout code de quelque processus que ce soit peut ôter la protection de la mémoire qui était protégée par la méthode Protect(Byte[], MemoryProtectionScope).

SameLogon 2

Seul un code exécuté dans le même contexte utilisateur que le code qui a appelé la méthode Protect(Byte[], MemoryProtectionScope) peut ôter la protection de la mémoire.

SameProcess 0

Seul un code exécuté dans le même processus que le code qui a appelé la méthode Protect(Byte[], MemoryProtectionScope) peut ôter la protection de la mémoire.

Exemples

L’exemple de code suivant montre comment utiliser la protection des données.

#using <System.Security.dll>

using namespace System;
using namespace System::Security::Cryptography;

int main()
{
   
   // Create the original data to be encrypted (The data length should be a multiple of 16).
   array<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 );
}
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 );
    }
}
Imports System.Security.Cryptography

Public Class MemoryProtectionSample

    Public Shared Sub Main()
        ' Create the original data to be encrypted (The data length should be a multiple of 16).
        Dim secret As Byte() = {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)

    End Sub
End Class

Remarques

Cette énumération est utilisée avec les Protect méthodes et Unprotect pour protéger les données en mémoire.

S’applique à