Método ISurrogate::FreeSurrogate (objidl.h)

Descarga un servidor DLL.

Sintaxis

HRESULT FreeSurrogate();

Valor devuelto

Este método puede devolver los valores devueltos estándar E_UNEXPECTED, E_FAIL y S_OK.

Comentarios

COM llama a FreeSurrogate cuando no hay más servidores DLL que se ejecutan en el proceso suplente. Cuando se llama a FreeSurrogate , el método debe revocar correctamente todas las factorías de clase registradas en el suplente y, a continuación, hacer que el proceso suplente salga.

Los procesos suplentes deben llamar a la función CoFreeUnusedLibraries periódicamente para descargar servidores DLL que ya no estén en uso. El proceso suplente asume esta responsabilidad, que normalmente sería responsabilidad del cliente. CoFreeUnusedLibraries llama a la función DllCanUnloadNow en cualquier servidor DLL cargado. Dado que CoFreeUnusedLibraries depende de la existencia y la implementación adecuada de DllCanUnloadNow en los servidores DLL, no se garantiza que descargue todos los servidores DLL que deben descargarse,-no todos los servidores implementan DllCanUnloadNow y esta función no es confiable para los archivos DLL sin subprocesos. Además, el suplente no tiene forma de informarse cuando todos los servidores DLL han desaparecido. Sin embargo, COM puede determinar cuándo se han descargado todos los servidores DLL y, a continuación, llamará al método FreeSurrogate .

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado objidl.h (incluya ObjIdl.h)

Consulte también

DllSurrogate

ISurrogate

Escribir un suplente personalizado