Поделиться через


Функция RtlDecryptMemory (ntsecapi.h)

[Функция RtlDecryptMemory доступна для использования в операционных системах, указанных в разделе Требования. В последующих версиях он может быть изменен или недоступен. Вместо этого используйте функцию CryptUnprotectMemory .]

Функция RtlDecryptMemory расшифровывает содержимое памяти, ранее зашифрованное функцией RtlEncryptMemory .

Примечание У этой функции нет связанной библиотеки импорта. Эта функция доступна в виде ресурса с именем SystemFunction041 в Advapi32.dll. Для динамической связи с Advapi32.dll необходимо использовать функции LoadLibrary и GetProcAddress .
 

Синтаксис

NTSTATUS RtlDecryptMemory(
  [in, out] PVOID Memory,
  [in]      ULONG MemorySize,
  [in]      ULONG OptionFlags
);

Параметры

[in, out] Memory

Указатель на шифруемую память. Размер памяти должен быть кратным RTL_ENCRYPT_MEMORY_SIZE константы.

[in] MemorySize

Число байтов, на которые указываются точки памяти . Число байтов должно быть кратным RTL_ENCRYPT_MEMORY_SIZE константы.

[in] OptionFlags

Значение, указывающее, как шифрование работает над границами процесса и олицетворением. Этот параметр может принимать одно из указанных ниже значений. Значения являются взаимоисключающими. При шифровании и расшифровке памяти необходимо указать тот же флаг.

Значение Значение
0
Шифрование и расшифровка памяти в одном процессе. Приложение, выполняющееся в другом процессе, не сможет расшифровать данные.
RTL_ENCRYPT_OPTION_CROSS_PROCESS
Шифрование и расшифровка памяти в различных процессах. Приложение, выполняющееся в другом процессе, сможет расшифровать данные.
RTL_ENCRYPT_OPTION_SAME_LOGON
Используйте одни и те же учетные данные входа для шифрования и расшифровки памяти в разных процессах. Приложение, выполняющееся в другом процессе, сможет расшифровать данные. Однако процесс должен выполняться от имени того же пользователя, который зашифровал данные и в том же сеансе входа.

Возвращаемое значение

Если функция выполнена успешно, возвращаемое значение будет STATUS_SUCCESS.

Если функция завершается сбоем, возвращаемым значением является код NTSTATUS , указывающий на ошибку.

Требования

Требование Значение
Минимальная версия клиента Windows XP, Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003, Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header ntsecapi.h
DLL Advapi32.dll