Método ISurrogate::FreeSurrogate (objidlbase.h)
Descarrega um servidor DLL.
Sintaxe
HRESULT FreeSurrogate();
Retornar valor
Esse método pode retornar os valores de retorno padrão E_UNEXPECTED, E_FAIL e S_OK.
Comentários
O COM chama FreeSurrogate quando não há mais servidores DLL em execução no processo alternativo. Quando FreeSurrogate é chamado, o método deve revogar corretamente todas as fábricas de classes registradas no substituto e, em seguida, fazer com que o processo substituto saia.
Os processos alternativos devem chamar a função CoFreeUnusedLibraries periodicamente para descarregar servidores DLL que não estão mais em uso. O processo alternativo pressupõe essa responsabilidade, que normalmente seria responsabilidade do cliente. CoFreeUnusedLibraries chama a função DllCanUnloadNow em todos os servidores DLL carregados. Como CoFreeUnusedLibraries depende da existência e da implementação adequada de DllCanUnloadNow em servidores DLL, não há garantia de descarregar todos os servidores DLL que devem ser descarregados -- nem todos os servidores implementam DllCanUnloadNow e essa função não é confiável para DLLs de thread livre. Além disso, o substituto não tem como ser informado quando todos os servidores DLL se foram. COM, no entanto, pode determinar quando todos os servidores DLL foram descarregados e chamará o método FreeSurrogate .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | objidlbase.h (inclua ObjIdl.h) |