Partilhar via


Localizando um objeto remoto

Com o advento do COM para sistemas distribuídos, o COM usa o modelo básico para criação de objetos descrito em COM Class Objects 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.

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

No entanto, para os casos em que é desejado, COM substituiu um parâmetro anteriormente reservado de CoGetClassObject por uma estrutura deCOSERVERINFO, 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, fora-do-processo local ou fora-do-processo remoto. 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 registo. O algoritmo que COM usa para fazer isso é descrito na referência para a CLSCTX enumeração.

 

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

Objetos de classe COM e CLSIDs

Criando um objeto por meio de um objeto de classe