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 |