MemoryProtectionScope Výčet
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Určuje rozsah ochrany paměti, který Protect(Byte[], MemoryProtectionScope) má metoda použít.
public enum class MemoryProtectionScope
public enum MemoryProtectionScope
type MemoryProtectionScope =
Public Enum MemoryProtectionScope
- Dědičnost
Pole
CrossProcess | 1 | Veškerý kód v jakémkoli procesu může zrušit ochranu paměti, která byla chráněna pomocí Protect(Byte[], MemoryProtectionScope) metody . |
SameLogon | 2 | Pouze kód spuštěný ve stejném kontextu uživatele jako kód, který volal metodu Protect(Byte[], MemoryProtectionScope) , může zrušit ochranu paměti. |
SameProcess | 0 | Pouze kód spuštěný ve stejném procesu jako kód, který volal metodu Protect(Byte[], MemoryProtectionScope) , může zrušit ochranu paměti. |
Příklady
Následující příklad kódu ukazuje, jak používat ochranu dat.
#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
Tento výčet se používá s metodami Protect a Unprotect k ochraně dat v paměti.