Функция GetProcessMitigationPolicy (processthreadsapi.h)

Извлекает параметры политики устранения рисков для вызывающего процесса.

Синтаксис

BOOL GetProcessMitigationPolicy(
  [in]  HANDLE                    hProcess,
  [in]  PROCESS_MITIGATION_POLICY MitigationPolicy,
  [out] PVOID                     lpBuffer,
  [in]  SIZE_T                    dwLength
);

Параметры

[in] hProcess

Дескриптор процесса. Этот дескриптор должен иметь право доступа PROCESS_QUERY_INFORMATION. Дополнительные сведения см. в разделе Управление правами на доступ и безопасность процесса.

[in] MitigationPolicy

Извлекаемая политика устранения рисков. Этот параметр может принимать одно из указанных ниже значений.

Значение Значение
ProcessDEPPolicy Политика предотвращения выполнения данных (DEP) процесса.
Параметр lpBuffer указывает на структуру PROCESS_MITIGATION_DEP_POLICY , указывающую флаги политики DEP.
ProcessASLRPolicy Политика случайного размещения адресного пространства (ASLR) процесса.
Параметр lpBuffer указывает на структуру PROCESS_MITIGATION_ASLR_POLICY , указывающую флаги политики ASLR.
ProcessDynamicCodePolicy Политика динамического кода процесса. Если этот параметр включен, процесс не может создавать динамический код или изменять существующий исполняемый код.
Параметр lpBuffer указывает на структуру PROCESS_MITIGATION_DYNAMIC_CODE_POLICY , которая задает флаги политики динамического кода.
ProcessStrictHandleCheckPolicy Процесс получит неустранимую ошибку, если он управляет недопустимым дескриптором.
Параметр lpBuffer указывает на структуру PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY, указывающую флаги политики дескриптора проверка.
ProcessSystemCallDisablePolicy Отключает возможность использования функций NTUser/GDI на самом низком уровне.
Параметр lpBuffer указывает на структуру PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY , указывающую флаги политики отключения системного вызова.
ProcessMitigationOptionsMask Возвращает маску допустимых битов для всех параметров устранения рисков в системе. Приложение может задать множество параметров устранения рисков, не запрашивая у операционной системы варианты устранения рисков, объединяя побитовой с маской, чтобы исключить все не поддерживаемые биты одновременно.
Параметр lpBuffer указывает на ULONG64 битовый вектор для маски или двухэлеметрный массив ULONG64 битовых векторов.
ProcessExtensionPointDisablePolicy Предотвращает включение некоторых встроенных точек расширения сторонних производителей, предотвращая загрузку устаревших библиотек DLL точек расширения в процесс.
Параметр lpBuffer указывает на структуру PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY , указывающую флаги политики отключения точки расширения.
ProcessControlFlowGuardPolicy Политика процесса Control Flow Guard (CFG).
Параметр lpBuffer указывает на PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY структуру, которая задает флаги политики CFG.
ProcessSignaturePolicy Политика процесса, который может ограничить загрузку изображений теми изображениями, которые подписаны корпорацией Майкрософт, Магазином Windows или Корпорацией Майкрософт, Магазином Windows и Лабораторией качества оборудования Windows (WHQL).
Параметр he lpBuffer указывает на структуру PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY , которая задает флаги политики подписи.
ProcessFontDisablePolicy Политика, касающаяся загрузки шрифтов для процесса. Если этот параметр включен, процесс не может загружать несистемные шрифты.
Параметр lpBuffer указывает на структуру PROCESS_MITIGATION_FONT_DISABLE_POLICY , которая задает флаги политики для загрузки шрифта.
ProcessImageLoadPolicy Политика загрузки изображений для процесса, которая определяет типы исполняемых образов, которые можно сопоставить с процессом. Если этот параметр включен, невозможно загрузить изображения из некоторых расположений, например из удаленных устройств или файлов с низкой обязательной меткой.
Параметр lpBuffer указывает на структуру PROCESS_MITIGATION_IMAGE_LOAD_POLICY , которая задает флаги политики для загрузки изображений.
ProcessRedirectionTrustPolicy Политика RedirectionGuard процесса. Параметр lpBuffer указывает на структуру PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY , которая определяет режим устранения рисков.
ProcessSideChannelIsolationPolicy Windows 10, версия 1809 и выше: политика изоляции каналов для указанного процесса.
Параметр lpBuffer указывает на структуру PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY , которая задает флаги политики для изоляции бокового канала.
ProcessUserShadowStackPolicy Windows 10 версии 2004 и более поздних версий: политика в отношении аппаратной защиты стека в пользовательском режиме для указанного процесса.
Параметр lpBuffer указывает на структуру PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY , которая задает флаги политики для защиты стека, принудительно применяемой в пользовательском режиме.

