ISurrogate::FreeSurrogate-Methode (objidlbase.h)
Entlädt einen DLL-Server.
Syntax
HRESULT FreeSurrogate();
Rückgabewert
Diese Methode kann die Standardrückgabewerte E_UNEXPECTED, E_FAIL und S_OK zurückgeben.
Hinweise
COM ruft FreeSurrogate auf, wenn im Ersatzprozess keine weiteren DLL-Server ausgeführt werden. Wenn FreeSurrogate aufgerufen wird, muss die -Methode alle im Ersatzmodell registrierten Klassenfabriken ordnungsgemäß widerrufen und dann das Beenden des Ersatzprozesses bewirken.
Ersatzprozesse müssen die Funktion CoFreeUnusedLibraries regelmäßig aufrufen, um nicht mehr verwendete DLL-Server zu entladen. Der Ersatzprozess übernimmt diese Verantwortung, die normalerweise in der Verantwortung des Kunden liegt. CoFreeUnusedLibraries ruft die DllCanUnloadNow-Funktion auf allen geladenen DLL-Servern auf. Da CoFreeUnusedLibraries von der Existenz und der ordnungsgemäßen Implementierung von DllCanUnloadNow auf DLL-Servern abhängt, ist es nicht garantiert, dass alle DLL-Server entladen werden, die entladen werden sollen. Nicht jeder Server implementiert DllCanUnloadNow, und diese Funktion ist für Freethread-DLLs unzuverlässig. Darüber hinaus hat der Ersatz keine Möglichkeit, informiert zu werden, wenn alle DLL-Server weg sind. COM kann jedoch bestimmen, wann alle DLL-Server entladen wurden, und ruft dann die FreeSurrogate-Methode auf.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | objidlbase.h (include ObjIdl.h) |