Share via


Utilisation du substitut System-Supplied

Pour utiliser le substitut fourni par le système pour votre serveur DLL, inscrivez la DLL en spécifiant une chaîne vide ou NULL pour la valeur DllSurrogate dans le Registre. Lorsqu’une demande d’activation pour un serveur DLL ainsi désigné parvient à COM, COM lance le processus de substitution par défaut et la DLL demandée (en spécifiant le CLSID sur la ligne de commande de lancement en interne) en même temps pour éviter un appel distinct. (Pour plus d’informations sur l’exécution de plusieurs serveurs DLL dans un processus de substitution, consultez Partage de substitution.)

L’implémentation par défaut du processus de substitution est un serveur pseudo-COM de style de modèle de thread mixte. Lorsque plusieurs serveurs DLL sont chargés dans un seul processus de substitution, ce processus garantit que chaque serveur DLL est instancié à l’aide du modèle de thread spécifié dans le Registre pour ce serveur. Tous les serveurs à threads libres chargés vivront ensemble dans l’appartement multithread, tandis que chaque serveur avec thread d’appartement résidera dans un appartement à thread unique. Si un serveur DLL prend en charge les deux modèles de thread, COM choisit le multithreading.

Ce processus de substitution est écrit afin que COM gère à la fois le déchargement des serveurs DLL et l’arrêt du processus de substitution.

Le substitut fourni par le système fonctionnera très bien pour la plupart des développeurs, en plus d’être très facile à utiliser. Toutefois, les développeurs ayant des considérations particulières peuvent décider qu’un substitut personnalisé est nécessaire. Pour plus d’informations, consultez Écriture d’un substitut personnalisé.

Substitutions DLL