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

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

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

Примечание Эта функция не связана с библиотекой импорта. Эта функция доступна в виде ресурса с именем SystemFunction41 в 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