aboutsummaryrefslogtreecommitdiffstats
path: root/src/native/addrbook/msoutlook/com/server/Server.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/native/addrbook/msoutlook/com/server/Server.cxx')
-rw-r--r--src/native/addrbook/msoutlook/com/server/Server.cxx7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/native/addrbook/msoutlook/com/server/Server.cxx b/src/native/addrbook/msoutlook/com/server/Server.cxx
index d33c1b4..6ffb503 100644
--- a/src/native/addrbook/msoutlook/com/server/Server.cxx
+++ b/src/native/addrbook/msoutlook/com/server/Server.cxx
@@ -44,6 +44,7 @@ int main(int argc, char** argv)
(void*) Server_updated)
!= S_OK)
{
+ CoUninitialize();
return hr;
}
@@ -60,6 +61,7 @@ int main(int argc, char** argv)
waitParentProcessStop();
hr = ::CoSuspendClassObjects();
+ hr = classObject->revokeClassObject();
classObject->Release();
}
@@ -68,6 +70,8 @@ int main(int argc, char** argv)
MsOutlookAddrBookContactSourceService_NativeMAPIUninitialize();
MAPISession_freeLock();
+ CoUninitialize();
+
return hr;
}
@@ -107,13 +111,14 @@ void waitParentProcessStop()
WaitForSingleObject(parentHandle, INFINITE);
GetExitCodeProcess(parentHandle, &exitCode);
}
+ CloseHandle(parentHandle);
return;
}
}
while(Process32Next(handle, &processEntry));
}
+ CloseHandle(handle);
}
- CloseHandle(handle);
}
/**