Share via


Condivisione surrogata

I server DLL condivideranno un surrogato se hanno identità di sicurezza corrispondenti e condividono lo stesso valore AppID.

I server DLL vengono caricati, per impostazione predefinita, nel proprio processo surrogato. Per caricare altri server DLL in un surrogato esistente in modo che supporti più server DLL, esistono due requisiti:

  • I server DLL devono avere lo stesso valore AppID.
  • Il contesto di sicurezza dei server DLL deve essere lo stesso.

Se due server DLL devono essere avviati con identità di sicurezza diverse, devono trovarsi in surrogati diversi, indipendentemente dal fatto che i relativi ID App corrispondano.

Di seguito è riportato un esempio di amministrazione della condivisione di surrogati con AppID:

    AppID
        {12345678-0000-0000-0000-abcdabcdabcd}
            @DllSurrogate    REG_SZ
    CLSID
        {12345678-0000-0000-0000-000000000001}
            @AppId    REG_SZ    {12345678-0000-0000-0000-abcdabcdabcd}
            InProcServer32
    @    REG_SZ    c:\myapp\comp1.dll
        {12345678-0000-0000-0000-000000000002}
            @AppId    REG_SZ    {12345678-0000-0000-0000-abcdabcdabcd}
            InProcServer32
    @    REG_SZ    c:\myapp\comp2.dll
 

I due CLSID per i componenti DLL comp1.dll e comp2.dll sono stati configurati per condividere un AppID. La chiave AppID specifica che il server DLL può essere caricato in un surrogato specificando il valore DllSurrogate . In questo esempio, il valore DllSurrogate è una stringa vuota, che indica che deve essere usata l'implementazione di sistema predefinita del surrogato DLL.

Requisiti del server DLL

Registrazione del server DLL per l'attivazione surrogata