[out] lpBuffer

Если параметр MitigationPolicy имеет значение ProcessDEPPolicy, этот параметр указывает на структуру PROCESS_MITIGATION_DEP_POLICY , которая получает флаги политики DEP.

Если параметр MitigationPolicy имеет значение ProcessASLRPolicy, этот параметр указывает на PROCESS_MITIGATION_ASLR_POLICY структуру, которая получает флаги политики ASLR.

Если параметр MitigationPolicy имеет значение ProcessDynamicCodePolicy, этот параметр указывает на PROCESS_MITIGATION_DYNAMIC_CODE_POLICY структуру, которая получает флаги политики динамического кода.

Если параметр MitigationPolicy имеет значение ProcessStrictHandleCheckPolicy, этот параметр указывает на структуру PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY, которая задает дескриптор проверка флаги политики.

Если параметр MitigationPolicy имеет значение ProcessSystemCallDisablePolicy, этот параметр указывает на структуру PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY , указывающую флаги политики отключения системного вызова.

Если параметр MitigationPolicy имеет значение ProcessMitigationOptionsMask, этот параметр указывает на ULONG64 битовый вектор для маски или двухэлеметрный массив ULONG64 битовых векторов.

Если параметр MitigationPolicy имеет значение ProcessExtensionPointDisablePolicy, этот параметр указывает на PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY структуру, указывающую флаги политики отключения точки расширения.

Если параметр MitigationPolicy имеет значение ProcessControlFlowGuardPolicy, этот параметр указывает на PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY структуру, которая задает флаги политики CFG.

Если параметр MitigationPolicy имеет значение ProcessSignaturePolicy, этот параметр указывает на структуру PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY , которая получает флаги политики подписи.

Если параметр MitigationPolicy имеет значение ProcessFontDisablePolicy, этот параметр указывает на структуру PROCESS_MITIGATION_FONT_DISABLE_POLICY , которая получает флаги политики для загрузки шрифта.

Если параметр MitigationPolicy имеет значение ProcessImageLoadPolicy, этот параметр указывает на структуру PROCESS_MITIGATION_IMAGE_LOAD_POLICY , которая получает флаги политики для загрузки изображений.

Если параметр MitigationPolicy имеет значение ProcessRedirectionTrustPolicy, этот параметр указывает на PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY структуру , которая задает режим устранения рисков.

Если параметр MitigationPolicy имеет значение ProcessUserShadowStackPolicy, этот параметр указывает на структуру PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY , которая получает флаги политики для аппаратной защиты стека в пользовательском режиме.

[in] dwLength

Размер lpBuffer в байтах.

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

Если функция завершается успешно, она возвращает значение TRUE. Если функция завершается сбоем, она возвращает значение FALSE. Чтобы получить значения ошибок, определенные для этой функции, вызовите Метод GetLastError.

Комментарии

Чтобы скомпилировать приложение, использующее эту функцию, задайте _WIN32_WINNT >= 0x0602. Дополнительные сведения см. в разделе Использование заголовков Windows.

Требования

   
Минимальная версия клиента Windows 8 [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2012 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header processthreadsapi.h
Библиотека Kernel32.lib
DLL Kernel32.dll