ChangeWindowMessageFilterEx 함수(winuser.h)
지정된 창에 대한 UIPI(사용자 인터페이스 권한 격리) 메시지 필터를 수정합니다.
구문
BOOL ChangeWindowMessageFilterEx(
[in] HWND hwnd,
[in] UINT message,
[in] DWORD action,
[in, out, optional] PCHANGEFILTERSTRUCT pChangeFilterStruct
);
매개 변수
[in] hwnd
형식: HWND
UIPI 메시지 필터를 수정할 창에 대한 핸들입니다.
[in] message
형식: UINT
메시지 필터에서 허용하거나 차단하는 메시지입니다.
[in] action
형식:DWORD
수행할 작업이며 다음 값 중 하나를 사용할 수 있습니다.
값 | 의미 |
---|---|
|
필터를 통해 메시지를 허용합니다. 이렇게 하면 메시지 원본에 관계없이 hWnd에서 메시지를 수신할 수 있으며, 권한이 낮은 프로세스에서도 메시지를 받을 수 있습니다. |
|
메시지가 ChangeWindowMessageFilter 함수를 사용하거나 전역적으로 처리할 수 있는 경우가 아니면 낮은 권한의 프로세스에서 오는 경우 hWnd로 배달할 메시지를 차단합니다. |
|
hWnd에 대한 창 메시지 필터를 기본값으로 다시 설정합니다. 전역적으로 또는 프로세스 전체에서 허용되는 모든 메시지는 통과하지만 해당 두 범주에 포함되지 않은 모든 메시지는 더 낮은 권한 있는 프로세스에서 제공되므로 차단됩니다. |
[in, out, optional] pChangeFilterStruct
형식: PCHANGEFILTERSTRUCT
CHANGEFILTERSTRUCT 구조체에 대한 선택적 포인터입니다.
반환 값
형식: BOOL
함수가 성공하면 TRUE를 반환합니다. 그렇지 않으면 FALSE를 반환 합니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.
설명
UIPI는 낮은 무결성 수준 보낸 사람으로부터 메시지를 받지 못하도록 하는 보안 기능입니다. 이 함수를 사용하여 메시지가 낮은 무결성 수준의 프로세스에서 시작된 경우에도 특정 메시지를 창으로 배달할 수 있습니다. 프로세스 메시지 필터를 제어하는 ChangeWindowMessageFilter 함수와 달리 ChangeWindowMessageFilterEx 함수는 창 메시지 필터를 제어합니다.
애플리케이션은 ChangeWindowMessageFilter 함수를 사용하여 프로세스 전체에서 메시지를 허용하거나 차단할 수 있습니다. 프로세스 메시지 필터 또는 창 메시지 필터에서 메시지를 허용하는 경우 창으로 배달됩니다.
SECURITY_MANDATORY_LOW_RID 이하의 프로세스는 메시지 필터를 변경할 수 없습니다. 이러한 프로세스에서 이 함수를 호출하면 실패하고 확장 오류 코드가 생성되고 ERROR_ACCESS_DENIED.
값이 WM_USER 보다 작은 특정 메시지는 필터 설정에 관계없이 필터를 통해 전달되어야 합니다. 이 함수를 사용하여 이러한 메시지를 허용하거나 차단하려고 하면 아무런 효과가 없습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 7 [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 R2 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | winuser.h(Windows.h 포함) |
라이브러리 | User32.lib |
DLL | User32.dll |
API 세트 | ext-ms-win-ntuser-gui-l1-3-0(Windows 10 버전 10.0.10240에 도입됨) |
추가 정보
개념
참조