Функция 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_PROCESS0x01 |
Шифрование и расшифровка памяти в различных процессах. Приложение, работающее в другом процессе, сможет расшифровать данные. |
RTL_ENCRYPT_OPTION_SAME_LOGON0x02 |
Используйте одни и те же учетные данные входа для шифрования и расшифровки памяти в различных процессах. Приложение, работающее в другом процессе, сможет расшифровать данные. Однако процесс должен выполняться как тот же пользователь, который зашифровал данные и в том же сеансе входа. |
RTL_ENCRYPT_OPTION_FOR_SYSTEM0x04 |
Разрешить вызывающим пользователям расшифровывать данные только системным процессом. |
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение STATUS_SUCCESS.
Если функция завершается ошибкой, возвращаемое значение является код NTSTATUS, указывающий на ошибку.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows XP, Windows XP [только классические приложения] |
минимальный поддерживаемый сервер | Windows Server 2003, Windows Server 2003 [только классические приложения] |
целевая платформа | Виндоус |
заголовка | ntsecapi.h |
DLL | Advapi32.dll |