Freigeben über


CoUninitialize-Funktion (combaseapi.h)

Schließt die COM-Bibliothek im aktuellen Thread, entlädt alle vom Thread geladenen DLLs, gibt alle anderen Ressourcen frei, die der Thread verwaltet, und erzwingt das Schließen aller RPC-Verbindungen im Thread.

Syntax

void CoUninitialize();

Rückgabewert

Keine

Bemerkungen

Ein Thread muss CoUninitialize einmal für jeden erfolgreichen Aufruf der CoInitialize - oder CoInitializeEx-Funktion aufrufen, einschließlich aller Aufrufe, die S_FALSE zurückgeben. Nur der CoUninitialize-Aufruf , der dem CoInitialize - oder CoInitializeEx-Aufruf entspricht, der die Bibliothek initialisiert hat, kann ihn schließen.

Aufrufe von OleInitialize müssen durch Aufrufe von OleUninitialize ausgeglichen werden. Die OleUninitialize-Funktion ruft CoUninitialize intern auf, sodass Anwendungen, die OleUninitialize aufrufen, nicht auch CoUninitialize aufrufen müssen.

CoUninitialize sollte beim Herunterfahren der Anwendung aufgerufen werden, da der letzte Aufruf der COM-Bibliothek erfolgt, nachdem die Anwendung ihre Standard Fenster ausgeblendet hat und die Standard-Nachrichtenschleife durchläuft. Wenn noch offene Unterhaltungen vorhanden sind, startet CoUninitialize eine modale Nachrichtenschleife und sendet alle ausstehenden Nachrichten von den Containern oder dem Server für diese COM-Anwendung. Durch das Senden der Nachrichten stellt CoUninitialize sicher, dass die Anwendung nicht beendet wird, bevor alle ausstehenden Nachrichten empfangen werden. Nicht-COM-Nachrichten werden verworfen.

Da es keine Möglichkeit gibt, die Reihenfolge zu steuern, in der Prozessserver geladen oder entladen werden, rufen Sie CoInitialize, CoInitializeEx oder CoUninitialize nicht über die DllMain-Funktion auf.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile combaseapi.h (include Objbase.h)
Bibliothek Ole32.lib
DLL Ole32.dll

Weitere Informationen

CoInitialize

CoInitializeEx

OleUninitialize