Compartilhar via


Função CoUninitialize (combaseapi.h)

Fecha a biblioteca COM no thread atual, descarrega todas as DLLs carregadas pelo thread, libera todos os outros recursos que o thread mantém e força o fechamento de todas as conexões RPC no thread.

Sintaxe

void CoUninitialize();

Retornar valor

Nenhum

Comentários

Um thread deve chamar CoUninitialize uma vez para cada chamada bem-sucedida feita para a função CoInitialize ou CoInitializeEx , incluindo qualquer chamada que retorne S_FALSE. Somente a chamada CoUninitialize correspondente à chamada CoInitialize ou CoInitializeEx que inicializou a biblioteca pode fechá-la.

As chamadas para OleInitialize devem ser balanceadas por chamadas para OleUninitialize. A função OleUninitialize chama CoUninitialize internamente, para que os aplicativos que chamam OleUninitialize também não precisem chamar CoUninitialize.

CoUninitialize deve ser chamado no desligamento do aplicativo, pois a última chamada feita à biblioteca COM depois que o aplicativo oculta suas janelas main e cai em seu loop de mensagem main. Se houver conversas abertas restantes, CoUninitialize iniciará um loop de mensagem modal e enviará todas as mensagens pendentes dos contêineres ou do servidor para este aplicativo COM. Ao expedir as mensagens, o CoUninitialize garante que o aplicativo não seja encerrado antes de receber todas as suas mensagens pendentes. Mensagens não COM são descartadas.

Como não há como controlar a ordem na qual os servidores em processo são carregados ou descarregados, não chame CoInitialize, CoInitializeEx ou CoUninitialize da função DllMain .

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 combaseapi.h (inclua Objbase.h)
Biblioteca Ole32.lib
DLL Ole32.dll

Confira também

Coinitialize

Coinitializeex

OleUninitialize