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

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