This function closes the OLE Component Object Model (COM) library, freeing any resources that it maintains.
A thread must call CoUninitialize once for each successful call it has made to CoInitializeEx. Only the CoUninitialize call corresponding to the CoInitializeEx call that initialized the library can close it.
CoUninitialize should be called on application shutdown, as the last call made to the COM library after the application hides its main windows and falls through its main message loop. If there are open conversations remaining, CoUninitialize starts a modal message loop and dispatches any pending messages from the containers or server for this COM application. By dispatching the messages, CoUninitialize ensures that the application does not quit before receiving all of its pending messages. Non-COM messages are discarded.
To determine whether the platform supports this function, see Determining Supported COM APIs.