при назначении функции stati c в Class обработчику событий сторонней организации не пинает. Возможно, служба не находится в состоянии ожидания, как в консольном приложении с While (1) {sleep (1000)}. Как добиться того же.
РЕДАКТИРОВАТЬ:
Я создаю одну службу, которая будет получать определенные сведения об ошибках от сторонней dll. Предположим, что сторонний поставщик предоставляет X, Y и Z статус устройств, если мы подключаем evt_handler к стороннему указателю на функцию. Скажем handle->funcpointer=evt_handler
и запускаем функцию мониторинга сторонней стороны. Но поскольку службы просто инициализируются в OnStart и завершаются. Кажется, что SCM не знает о существовании обработчика событий. так как оставить Сервисы в режиме ожидания l oop. Если я сделаю простое консольное приложение, тогда оно будет работать с while (1) для простоя и обработкой события в обработчике событий. Но я хочу добавить то же самое в сервисах.
Это не работает в Windows программе Services
OnStart()
{
hdl=LoadLibrary("x.dll"); //LOading of library is happening
Monitor=(Monitor)GetProcAddress(hdl,"Monitor")
x.funcptr=event_handler;
MOnitor(x);
}
void event_handler()
{
case X:
case Y:
Case Z:
}
это работает в консольном приложении
main()
{
hdl=LoadLibrary("x.dll"); //LOading of library is happening
Monitor=(Monitor)GetProcAddress(hdl,"Monitor")
x.funcptr=event_handler;
MOnitor(x);
while(1)
{
sleep(100);
}
}