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 |