Функция NotifyWinEvent (winuser.h)
Сообщает системе, что произошло предопределенное событие. Если какие-либо клиентские приложения зарегистрировали функцию перехватчика для события, система вызывает функцию перехватчика клиента.
Синтаксис
void NotifyWinEvent(
[in] DWORD event,
[in] HWND hwnd,
[in] LONG idObject,
[in] LONG idChild
);
Параметры
[in] event
Тип: DWORD
Указывает событие, которое произошло. Это значение должно быть одной из констант событий.
[in] hwnd
Тип: HWND
Дескриптор окна, содержащего объект, создающий событие.
[in] idObject
Тип: LONG
Идентифицирует объект, создающий событие. Это значение является одним из предопределенных идентификаторов объектов или пользовательским значением идентификатора объекта.
[in] idChild
Тип: LONG
Определяет, было ли событие создано объектом или дочерним элементом объекта . Если это значение CHILDID_SELF, событие было создано самим объектом . Если не CHILDID_SELF, это значение является дочерним идентификатором элемента, создающего событие.
Возвращаемое значение
None
Remarks
Серверы вызывают эту функцию, чтобы уведомить систему о том, что произошло событие. Microsoft Active Accessibility проверяет, настроили ли какие-либо клиентские приложения процедуры перехватчика для события, и, если да, вызывает соответствующие процедуры перехватчика.
Если для события не зарегистрированы процедуры перехватчика, то снижение производительности при вызове этой функции будет незначительным.
Серверы вызывают NotifyWinEvent , чтобы объявить о событии в систему после его возникновения; они никогда не должны уведомлять систему о событии до его возникновения.
При вызове процедуры перехватчика клиента он получает ряд параметров, описывающих событие и объект, создающий событие. Процедура перехватчика использует функцию AccessibleObjectFromEvent для получения указателя на интерфейс IAccessible объекта, создающего событие.
Серверы могут получать сообщение WM_GETOBJECT сразу после вызова этой функции. Это может произойти, если есть клиенты в контексте, которые вызывают AccessibleObjectFromEvent в обратном вызове события.
Когда серверы вызывают эту функцию, они должны быть готовы к обработке WM_GETOBJECT, возврату указателя интерфейса IAccessible и обработке любого из методов IAccessible .
Примечание для разработчиков серверов: Если при вызове NotifyWinEvent какие-либо клиенты прослушивают это событие в контексте, обработчики событий, которые обычно отправляют WM_GETOBJECT и вызывают методы IAccess , будут выполняться до возврата NotifyWinEvent . При вызове NotifyWinEvent вы должны быть готовы к обработке этих вызовов, если они происходят. Если необходимо выполнить дополнительную настройку, чтобы разрешить это, это следует сделать до вызова NotifyWinEvent, а не после.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | winuser.h (включая Windows.h) |
Библиотека | User32.lib |
DLL | User32.dll |
Распространяемые компоненты | Активные специальные возможности 1.3 RDK в Windows NT 4.0 с пакетом обновления 6 (SP6) и более поздних версий и Windows 95 |
Набор API | ext-ms-win-ntuser-server-l1-1-0 (представлено в Windows 8) |