다음을 통해 공유


CoUninitialize 함수(combaseapi.h)

현재 스레드에서 COM 라이브러리를 닫고, 스레드에 의해 로드된 모든 DLL을 언로드하고, 스레드가 유지 관리하는 다른 모든 리소스를 해제하고, 스레드의 모든 RPC 연결을 강제로 닫습니다.

구문

void CoUninitialize();

반환 값

없음

설명

스레드는 S_FALSE 반환하는 호출을 포함하여 CoInitialize 또는 CoInitializeEx 함수에 대해 성공한 각 호출에 대해 CoUninitialize를 한 번 호출해야 합니다. 라이브러리를 초기화한 CoInitialize 또는 CoInitializeEx 호출에 해당하는 CoUninitialize 호출만 닫을 수 있습니다.

OleInitialize에 대한 호출은 OleUninitialize 호출에 의해 균형을 유지해야 합니다. OleUninitialize 함수는 내부적으로 CoUninitialize를 호출하므로 OleUninitialize를 호출하는 애플리케이션도 CoUninitialize를 호출할 필요가 없습니다.

애플리케이션이 기본 창을 숨기고 기본 메시지 루프를 통과한 후 COM 라이브러리에 대한 마지막 호출이 수행되기 때문에 애플리케이션 종료 시 CoUninitialize를 호출해야 합니다. 열려 있는 대화가 남아 있는 경우 CoUninitialize 는 모달 메시지 루프를 시작하고 이 COM 애플리케이션의 컨테이너 또는 서버에서 보류 중인 메시지를 디스패치합니다. 메시지를 디스패치하면 CoUninitialize 는 보류 중인 모든 메시지를 수신하기 전에 애플리케이션이 종료되지 않도록 합니다. COM이 아닌 메시지는 삭제됩니다.

In Process 서버가 로드되거나 언로드되는 순서를 제어할 수 있는 방법이 없으므로 DllMain 함수에서 CoInitialize, CoInitializeEx 또는 CoUninitialize를 호출하지 마세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows 2000 Server [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 combaseapi.h(Objbase.h 포함)
라이브러리 Ole32.lib
DLL Ole32.dll

추가 정보

CoInitialize

CoInitializeEx

OleUninitialize