Partager via


serveurs In-Process

Si vous implémentez une application serveur OLE en tant que serveur in-process ( DLL s’exécutant dans l’espace de processus de l’application conteneur) plutôt que comme un serveur local – un EXE s’exécutant dans son propre espace de processus – la communication entre le conteneur et le serveur est simplifiée, car la communication entre les deux peut prendre la forme d’appels de fonction normaux. Les appels de procédure distante ne sont pas obligatoires, car les deux applications s’exécutent dans le même espace de processus. Comme prévu, les objets qui gèrent le marshaling des paramètres sont également inutiles, bien qu’ils puissent être agrégés dans la DLL sans interférer avec la communication entre le conteneur et le serveur.

Lorsqu’une application serveur OLE est implémentée en tant que serveur in-process, un gestionnaire d’objets distinct n’est pas nécessaire, car le serveur lui-même réside dans l’espace de processus du client. La principale différence entre un serveur in-process et un gestionnaire d’objets est que le serveur est en mesure de gérer l’objet dans un état d’exécution alors que le gestionnaire ne peut pas. Une conséquence de cette différence est qu’un serveur doit fournir une interface utilisateur pour manipuler l’objet en cours d’exécution, tandis qu’un gestionnaire délègue cette exigence au serveur de l’objet. Lors de la création d’un serveur in-process, vous pouvez agréger sur le gestionnaire OLE par défaut, en le laissant gérer les tâches de base, telles que l’affichage, le stockage et les notifications, tandis que vous implémentez uniquement les services que le gestionnaire ne fournit pas ou n’implémente pas de la façon dont vous avez besoin.

Pour plus d’informations, consultez les rubriques suivantes :

documents composés