Что является причиной сбоя системного вызова windows StartServiceCtrlDispatcher с ошибкой 1063 (сбой подключения сервисного контроллера)? - PullRequest
0 голосов
/ 03 апреля 2020

У меня проблемы с использованием WinAPI, потому что я хочу запустить собственный сервис из своего кода. Эта проблема не является распространенной, и я не думаю, что проблема в исходном коде службы. Я успешно установил службу с CreateService. Это нормально, и это действительно появилось в реестре и сервисах. Итак, я хочу запустить службу, поэтому я создал точку входа для службы с использованием этой таблицы:

    BOOL ConsoleService::Run(ConsoleService &service)
{
    service_ = &service;

    SERVICE_TABLE_ENTRY serviceTable[] =
    {
        {service.name_, ServiceMain},
        {nullptr, nullptr}
    };

    return StartServiceCtrlDispatcher(serviceTable);
}

void WINAPI ConsoleService::ServiceMain(DWORD argc, PSTR *argv)
{
    assert(service_ != nullptr);

    service_->statusHandle_ = RegisterServiceCtrlHandler(service_->name_, ServiceCtrlHandler);
    if (service_->statusHandle_ == nullptr)
        throw GetLastError();

    service_->Start(argc, argv);
}

Но StartServiceCtrlDispatcher не удалось с ошибкой 1063 (подключение контроллера службы). Что может вызвать эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...