Структура CHANGEFILTERSTRUCT (winuser.h)
Содержит расширенные сведения о результатах, полученные при вызове функции ChangeWindowMessageFilterEx .
Синтаксис
typedef struct tagCHANGEFILTERSTRUCT {
DWORD cbSize;
DWORD ExtStatus;
} CHANGEFILTERSTRUCT, *PCHANGEFILTERSTRUCT;
Члены
cbSize
Тип: DWORD
Размер структуры в байтах.
Должен иметь значение , в sizeof(CHANGEFILTERSTRUCT)
противном случае функция завершается сбоем с ERROR_INVALID_PARAMETER.
ExtStatus
Тип: DWORD
Если функция выполняется успешно, это поле содержит одно из следующих значений.
Комментарии
Некоторые сообщения, значение которых меньше WM_USER , должны проходить через фильтр независимо от параметра фильтра. При попытке использовать эту функцию для разрешения или блокировки таких сообщений не будет никакого эффекта.
Приложение может использовать функцию ChangeWindowMessageFilter , чтобы разрешить или заблокировать сообщение на уровне всего процесса. Если сообщение разрешено фильтром сообщений процесса или фильтром сообщений окна, оно будет доставлено в окно.
В следующей таблице перечислены возможные значения, возвращаемые в ExtStatus.
Сообщение уже разрешено в более область | Сообщение уже разрешено фильтром сообщений окна | Запрошенная операция | Индикатор возвращается в 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) |