Aracılığıyla paylaş


ProtectedMemory.Unprotect(Byte[], MemoryProtectionScope) Yöntem

Tanım

yöntemi kullanılarak korunan bellekteki verilerin korumasını kaldırıyor Protect(Byte[], MemoryProtectionScope) .

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)

Parametreler

encryptedData
Byte[]

Bellekte şifresi kaldırılan bayt dizisi.

scope
MemoryProtectionScope

Bellek korumasının kapsamını belirten numaralandırma değerlerinden biri.

Özel durumlar

İşletim sistemi bu yöntemi desteklemiyor. Bu yöntem yalnızca Windows 2000 veya sonraki işletim sistemleriyle kullanılabilir.

encryptedData, null değeridir.

encryptedData boş.

-veya-

Bu çağrı uygulanmadı.

-veya-

NTSTATUS bir hata içeriyor.

Örnekler

Aşağıdaki örnekte veri korumanın nasıl kullanılacağı gösterilmektedir.

#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

Açıklamalar

Bu yöntem, yöntemi kullanılarak Protect şifrelenen bellekteki verilerin şifresini çözmek için kullanılabilir.

Bu yöntem için destek Windows XP ve sonraki işletim sistemlerinde kullanılabilir.

Şunlara uygulanır