MemoryProtectionScope MemoryProtectionScope MemoryProtectionScope MemoryProtectionScope Enum

Définition

Spécifie la portée de la protection mémoire devant être appliquée par la méthode Protect(Byte[], MemoryProtectionScope).Specifies the scope of memory protection to be applied by the Protect(Byte[], MemoryProtectionScope) method.

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

Champs

CrossProcess CrossProcess CrossProcess 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).All code in any process can unprotect memory that was protected using the Protect(Byte[], MemoryProtectionScope) method.

SameLogon SameLogon SameLogon 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.Only code running in the same user context as the code that called the Protect(Byte[], MemoryProtectionScope) method can unprotect memory.

SameProcess SameProcess SameProcess 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.Only code running in the same process as the code that called the Protect(Byte[], MemoryProtectionScope) method can unprotect memory.

Exemples

L’exemple de code suivant montre comment utiliser la protection des données.The following code example shows how to use data protection.

#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
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 la Protect et Unprotect méthodes pour protéger les données en mémoire.This enumeration is used with the Protect and Unprotect methods to protect data in memory.

S’applique à