ProtectedMemory.Unprotect(Byte[], MemoryProtectionScope) ProtectedMemory.Unprotect(Byte[], MemoryProtectionScope) ProtectedMemory.Unprotect(Byte[], MemoryProtectionScope) ProtectedMemory.Unprotect(Byte[], MemoryProtectionScope) Method

Definice

Odemknout data v paměti, která byla chráněna pomocí Protect(Byte[], MemoryProtectionScope) metody.Unprotects data in memory that was protected using the Protect(Byte[], MemoryProtectionScope) method.

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)

Parametry

encryptedData
Byte[]

Pole bajtů v paměti, které se má dešifrovatThe byte array in memory to unencrypt.

scope
MemoryProtectionScope MemoryProtectionScope MemoryProtectionScope MemoryProtectionScope

Jedna z hodnot výčtu, která určuje rozsah ochrany paměti.One of the enumeration values that specifies the scope of memory protection.

Výjimky

Operační systém tuto metodu nepodporuje.The operating system does not support this method. Tato metoda se dá použít jenom s operačním systémem Windows 2000 nebo novějším.This method can be used only with the Windows 2000 or later operating systems.

encryptedDataje prázdné.encryptedData is empty.

-nebo--or- Toto volání nebylo implementováno.This call was not implemented.

-nebo--or- NTSTATUS obsahuje chybu.NTSTATUS contains an error.

Příklady

Následující příklad ukazuje, jak používat ochranu dat.The following 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.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

Poznámky

Tato metoda se dá použít k dešifrování dat v paměti, která byla zašifrovaná pomocí Protect metody.This method can be used to unencrypt data in memory that was encrypted using the Protect method.

Podpora této metody je k dispozici v operačních systémech Windows XP a novějších.Support for this method is available in the Windows XP and later operating systems.

Platí pro