다음을 통해 공유


CHANGEFILTERSTRUCT 구조체(winuser.h)

ChangeWindowMessageFilterEx 함수를 호출하여 얻은 확장된 결과 정보를 포함합니다.

구문

typedef struct tagCHANGEFILTERSTRUCT {
  DWORD cbSize;
  DWORD ExtStatus;
} CHANGEFILTERSTRUCT, *PCHANGEFILTERSTRUCT;

멤버

cbSize

형식:DWORD

구조체의 크기(바이트)입니다. 로 sizeof(CHANGEFILTERSTRUCT)설정해야 합니다. 그렇지 않으면 함수가 ERROR_INVALID_PARAMETER 실패합니다.

ExtStatus

형식:DWORD

함수가 성공하면 이 필드에 다음 값 중 하나가 포함됩니다.

의미
MSGFLTINFO_NONE
0
주의 섹션을 참조하십시오. MSGFLT_ALLOWMSGFLT_DISALLOW 적용됩니다.
MSGFLTINFO_ALLOWED_HIGHER
3
메시지는 창보다 높은 scope 허용됩니다. MSGFLT_DISALLOW 적용됩니다.
MSGFLTINFO_ALREADYALLOWED_FORWND
1
이 창의 메시지 필터에서 메시지를 이미 허용했으며, 따라서 함수는 창의 메시지 필터를 변경하지 않고 성공했습니다. MSGFLT_ALLOW 적용됩니다.
MSGFLTINFO_ALREADYDISALLOWED_FORWND
2
이 창의 메시지 필터에 의해 메시지가 이미 차단되었으므로 함수는 창의 메시지 필터를 변경하지 않고 성공했습니다. MSGFLT_DISALLOW 적용됩니다.

설명

필터 설정에 관계없이 필터를 통과하려면 값이 WM_USER 미만인 특정 메시지가 필요합니다. 이 함수를 사용하여 이러한 메시지를 허용하거나 차단하려고 하면 아무런 효과가 없습니다.

애플리케이션은 ChangeWindowMessageFilter 함수를 사용하여 프로세스 전체 방식으로 메시지를 허용하거나 차단할 수 있습니다. 프로세스 메시지 필터 또는 창 메시지 필터에서 메시지를 허용하는 경우 창에 배달됩니다.

다음 표에서는 ExtStatus에서 반환되는 가능한 값을 나열합니다.

더 높은 scope 이미 허용된 메시지 창의 메시지 필터에서 이미 허용된 메시지 요청된 작업 성공에 대한 ExtStatus에서 반환된 표시기
아니요 아니요 MSGFLT_ALLOW MSGFLTINFO_NONE
아니요 아니요 MSGFLT_DISALLOW MSGFLTINFO_ALREADYDISALLOWED_FORWND
아니요 아니요 MSGFLT_RESET MSGFLTINFO_NONE
아니요 MSGFLT_ALLOW MSGFLTINFO_ALREADYALLOWED_FORWND
아니요 MSGFLT_DISALLOW MSGFLTINFO_NONE
아니요 MSGFLT_RESET MSGFLTINFO_NONE
아니요 MSGFLT_ALLOW MSGFLTINFO_NONE
아니요 MSGFLT_DISALLOW MSGFLTINFO_ALLOWED_HIGHER
아니요 MSGFLT_RESET MSGFLTINFO_NONE
MSGFLT_ALLOW MSGFLTINFO_ALREADYALLOWED_FORWND
MSGFLT_DISALLOW MSGFLTINFO_ALLOWED_HIGHER
MSGFLT_RESET MSGFLTINFO_NONE

요구 사항

   
지원되는 최소 클라이언트 Windows 7 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 R2 [데스크톱 앱만 해당]
머리글 winuser.h(Windows.h 포함)

참고 항목

ChangeWindowMessageFilterEx