Condividi tramite


Registrazione del server DLL per l'attivazione surrogata

Un server DLL verrà caricato in un processo surrogato nelle condizioni seguenti:

Se è presente un LocalServer, LocalServer32 o LocalService, che indica l'esistenza di un file EXE, il server EXE o il servizio verrà sempre avviato in modo da caricare un server DLL in un processo surrogato.

Per l'attivazione del surrogato, è necessario specificare il valore denominato DllSurrogate . L'attivazione si riferisce alle chiamate a una delle funzioni di attivazione seguenti:

Per avviare un'istanza del surrogato fornito dal sistema, impostare il valore di DllSurrogate su una stringa vuota o su NULL. Per specificare l'avvio di un surrogato personalizzato, impostare il valore sul percorso del surrogato.

Se per lo stesso AppID vengono specificati sia RemoteServerName che DllSurrogate, il valore RemoteServerName viene ignorato e il valore DllSurrogate causa un'attivazione nel computer locale. Per l'attivazione surrogata remota, specificare RemoteServerName ma non DllSurrogate nel client e specificare DllSurrogate nel server.

Un server DLL progettato per essere sempre eseguito da solo nel proprio processo surrogato è meglio configurato con un Id AppID uguale al relativo CLSID. In AppID specificare semplicemente un valore denominato-value DllSurrogate con un valore stringa vuoto.

È consigliabile configurare un server DLL progettato per essere eseguito da solo nel proprio processo surrogato e per gestire più client in una rete con un valore RunAs specificato nella chiave del Registro di sistema AppID . Il fatto che RunAs specifichi "Interactive User" o un'identità utente specifica dipende dall'interfaccia utente, dalla sicurezza e da altri requisiti del server. Quando si specifica un valore RunAs , viene caricata una sola istanza del server per il servizio di tutti i client, indipendentemente dall'identità del client. D'altra parte, non configurare il server con RunAs se l'intenzione è quella di avere un'istanza del server DLL in esecuzione nel surrogato per gestire ogni identità client remota.

Requisiti del server DLL

Condivisione surrogata