Partage de substitution
Les serveurs DLL partageront un substitut s’ils ont des identités de sécurité correspondantes et partagent la même valeur AppID.
Les serveurs DLL sont chargés, par défaut, dans leur propre processus de substitution. Pour charger d’autres serveurs DLL dans un substitut existant afin qu’il prenne en charge plusieurs serveurs DLL, il existe deux conditions :
- Les serveurs DLL doivent avoir la même valeur AppID.
- Le contexte de sécurité des serveurs DLL doit être le même.
Si deux serveurs DLL doivent être lancés sous des identités de sécurité différentes, ils doivent se trouver dans des substituts différents, que leurs AppID correspondent.
Voici un exemple d’administration du partage de substitution avec des 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
Les deux CLSID pour les composants DLL comp1.dll et comp2.dll ont été configurés pour partager un AppID. La clé AppID spécifie que le serveur DLL peut être chargé dans une substitution en spécifiant la valeur DllSurrogate . Dans cet exemple, la valeur DllSurrogate est une chaîne vide, indiquant que l’implémentation système par défaut du substitut DLL doit être utilisée.
Rubriques connexes