Verwenden des System-Supplied Ersatzzeichens
Um das vom System bereitgestellte Ersatzzeichen für Ihren DLL-Server zu verwenden, registrieren Sie die DLL, indem Sie eine leere Zeichenfolge oder NULL für den DllSurrogate-Wert in der Registrierung angeben. Wenn eine Aktivierungsanforderung für einen so festgelegten DLL-Server an COM gesendet wird, startet COM gleichzeitig den Standard-Ersatzprozess und die angeforderte DLL (indem die CLSID intern in der Startbefehlszeile angegeben wird), um einen separaten Aufruf zu vermeiden. (Informationen zum Ausführen von mehr als einem DLL-Server in einem Ersatzzeichenprozess finden Sie unter Ersatzfreigabe.)
Die Standardimplementierung des Ersatzzeichenprozesses ist ein Pseudo-COM-Server im Mixed Threading-Modellstil. Wenn mehrere DLL-Server in einen einzelnen Ersatzprozess geladen werden, stellt dieser Prozess sicher, dass jeder DLL-Server mithilfe des threading-Modells instanziiert wird, das in der Registrierung für diesen Server angegeben ist. Alle geladenen Freethreadserver befinden sich im Multithread-Apartment zusammen, während sich jeder Apartmentthreadserver in einem Singlethread-Apartment befindet. Wenn ein DLL-Server beide Threadingmodelle unterstützt, wählt COM Multithreading aus.
Dieser Ersatzprozess wird so geschrieben, dass COM sowohl das Entladen von DLL-Servern als auch das Beenden des Ersatzzeichenprozesses verarbeitet.
Das vom System bereitgestellte Ersatzzeichen funktioniert für die meisten Entwickler sehr gut und ist auch sehr einfach zu verwenden. Entwickler mit besonderen Überlegungen können jedoch entscheiden, dass ein benutzerdefiniertes Ersatzzeichen erforderlich ist. Weitere Informationen finden Sie unter Schreiben eines benutzerdefinierten Ersatzzeichens.