ProtectedMemory.Unprotect(Byte[], MemoryProtectionScope) Methode
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.
Hebt nicht den Schutz von Daten im Arbeitsspeicher auf, die mit der Protect(Byte[], MemoryProtectionScope)-Methode geschützt wurden.
public:
static void Unprotect(cli::array <System::Byte> ^ encryptedData, System::Security::Cryptography::MemoryProtectionScope scope);
public static void Unprotect (byte[] encryptedData, System.Security.Cryptography.MemoryProtectionScope scope);
static member Unprotect : byte[] * System.Security.Cryptography.MemoryProtectionScope -> unit
Public Shared Sub Unprotect (encryptedData As Byte(), scope As MemoryProtectionScope)
Parameter
- encryptedData
- Byte[]
Das Bytearray im Arbeitsspeicher, dessen Verschlüsselung aufgehoben werden soll.
- scope
- MemoryProtectionScope
Einer der Enumerationswerte, der den Bereich des Speicherschutzes angibt.
Ausnahmen
Dieses Methode wird vom Betriebssystem nicht unterstützt. Diese Methode kann nur mit dem Betriebssystem Windows 2000 oder höher verwendet werden.
encryptedData
ist null
.
encryptedData
ist leer.
- oder -
Dieser Aufruf wurde nicht implementiert.
- oder -
NTSTATUS enthält einen Fehler.
Beispiele
Im folgenden Beispiel 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 Methode kann verwendet werden, um Daten im Arbeitsspeicher zu entschlüsseln, die mit der Protect -Methode verschlüsselt wurden.
Unterstützung für diese Methode ist in den Betriebssystemen Windows XP und höher verfügbar.