| Предыдущий | Следующий |
| ERROR_HOOK_NEEDS_HMOD | ERROR_JOURNAL_HOOK_SET |
ERROR_GLOBAL_ONLY_HOOK
Тип перехватчика должен быть установлен глобально
Некоторые категории перехватчиков USER32 имеют правила области, отличающиеся от обычных перехватчиков потока. Глобальный перехватчик использует нулевой ID потока и связывается с потоками рабочего стола вызывающей стороны согласно семантике SetWindowsHookEx .
Ошибка означает, что распознанный тип перехватчика запрошен с локальной для потока областью, хотя эта категория допускается только глобально. Изменение тела обратного вызова не исправит несоответствие области; необходимо изменить параметры установки и модель развёртывания.
Что проверить
- Проверьте выбранный тип
WH_*и его документированную область. - Применяйте
dwThreadId == 0только когда глобальный перехватчик действительно необходим. - Передайте процедуру перехватчика в DLL и дескриптор модуля, когда этого требуют правила глобального внедрения.
- Рассмотрите более узкий поддерживаемый механизм событий, если общесистемное наблюдение не требуется.
Этот результат отличается от ERROR_INVALID_HOOK_FILTER, где недопустимо само значение типа перехватчика, и от ERROR_HOOK_NEEDS_HMOD, где область выбрана, но отсутствует идентификация модуля.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.