RtlDecryptMemory function
[The RtlDecryptMemory function is available for use in the operating systems specified in the Requirements section. It may be altered or unavailable in subsequent versions. Instead, use the CryptUnprotectMemory function.]
Applies to: desktop apps only
The RtlDecryptMemory function decrypts memory contents previously encrypted by the RtlEncryptMemory function.
Note This function has no associated import library. This function is available as a resource named SystemFunction041 in Advapi32.dll. You must use the LoadLibrary and GetProcAddress functions to dynamically link to Advapi32.dll.
Syntax
NTSTATUS RtlDecryptMemory( __inout PVOID Memory, __in ULONG MemoryLength, __in ULONG OptionFlags );
Parameters
- Memory [in, out]
-
A pointer to the memory to encrypt. The size of the memory must be a multiple of the RTL_ENCRYPT_MEMORY_SIZE constant.
- MemoryLength [in]
-
Number of bytes to which Memory points. The number of bytes must be a multiple of the RTL_ENCRYPT_MEMORY_SIZE constant.
- OptionFlags [in]
-
Value that specifies how the encryption works over process boundaries and impersonation. This parameter can be one of the following values. The values are mutually exclusive. You must specify the same flag when encrypting and decrypting the memory.
Return value
If the function is successful, the return value is STATUS_SUCCESS.
If the function fails, the return value is an NTSTATUS code that indicates the error.
Requirements
|
Minimum supported client | Windows XP, Windows 2000 Professional with SP3 |
|---|---|
|
Minimum supported server | Windows Server 2003, Windows 2000 Server with SP3 |
|
Header |
|
|
DLL |
|
Send comments about this topic to Microsoft
Build date: 3/6/2012
[DllImport("advapi32.dll", CharSet=CharSet.Unicode, SetLastError=true)]
internal static extern int SystemFunction041([In, Out] byte[] pDataIn, [In] uint cbDataIn, [In] uint dwFlags);
- 5/6/2009
- dmex