Service Windows, StartServiceCtlDispatcher
Bonjour, bonjour!
Je suis actuellement en train de m'initier aux développements des services windows. Jusqu'à l’installation tous va bien, le soucis vient du démarrage du service.
Je ne comprends pas l'utilité de la fonction "StartServiceCtlDispatcher" (même avec la documentation), je "suppose" qu'elle permet de démarrer le service.
Le problème c'est qu'elle me renvoie en permanence le code retour 1063 (ERROR_FAILED_SERVICE_CONTROLLER_CONNECT).
J'ai consulté énormément de forum concernant cette erreur sans pouvoir résoudre ce problème. Quel que soit le mode d'exécution (en debug sous visual, exécution depuis le CMD le tout en administrateur) mais rien n'y fait, le service ne veut pas démarrer.
Code:
1 2 3 4 5 6 7
|
SERVICE_TABLE_ENTRY serviceTable[] =
{
{ L"MonService", ServiceMain },
{ NULL, NULL }
};
return StartServiceCtrlDispatcher(serviceTable); |
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
void WINAPI ServiceBase::ServiceMain(DWORD dwArgc, PWSTR *pszArgv)
{
s_service->m_statusHandle = RegisterServiceCtrlHandler(
s_service->m_name, ServiceCtrlHandler);
if (s_service->m_statusHandle == NULL)
{
throw GetLastError();
}
s_service->Start(dwArgc, pszArgv);
} |
J'ai pu voir d'autre méthode pour le démarrage d'un service via la méthode "StartService".
J'ai également pu voir sur différent forum que l'erreur 1063 provenait d'un mauvais démarrage du service et que pour utiliser la méthode startServiceCtlDispatcher il fallait démarrer le service via Service Control Manager.