diff options
Diffstat (limited to 'src/native/addrbook/msoutlook/com/server/Server.cxx')
-rw-r--r-- | src/native/addrbook/msoutlook/com/server/Server.cxx | 7 |
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); } /** |