Freigeben über


MemoryProtectionScope Enumeration

Definition

Gibt den Speicherschutzbereich an, der von der Protect(Byte[], MemoryProtectionScope)-Methode angewendet wird.

public enum class MemoryProtectionScope
public enum MemoryProtectionScope
type MemoryProtectionScope = 
Public Enum MemoryProtectionScope
Vererbung
MemoryProtectionScope

Felder

CrossProcess 1

Mit Code kann in beliebigen Prozessen der Speicherschutz für Speicher aufgehoben werden, der mithilfe der Protect(Byte[], MemoryProtectionScope)-Methode geschützt wurde.

SameLogon 2

Der Speicherschutz kann nur von Code aufgehoben werden, der im gleichen Benutzerkontext wie der Code ausgeführt wird, mit dem die Protect(Byte[], MemoryProtectionScope)-Methode aufgerufen wurde.

SameProcess 0

Der Speicherschutz kann nur von Code aufgehoben werden, der im gleichen Prozess wie der Code ausgeführt wird, mit dem die Protect(Byte[], MemoryProtectionScope)-Methode aufgerufen wurde.

Beispiele

Im folgenden Codebeispiel wird die Verwendung des Datenschutzes veranschaulicht.

#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

Hinweise

Diese Enumeration wird mit den Protect Methoden und Unprotect verwendet, um Daten im Arbeitsspeicher zu schützen.

Gilt für: