Compartilhar via


Compartilhamento substituto

Os servidores DLL compartilharão um substituto se tiverem identidades de segurança correspondentes e compartilharem o mesmo valor AppID.

Os servidores DLL são carregados, por padrão, em seu próprio processo substituto. Para carregar outros servidores DLL em um substituto existente para que ele ofereça suporte a mais de um servidor DLL, há dois requisitos:

  • Os servidores DLL devem ter o mesmo valor AppID.
  • O contexto de segurança dos servidores DLL deve ser o mesmo.

Se dois servidores DLL devem ser iniciados sob identidades de segurança diferentes, eles devem estar em substitutos diferentes, independentemente de seus AppIDs corresponderem.

Veja a seguir um exemplo de administração de compartilhamento substituto com AppIDs:

    AppID
        {00001111-aaaa-2222-bbbb-3333cccc4444}
            @DllSurrogate    REG_SZ
    CLSID
        {12345678-0000-0000-0000-000000000001}
            @AppId    REG_SZ    {00001111-aaaa-2222-bbbb-3333cccc4444}
            InProcServer32
    @    REG_SZ    c:\myapp\comp1.dll
        {12345678-0000-0000-0000-000000000002}
            @AppId    REG_SZ    {00001111-aaaa-2222-bbbb-3333cccc4444}
            InProcServer32
    @    REG_SZ    c:\myapp\comp2.dll
 

Os dois CLSIDs para componentes DLL comp1.dll e comp2.dll foram configurados para compartilhar um AppID. A chave AppID especifica que o servidor DLL pode ser carregado em um substituto especificando o valor DllSurrogate . Neste exemplo, o valor DllSurrogate é uma cadeia de caracteres vazia, indicando que a implementação de sistema padrão do substituto de DLL deve ser usada.

Requisitos do servidor DLL

Registrando o servidor DLL para ativação substituta