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.
Tópicos relacionados