MemoryProtectionScope Enumeration
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt den Bereich des Speicherschutzes an, der von der Protect(Byte[], MemoryProtectionScope)-Methode angewendet werden soll.
public enum class MemoryProtectionScope
public enum MemoryProtectionScope
type MemoryProtectionScope =
Public Enum MemoryProtectionScope
- Vererbung
Felder
| Name | Wert | Beschreibung |
|---|---|---|
| SameProcess | 0 | Nur Code, der im selben Prozess ausgeführt wird wie der Code, der die Protect(Byte[], MemoryProtectionScope) Methode aufgerufen hat, kann den Speicherschutz aufheben. |
| CrossProcess | 1 | Der gesamte Code in jedem Prozess kann den Schutz des speichergeschützten Speichers mithilfe der Protect(Byte[], MemoryProtectionScope) Methode aufheben. |
| SameLogon | 2 | Nur Code, der im gleichen Benutzerkontext ausgeführt wird wie der Code, der die Protect(Byte[], MemoryProtectionScope) Methode aufgerufen hat, kann den Speicherschutz aufheben. |
Beispiele
Das folgende Codebeispiel zeigt, wie Der Datenschutz verwendet wird.
#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 Aufzählung wird zusammen mit den Protect Methoden verwendet Unprotect , um Daten im Arbeitsspeicher zu schützen.