Freigeben über


COM-Clients und -Server

Ein wichtiger Aspekt von COM ist die Interaktion von Clients und Servern. Ein COM-Client ist der Code oder das Objekt, der einen Zeiger auf einen COM-Server abruft und seine Dienste verwendet, indem die Methoden der Schnittstellen aufgerufen werden. Ein COM-Server ist jedes Objekt, das Dienste für Clients bereitstellt; Diese Dienste befinden sich in Form von COM-Schnittstellenimplementierungen, die von jedem Client aufgerufen werden können, der einen Zeiger auf eine der Schnittstellen auf dem Serverobjekt abrufen kann.

Es gibt zwei Haupttypen von Servern, prozessinternen und out-of-Process-. In-Process-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 stellt COM einen Mechanismus bereit, mit dem ein In-Process-Server (eine DLL) in einem Ersatz-EXE-Prozess ausgeführt werden kann, um den Vorteil zu erhalten, dass der Prozess auf einem Remotecomputer ausgeführt werden kann. Weitere Informationen finden Sie unter DLL-Surrogates.

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

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

Anmerkung

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 Draht. In Fällen, in denen es sich um einen speziellen Remotevorgang handelt, wird der Begriff verteilten COM- verwendet.

 

COM wurde entwickelt, um die Unterstützung für Standorttransparenz hinzuzufügen, die sich über ein Netzwerk erstreckt. Es ermöglicht Anwendungen, die für einzelne Computer geschrieben wurden, über ein Netzwerk hinweg auszuführen, und bietet Features, die diese Funktionen erweitern und der Sicherheit in einem Netzwerk hinzufügen. (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-