Freigeben über


Suchen eines Remoteobjekts

Mit dem Aufkommen von COM für verteilte Systeme verwendet COM das grundlegende Modell für die Objekterstellung, das unter COM-Klassenobjekte und CLSIDs beschrieben wird, und fügt mehr als eine Möglichkeit hinzu, ein Objekt zu finden, das sich möglicherweise auf einem anderen System in einem Netzwerk befindet, ohne die Clientanwendung zu überlasten.

COM hat Registrierungsschlüssel hinzugefügt, die es einem Server ermöglichen, den Namen des Computers zu registrieren, auf dem er sich befindet, oder des Computers, auf dem sich ein vorhandener Speicher befindet. Daher müssen Clientanwendungen nur die CLSID des Servers kennen.

In Fällen, in denen dies gewünscht ist, hat COM jedoch einen zuvor reservierten Parameter von CoGetClassObject durch eine COSERVERINFO-Struktur ersetzt, die es einem Client ermöglicht, den Speicherort eines Servers anzugeben. Ein weiterer wichtiger Wert in der CoGetClassObject-Funktion ist die CLSCTX-Enumeration , die angibt, ob das erwartete Objekt prozessintern, lokal out-of-process oder out-of-process remote ausgeführt werden soll. Zusammen bestimmen diese beiden Werte und die Werte in der Registrierung, wie und wo das Objekt ausgeführt werden soll.

Hinweis

Instanzerstellungsaufrufe, wenn sie einen Serverspeicherort angeben, können eine Registrierungseinstellung überschreiben. Der Algorithmus, den COM dazu verwendet, wird in der Referenz für die CLSCTX-Enumeration beschrieben.

 

Die Remoteaktivierung hängt von der Sicherheitsbeziehung zwischen Client und Server ab. Weitere Informationen finden Sie unter Sicherheit in COM.

COM-Klassenobjekte und CLSIDs

Erstellen eines Objekts über ein Klassenobjekt