Partilhar via


Registrando o servidor DLL para ativação substituta

Um servidor DLL será carregado em um processo substituto sob as seguintes condições:

Se houver um LocalServer, LocalServer32 ou LocalService, indicando a existência de um EXE, o servidor ou serviço EXE sempre será iniciado em preferência ao carregamento de um servidor DLL em um processo substituto.

O valor nomeado DllSurrogate precisa ser especificado para que a ativação substituta ocorra. A ativação refere-se a chamadas para qualquer uma das seguintes funções de ativação:

Para iniciar uma instância do substituto fornecido pelo sistema, defina o valor de DllSurrogate como uma cadeia de caracteres vazia ou como NULL. Para especificar a inicialização de um substituto personalizado, defina o valor para o caminho do substituto.

Se RemoteServerName e DllSurrogate forem ambos especificados para o mesmo AppID, o valor RemoteServerName será ignorado e o valor DllSurrogate causará uma ativação no computador local. Para ativação substituta remota, especifique RemoteServerName, mas não DllSurrogate no cliente e especifique DllSurrogate no servidor.

Um servidor DLL projetado para ser executado sempre sozinho no processo substituto dele é melhor configurado com um AppID igual ao CLSID. Em AppID, basta especificar um valor nomeado DllSurrogate com um valor de cadeia de caracteres vazio.

É melhor configurar um servidor DLL projetado para ser executado sozinho no processo substituto dele e para atender vários clientes em uma rede com um valor RunAs especificado na chave do Registro AppID. Se o RunAs especifica "Usuário interativo" ou uma identidade de usuário específica depende da interface do usuário, da segurança e de outros requisitos do servidor. Quando um valor RunAs é especificado, apenas uma instância do servidor é carregada para atender a todos os clientes, independentemente da identidade do cliente. Por outro lado, não configure o servidor com RunAs se a intenção for ter uma instância do servidor DLL em execução substituta para atender a cada identidade de cliente remoto.

Requisitos do servidor DLL

Compartilhamento substituto