Функции оповещений
[Функции оповещений не поддерживаются в Windows Vista, так как службы оповещений и messenger не поддерживаются.]
Функции генерации оповещений об управлении сетями уведомляют программы и приложения сетевых событий. Событие — это конкретный экземпляр процесса, вхождения или состояния оборудования, определенного приложением. Функции оповещений позволяют приложениям указывать, когда происходят предопределенные события.
Windows Server 2003: службы оповещений и messenger отключены по умолчанию в Windows Server 2003. Перед вызовом функций оповещений об управлении сетями или функций управления сетямифункции сообщений необходимо повторно включить.
Ниже перечислены функции генерации оповещений.
Функция | Описание |
---|---|
NetAlertRaise | Уведомляет всех зарегистрированных клиентов о том, что произошло определенное событие. |
NetAlertRaiseEx | Упрощает уведомление зарегистрированных клиентов о том, что произошло определенное событие, так как, в отличие от NetAlertRaise, NetAlertRaiseEx не требует структуры STD_ALERT. |
Служба оповещений должна выполняться на клиентском компьютере при вызове функции NetAlertRaise или функции NetAlertRaiseEx. Если служба не запущена, функции завершаются ошибкой ERROR_FILE_NOT_FOUND. Служба оповещений на клиенте вызывает функцию NetMessageBufferSend для отправки информации получателям.
Приложения, сетевые службы и внутренние сетевые компоненты используют функции оповещения управления сетями для создания оповещения, уведомляя различные приложения или пользователей при возникновении определенного типа события. Функции категории оповещений, типы данных, структуры и константы определяются в LMCONS. H, LMERR. H и LMALERT. Файлы заголовков H. Чтобы получить доступ к этим определениям, определите константы INCL_NETERRORS и INCL_NETALERT и включите файл заголовка LM.H.
The LMALERT. H-файл предопределяет следующие классы оповещений (типы сетевых событий) для отправки оповещений:
- Сетевые события, требующие административной помощи
- Добавление записи в файл журнала ошибок
- Получение широковещательного сообщения пользователем или приложением
- Завершение задания печати
- Использование определенных приложений или ресурсов пользователями
При необходимости можно определить другие классы оповещений для сетевых приложений. Например, если приложение на сервере обычно записывает большие объемы данных на диск, приложение рискует заполнить диск. В этом случае может потребоваться добавить событие "без свободного места на диске", чтобы активировать оповещение, которое уведомляет приложение приостановить или завершить процесс заполнения диска. Имя события для оповещения может быть любой текстовой строкой.
При возникновении оповещения с вызовом функции NetAlertRaise данные сообщения должны состоять из одной структуры заголовков STD_ALERT, а затем дополнительных данных фиксированной длины, относящихся к одному ADMIN_OTHER_INFO, ERRLOG_OTHER_INFO, PRINT_OTHER_INFO, или USER_OTHER_INFO структуру. Дополнительные данные переменной длины могут соответствовать структуре оповещений. (Вызовы функции NetAlertRaiseEx не требуют структуры STD_ALERT.) Вызывающее приложение должно выделить память для всех структур и данных переменной длины и освободить память после возвращения вызова.
Следующие макросы доступны для использования с буферами данных оповещений.
Макрос | Описание |
---|---|
ALERT_OTHER_INFO | Возвращает указатель на данные фиксированной длины, которые соответствуют структуре STD_ALERT в сообщении оповещения. |
ALERT_VAR_DATA | Возвращает указатель на данные переменной длины, которые следуют данным, определенным оповещением, в сообщении оповещения. |
Вместо использования функций оповещения об управлении сетями вы можете использовать пакет SDK инструментария управления Windows (WMI) для уведомления о событиях. Дополнительные сведения о платформах, поддерживающих модель событий WMI, см. в инфраструктуре WMI и событиях мониторинга в документации по WMI.