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 |