Compartilhar via


DllSurrogate

Permite que os servidores DLL sejam executados em um processo substituto. Se uma cadeia de caracteres vazia for especificada, o substituto fornecido pelo sistema será usado; caso contrário, o valor especifica o caminho do substituto a ser usado.

Entrada do Registro

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID
   {AppID_GUID}
      DllSurrogate = path

Comentários

Esse é um valor de REG_SZ que especifica que a classe é uma DLL que deve ser ativada em um processo substituto e o processo substituto a ser usado. Para usar o processo substituto genérico fornecido pelo sistema, defina o caminho para uma cadeia de caracteres vazia ou NULL. Para especificar outro processo substituto, defina o caminho para o caminho do substituto. Como na especificação do caminho de um servidor sob a chave LocalServer32 , uma especificação de caminho completo não é necessária. O substituto deve ser escrito para se comunicar corretamente com o serviço DCOM, conforme descrito em Escrevendo um substituto personalizado.

O valor DllSurrogate deve estar presente para que um servidor DLL seja ativado em um substituto. A ativação refere-se a uma chamada para CoGetClassObject, CoCreateInstanceEx, CoCreateInstanceEx, CoGetInstanceFromFile, CoGetInstanceFromIStorage ou IMoniker::BindToObject. A execução de DLLs em um processo substituto fornece os benefícios de uma implementação executável, incluindo isolamento de falhas, a capacidade de atender vários clientes simultaneamente e permitir que o servidor forneça serviços a clientes remotos em um ambiente distribuído.

CoRegisterSurrogate

Substitutos da DLL

DllSurrogateExecutável

ISurrogate