13 static auto is_user32_and_gdi32_available = []() {
17 GetProcessMitigationPolicy)* GetProcessMitigationPolicyType;
18 GetProcessMitigationPolicyType get_process_mitigation_policy_func =
19 reinterpret_cast<GetProcessMitigationPolicyType>(GetProcAddress(
20 GetModuleHandle(L"kernel32.dll"),
"GetProcessMitigationPolicy"));
22 if (!get_process_mitigation_policy_func)
25 PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY policy = {};
26 if (get_process_mitigation_policy_func(GetCurrentProcess(),
27 ProcessSystemCallDisablePolicy,
28 &policy,
sizeof(policy))) {
29 return policy.DisallowWin32kSystemCalls == 0;
34 return is_user32_and_gdi32_available;