Bonjour,
J'essaie de cr�er un Service en C++ contenant des objets COM sous Visual Studio 2015 pro (et Windows 7).
J'ai cr�� un projet ATL win32, sans MFC, sous forme de Service executable (pas DLL).
Appelons-le MonServ.exe.
J'ai ajout� un objet COM, un membre et une m�thode pour essayer.
J'ai ajout� un appel � CoInitializeSecurity(...) dans HRESULT CMonServModule::InitializeSecurity() comme unique t�che "TODO" sugg�r�e par le wizard.
Pas de soucis jusque l�.
(un d�tail curieux, le wizard a en fait cr�� deux projets, le deuxi�me �tant une DLL avec le nom de mon executable suivi de PS en suffix, MonServPS.dll (PS comme Proxy/Stub ???), j'en fais quoi ?).
J'ai ensuite cr�� un autre projet de test win32 console pour acc�der � l'objet COM du premier.
Et l�, je ne parviens pas � acc�der � l'objet COM du service lorsque celui-ci est enregistr� comme tel par windows.
Je m'explique.
Je lance MonService.exe avec l'option -Service: il est enregistr� comme service sous Windows, mais je ne parviens pas � communiquer avec lui depuis mon prg de test (le service est bien demarr�, ou arr�t�, ou en pause, rien n'y change).
Je lance MonService.exe avec l'option -RegServer: l�, Windows le retire de sa liste des services (grrr, pourquoi ???). Par conte mon prg de test acc�de alors bien � l'objet COM (et lance comme par magie MonService.exe que je vois apparaitre dans la liste des t�ches, puis redisparait aussit�t lorsque mon prg de test se termine).
En bref, j'ai un service, ou un objet COM accessible, mais pas les deux en m�me temps, et je ne comprends pas ce qui manque pour cela. Le tout �tant cr�� enti�rement par les wizard de Visual Studio 2015.
Merci pour votre aide.
Partager