getProcessMitigationPolicy 函数 (processthreadsapi.h)

检索调用进程的缓解策略设置。

语法

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

parameters

[in] hProcess

进程的句柄。 此句柄必须具有PROCESS_QUERY_INFORMATION访问权限。 有关详细信息,请参阅 进程安全和访问权限

[in] MitigationPolicy

要检索的缓解策略。 此参数的取值可为下列值之一:

含义
ProcessDEPPolicy 数据执行防护 (DEP) 进程的策略。
lpBuffer 参数指向指定 DEP 策略标志的 PROCESS_MITIGATION_DEP_POLICY 结构。
ProcessASLRPolicy 地址空间布局随机化 (ASLR) 策略。
lpBuffer 参数指向指定 ASLR 策略标志的 PROCESS_MITIGATION_ASLR_POLICY 结构。
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 控制流防护 (CFG) 进程的策略。
lpBuffer 参数指向指定 CFG 策略标志的 PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY 结构。
ProcessSignaturePolicy 可以将图像加载限制为由 Microsoft、Windows 应用商店或 Microsoft、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,则此参数指向接收 DEP 策略标志 的 PROCESS_MITIGATION_DEP_POLICY 结构。

如果 MitigationPolicy 参数为 ProcessASLRPolicy,则此参数指向接收 ASLR 策略标志 的 PROCESS_MITIGATION_ASLR_POLICY 结构。

如果 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,则此参数指向指定 CFG 策略标志 的 PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY 结构。

如果 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
标头 processthreadsapi.h
Library Kernel32.lib
DLL Kernel32.dll