Compartilhar via


Localizando um objeto remoto

Com o advento do COM para sistemas distribuídos, o COM usa o modelo básico para a criação de objetos descrito em Objetos de classe COM e CLSIDs e adiciona mais de uma maneira de localizar um objeto que pode residir em outro sistema em uma rede, sem sobrecarregar o aplicativo cliente.

A COM adicionou chaves do Registro que permitem que um servidor registre o nome da máquina na qual reside ou da máquina onde um armazenamento existente está localizado. Portanto, os aplicativos cliente precisam saber apenas o CLSID do servidor.

No entanto, para os casos em que ele é desejado, COM substituiu um parâmetro anteriormente reservado de CoGetClassObject por uma estrutura COSERVERINFO, que permite que um cliente especifique o local de um servidor. Outro valor importante na função CoGetClassObject é a enumeração CLSCTX, que especifica se o objeto esperado deve ser executado em processo, local fora de processo ou remoto fora de processo. Tomados juntos, esses dois valores e os valores no registro determinam como e onde o objeto deve ser executado.

Observação

As chamadas de criação de instância, quando especificam um local de servidor, podem substituir uma configuração do Registro. O algoritmo que COM usa para fazer isso é descrito na referência para a enumeração CLSCTX.

 

A ativação remota depende da relação de segurança entre cliente e servidor. Para obter mais informações, consulte Segurança em COM.

Objetos de classe COM e CLSIDs

Criando um objeto por meio de um objeto de classe