| Предыдущий | Следующий |
| ERROR_DC_NOT_FOUND | ERROR_INVALID_FILTER_PROC |
ERROR_INVALID_HOOK_FILTER
Недопустимый тип фильтра перехватчика
SetWindowsHookEx выбирает цепочку перехватчиков с помощью параметра idHook с такими значениями, как WH_CALLWNDPROC, WH_GETMESSAGE, WH_KEYBOARDили низкоуровневые перехватчики клавиатуры и мыши. Тип определяет семантику обратного вызова и требования к области действия.
Передача произвольного кода события, константы WinEvent или значения из другого API обратных вызовов является ошибкой категории. Важна и зависимость поддержки перехватчиков от версии системы: журнальные перехватчики не поддерживаются в Windows 11 и более новых версиях, где Microsoft рекомендует использовать другие API ввода.
Что проверить
- Записывайте в журнал символьное значение
WH_*, а не только целое число. - Убедитесь, что сигнатура обратного вызова соответствует выбранному типу перехватчика.
- Используйте отдельные оболочки для перехватчиков WinEvent и перехватчиков сообщений Windows.
- Проверьте поддержку в используемой версии ОС, если полагаетесь на журнальные типы перехватчиков.
Этот результат отличается от ERROR_HOOK_TYPE_NOT_ALLOWED: проверка допустимых значений может распознать тип перехватчика, но запретить его использование в конкретной среде или контексте политики.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
