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


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

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

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

Заметка

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

Синтаксис

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
0x01
Шифрование и расшифровка памяти в различных процессах. Приложение, работающее в другом процессе, сможет расшифровать данные.
RTL_ENCRYPT_OPTION_SAME_LOGON
0x02
Используйте одни и те же учетные данные входа для шифрования и расшифровки памяти в различных процессах. Приложение, работающее в другом процессе, сможет расшифровать данные. Однако процесс должен выполняться как тот же пользователь, который зашифровал данные и в том же сеансе входа.
RTL_ENCRYPT_OPTION_FOR_SYSTEM
0x04
Разрешить вызывающим пользователям расшифровывать данные только системным процессом.

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

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

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows XP, Windows XP [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2003, Windows Server 2003 [только классические приложения]
целевая платформа Виндоус
заголовка ntsecapi.h
DLL Advapi32.dll