Функция SetProcessValidCallTargets (memoryapi.h)
Предоставляет Control Flow Guard (CFG) со списком допустимых целевых объектов непрямых вызовов и указывает, должны ли они быть помечены как допустимые. Допустимые сведения о целевом объекте вызова предоставляются в виде списка смещения относительно диапазона виртуальной памяти (начало и размер диапазона). Указанные целевые объекты вызова должны быть выровнены по 16 байтам и в порядке возрастания.
Синтаксис
BOOL SetProcessValidCallTargets(
[in] HANDLE hProcess,
[in] PVOID VirtualAddress,
[in] SIZE_T RegionSize,
[in] ULONG NumberOfOffsets,
[in, out] PCFG_CALL_TARGET_INFO OffsetInformation
);
Параметры
[in] hProcess
Дескриптор целевого процесса.
[in] VirtualAddress
Начало виртуальной области памяти, целевые объекты вызова которой помечены как допустимые. Область памяти должна быть выделена с помощью одной из исполняемых констант защиты памяти.
[in] RegionSize
Размер области виртуальной памяти.
[in] NumberOfOffsets
Число смещения относительно диапазонов виртуальной памяти.
[in, out] OffsetInformation
Список смещения и флагов относительно диапазонов виртуальной памяти.
Возвращаемое значение
Значение TRUE , если операция была успешной; в противном случае — FALSE. Чтобы получить значения ошибок для этой функции, вызовите Метод GetLastError.
Комментарии
Эта функция не выполняется, если для целевого процесса не включена защита потока управления. Это можно проверить с помощью GetProcessMitigationPolicy.
Требования
Минимальная версия клиента | Windows 10 [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2016 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | memoryapi.h (включая Windows.h, Memoryapi.h) |
Библиотека | WindowsApp.lib |
DLL | Kernelbase.dll |