Функции оповещений

[Функции оповещений не поддерживаются в 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.