Плагины NetView :: Колбяки (Callbacks)


Плагин может установить процедуру-обработчик таких событий как перепроверка хоста для которого отключена стандартная перепроверка (пингом или сканированием) и событие обновления состояния хоста инициируемое каждый раз когда NetView хочет обновить состояние хоста например после перепроверки или после изменения картинки для того чтобы эти изменения визуально отобразились. Эта возможность появилась в NetView 2.80 и позволяет корректнее добавлять в НВ свои процедуры перепроверки. Делается это все при помощи сообщения NMPN_CALLBACK. Например если вы хотите установить обработчик событий перепроверки и обновления состояние то его надо вначале объявить соответствующим образом:

  LRESULT CALLBACK MyCallbackProc(DWORD Code, DWORD ObjId, void *reserved)

  {

  //do something...

  return 1;

  }

Включение обработчика делается следующим образом:

SendMessage(nvwnd,NMPN_CALLBACK, NVCB_CUSTOM_RECHECK|NVCB_PRE_SETSTATE, (DWORD)&MyCallbackProc);

Перед завершением работы плагина обработчик обязательно нужно отключить, иначе вылетит сообщение об ошибке:

SendMessage(nvwnd,NMPN_CALLBACK, NVCB_REMOVECALLBACK|NVCB_CUSTOM_RECHECK|NVCB_PRE_SETSTATE, (DWORD)&MyCallbackProc);

 

Параметры процедуры обработчика:

  • Code - код события. NVCB_CUSTOM_RECHECK или NVCB_PRE_SETSTATE соответственно.
  • ObjId - идентификатор хоста для которого проводится перепроверка или обновление. Этот идентификатор можно использовать с остальными функциями работы с хостами и их метапеременными.

© 2001-2004 Killer{R}   © 2003 VoVaN