COM-Clients und -Server

Ein wichtiger Aspekt von COM ist die Interaktion von Clients und Servern. Ein COM-Client ist unabhängig davon, welcher Code oder Objekt einen Zeiger auf einen COM-Server erhält und seine Dienste verwendet, indem die Methoden seiner Schnittstellen aufgerufen werden. Ein COM-Server ist jedes Objekt, das Dienste für Clients bereitstellt. Diese Dienste werden in Form von COM-Schnittstellenimplementierungen ausgeführt, die von jedem Client aufgerufen werden können, der einen Zeiger auf eine der Schnittstellen im Serverobjekt abrufen kann.

Es gibt zwei Standard Arten von Servern: "In-Process" und "Out-of-Process". Prozessinterne Server werden in einer dynamischen verknüpften Bibliothek (DLL) implementiert, und Out-of-Process-Server werden in einer ausführbaren Datei (EXE) implementiert. Out-of-Process-Server können sich entweder auf dem lokalen Computer oder auf einem Remotecomputer befinden. Darüber hinaus bietet COM einen Mechanismus, mit dem ein Prozessinterner Server (eine DLL) in einem Ersatz-EXE-Prozess ausgeführt werden kann, um den Vorteil zu nutzen, dass der Prozess auf einem Remotecomputer ausgeführt werden kann. Weitere Informationen finden Sie unter DLL-Ersatzzeichen.

Das COM-Programmiermodell und die Konstrukte wurden nun erweitert, sodass COM-Clients und -Server über das Netzwerk hinweg und nicht nur innerhalb eines bestimmten Computers zusammenarbeiten können. Dies ermöglicht es vorhandenen Anwendungen, mit neuen Anwendungen und miteinander über Netzwerke hinweg mit einer ordnungsgemäßen Verwaltung zu interagieren, und neue Anwendungen können geschrieben werden, um die Netzwerkfunktionen zu nutzen.

COM-Clientanwendungen müssen nicht wissen, wie Serverobjekte verpackt werden, unabhängig davon, ob sie als prozessinterne Objekte (in DLLs) oder als lokale oder Remoteobjekte (in EXEs) gepackt werden. Verteiltes COM ermöglicht außerdem das Verpacken von Objekten als Dienstanwendungen, wodurch COM mit den umfangreichen Verwaltungs- und Systemintegrationsfunktionen von Windows synchronisiert wird.

Hinweis

In dieser Dokumentation wird das Akronym COM bevorzugt für DCOM verwendet. Dies liegt daran, dass DCOM nicht getrennt ist, es ist nur COM mit einem längeren Kabel. In Fällen, in denen es sich bei der Beschreibung um einen Remotevorgang handelt, wird der Begriff verteiltes COM verwendet.

 

COM wurde entwickelt, um die Unterstützung für die Standorttransparenz hinzuzufügen, die sich über ein Netzwerk erstreckt. Es ermöglicht die Ausführung von Anwendungen, die für einzelne Computer in einem Netzwerk geschrieben wurden, und bietet Features, die diese Funktionen erweitern und die erforderliche Sicherheit in einem Netzwerk erhöhen. (Weitere Informationen finden Sie unter Sicherheit in COM.)

COM gibt einen Mechanismus an, mit dem der Klassencode von vielen verschiedenen Anwendungen verwendet werden kann.

Weitere Informationen finden Sie in den folgenden Themen:

Anrufsynchronisierung

Sicherheit in COM