Здравствуйте, Giraffe, Вы писали:
G>Здравствуйте.
G>Хочу написать сервис. Читал статьи на RSDN — почти все понятно, но есть вопросы.
G>В статье "Управление системными службами Windows NT" часть 2-я сказано
G>G>Получив команду на запуск службы, StartServiceCtrlDispatcher создает новый поток вызовом CreateThread, в котором вызывает главную функцию службы, обычно имеющую название ServiceMain. Непосредственно перед созданием потока StartServiceCtrlDispatcher вызывает SetServiceStatus чтобы установить текущее состояние службы в SERVICE_START_PENDING, указывая при этом dwCheckPoint как 0 и dwWaitHint как 2000.
G>В частности меня интересует -
G>в функции WinMain / main вызываем
G>G>StartServiceCtrlDispatcher(...)
G>
G>Нужно-ли после вызова этой функции ждать завершения потока созданного в StartServiceCtrlDispatcher ?
G>Спасибо.
Нет, не нужно, потому что StartServiceControlDispatcher не возвращает управления, пока работают все им запущенные сервисы (конечно, если все нормально). Просто эту функцию следует вызвать как можно быстро.