Запуск услуги? - PullRequest
       34

Запуск услуги?

0 голосов
/ 20 сентября 2010

Ну, я недавно начал заниматься разработкой драйверов, поэтому я подумал, что мне следует создать класс для программного запуска служб. Но, конечно, по дороге я столкнулся с некоторыми проблемами, как обычно.

Я использую StartService, чтобы запустить его, но по какой-то причине он просто зависает, я провел некоторые исследования в Интернете и, похоже, ожидает подтверждения от функции ServiceMain, чтобы сообщить управляющему, что служба успешно инициализирован и запущен.

Проблема в том, что, похоже, ничего не работает, я инициализировал функцию ServiceMain с помощью StartServiceCtrlDispatcher (), но она никогда не вызывается, я вставил некоторый код в функцию servicemain, чтобы убедиться, что он вызывается, и не по какой-то странной причине.

Я убедился, что ни одна другая функция в процессе не работает, CreateService возвращает успех, как и OpenService, но как только я добираюсь до StartService, он зависает, и единственный способ, которым я могу снова вызвать StartService, это после перезагрузки.

Итак, я думаю, что я спрашиваю, если есть какие-то простые объяснения того, как я могу это исправить, возможно, какой-нибудь код, если вы, ребята, не возражаете.

Заранее спасибо. Очень признателен.

1 Ответ

0 голосов
/ 20 сентября 2010

Я полагаю, что здесь есть множество примеров кода здесь :)

Хотя в общем случае, если StartService зависает, это потому, что вы дали ему данные для мусора.Независимо от того, насколько плохо себя вел рассматриваемый сервис, StartService должен немедленно вернуться.

...