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 매개 변수는 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(Control Flow Guard) 정책입니다.
lpBuffer 매개 변수는 CFG 정책 플래그를 지정하는 PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY 구조를 가리킵니다.
ProcessSignaturePolicy Microsoft, Windows 스토어 또는 Microsoft, Windows 스토어 및 WHQL(Windows 하드웨어 품질 랩)에서 서명한 이미지로 이미지 로드를 제한할 수 있는 프로세스의 정책입니다.
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
라이브러리 Kernel32.lib
DLL Kernel32.dll