Condividi tramite


Funzione CoUninitialize (combaseapi.h)

Chiude la libreria COM nel thread corrente, scarica tutte le DLL caricate dal thread, libera tutte le altre risorse gestite dal thread e forza la chiusura di tutte le connessioni RPC nel thread.

Sintassi

void CoUninitialize();

Valore restituito

nessuno

Osservazioni

Un thread deve chiamare CoUninitialize una volta per ogni chiamata riuscita effettuata alla funzione CoInitialize o CoInitializeEx , inclusa qualsiasi chiamata che restituisce S_FALSE. Solo la chiamata CoUninitialize corrispondente alla chiamata CoInitialize o CoInitializeEx che ha inizializzato la libreria può chiuderla.

Le chiamate a OleInitialize devono essere bilanciate dalle chiamate a OleUninitialize. La funzione OleUninitialize chiama internamente CoUninitialize , quindi le applicazioni che chiamano OleUninitialize non devono chiamare coUninitialize.

La coUninitialize deve essere chiamata all'arresto dell'applicazione, come ultima chiamata effettuata alla libreria COM dopo che l'applicazione nasconde le finestre principali e attraversa il ciclo di messaggi principale. Se sono rimanenti conversazioni aperte, CoUninitialize avvia un ciclo di messaggi modali e invia eventuali messaggi in sospeso dai contenitori o dal server per questa applicazione COM. Inviando i messaggi, CoUninitialize garantisce che l'applicazione non venga chiusa prima di ricevere tutti i messaggi in sospeso. I messaggi non COM vengono eliminati.

Poiché non è possibile controllare l'ordine in cui i server in-process vengono caricati o scaricati, non chiamare CoInitialize, CoInitializeEx o CoUninitialize dalla funzione DllMain .

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [app desktop | App UWP]
Server minimo supportato Windows 2000 Server [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione combaseapi.h (include Objbase.h)
Libreria Ole32.lib
DLL Ole32.dll

Vedi anche

Coinitialize

CoInitializeEx

OleUninitialize