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 |