Здравствуйте, уважаемые коллеги!
Проблема такая: написал я сервис, использующий для обработки сообщений HandlerEx(). Сервис нормально создается вызовом CreateService(), запускается вызовом StartService(), удаляется вызовом DeleteService(). Но при попытке послать сервису любую (!) команду получаю системную ошибку "Параметр задан неверно". Работаю в Windows7. Вот пример кода посылки команды:
Запускал прогу, которая посылает команды, "от имени администратора" — тот же результат. В журнале событий никаких записей. Для смеха создал точно такой же сервис, но рассчитанный на ControlService(), так тот работает как часы.
Поиск по MSDN и Google ничего не прояснил. Просто не знаю что и подумать. Третий день бьюсь. У кого какие будут соображения?
Если он __in_out — значит, на входе надо в нем что-то задавать, а у тебя в нем мусор.
SERVICE_CONTROL_STATUS_REASON_PARAMS Structure
dwReason
The reason for changing the service status to SERVICE_CONTROL_STOP. If the current control code is not SERVICE_CONTROL_STOP, this member is ignored.
This member must be set to a combination of one general code, one major reason code, and one minor reason code.