LocalService
Installe un objet en tant qu’application de service.
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID
{AppID_GUID}
LocalService = name
Outre l’exécution en tant qu’exécutable (EXE) de serveur local, un objet COM peut également choisir de s’empaqueter pour s’exécuter en tant qu’application de service lorsqu’il est activé par un client local ou distant. Les services prennent en charge de nombreuses fonctionnalités administratives utiles et intégrées à l’interface utilisateur, notamment le démarrage, l’arrêt, la suspension et le redémarrage locaux et à distance, ainsi que la possibilité d’établir le serveur pour qu’il s’exécute sous un compte d’utilisateur et une station de fenêtre spécifiques.
Un objet écrit en tant que service est installé pour être utilisé par COM en établissant une valeur LocalService et en effectuant une installation de service standard. La valeur LocalService doit être définie sur le nom du service, comme configuré dans HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services, comme valeur de REG_SZ par défaut.
Lorsque LocalService est défini, toute chaîne affectée à ServiceParameters est passée en tant qu’argument de ligne de commande au service lors de son lancement.
La configuration des services est préférable dans de nombreuses situations où les capacités des API de gestion des services locaux et distants et de l’interface utilisateur peuvent être utiles pour les services fournis par l’objet. Par exemple, l’utilisation de l’infrastructure administrative existante de l’architecture du service devrait être un choix évident si l’objet a une longue durée de vie ou s’il prend facilement en charge des concepts tels que le démarrage, l’arrêt, la réinitialisation ou la suspension.
Les services peuvent être configurés de manière dynamique et peuvent l’être pour s’exécuter automatiquement lorsque la machine démarre, ou pour être lancés à la demande d’une application client.
Si vous implémentez des classes en tant que services, vous devez connaître les points suivants :
- Cette valeur est utilisée de préférence pour la clé LocalServer32 pour les demandes d’activation locales et distantes, si LocalService existe et fait référence à un service valide, la clé LocalServer32 est ignorée.
- Actuellement, il ne peut y avoir qu’une seule instance d’une application de service en cours d’exécution à un moment donné sur un ordinateur. Les services COM doivent donc inscrire leurs objets de classe lors du lancement à l’aide de REGCLS_MULTIPLEUSE pour prendre en charge plusieurs clients.
- Pour se lancer et s’initialiser correctement, les services COM configurés pour s’exécuter automatiquement au démarrage d’une machine doivent inclure RPCSS dans leur liste de services dépendants.