diff --git a/lib/native/windows-64/jmsoutlookaddrbook.dll b/lib/native/windows-64/jmsoutlookaddrbook.dll index b16b6e94a..b1fd5349b 100755 Binary files a/lib/native/windows-64/jmsoutlookaddrbook.dll and b/lib/native/windows-64/jmsoutlookaddrbook.dll differ diff --git a/lib/native/windows-64/jmsoutlookaddrbookcomserver32.exe b/lib/native/windows-64/jmsoutlookaddrbookcomserver32.exe index b5b9bd778..79abf7c45 100755 Binary files a/lib/native/windows-64/jmsoutlookaddrbookcomserver32.exe and b/lib/native/windows-64/jmsoutlookaddrbookcomserver32.exe differ diff --git a/lib/native/windows-64/jmsoutlookaddrbookcomserver64.exe b/lib/native/windows-64/jmsoutlookaddrbookcomserver64.exe index 4ffee85ec..ac29fb232 100755 Binary files a/lib/native/windows-64/jmsoutlookaddrbookcomserver64.exe and b/lib/native/windows-64/jmsoutlookaddrbookcomserver64.exe differ diff --git a/lib/native/windows/jmsoutlookaddrbook.dll b/lib/native/windows/jmsoutlookaddrbook.dll index 0e2571981..819d081a3 100755 Binary files a/lib/native/windows/jmsoutlookaddrbook.dll and b/lib/native/windows/jmsoutlookaddrbook.dll differ diff --git a/lib/native/windows/jmsoutlookaddrbookcomserver32.exe b/lib/native/windows/jmsoutlookaddrbookcomserver32.exe index 2cf95016e..0ba00f690 100755 Binary files a/lib/native/windows/jmsoutlookaddrbookcomserver32.exe and b/lib/native/windows/jmsoutlookaddrbookcomserver32.exe differ diff --git a/lib/native/windows/jmsoutlookaddrbookcomserver64.exe b/lib/native/windows/jmsoutlookaddrbookcomserver64.exe index 7363bc855..8d9469b2a 100755 Binary files a/lib/native/windows/jmsoutlookaddrbookcomserver64.exe and b/lib/native/windows/jmsoutlookaddrbookcomserver64.exe differ diff --git a/src/native/addrbook/msoutlook/Logger.cxx b/src/native/addrbook/msoutlook/Logger.cxx index c2f951d2d..7e7f2fee3 100644 --- a/src/native/addrbook/msoutlook/Logger.cxx +++ b/src/native/addrbook/msoutlook/Logger.cxx @@ -26,6 +26,12 @@ Logger::Logger(const char* pLogFile, const char* pLogPath, int pLogLevel) memcpy(logPath, pLogPath, strlen(pLogPath) + 1); if(pLogFile != NULL && strlen(pLogFile) != 0) { +// This code enables different log files for every instance of the application. +// char *dateString = (char*)malloc(LOGGER_DATE_STRING_LENGTH*sizeof(char)); +// getCurrentTimeString(dateString); +// logFile = (char*)malloc((strlen(pLogPath) + strlen(pLogFile) + strlen(dateString) + 1)*sizeof(char)); +// sprintf(logFile, "%s%s%s", pLogPath, dateString, pLogFile); +// free(dateString); logFile = (char*)malloc((strlen(pLogPath) + strlen(pLogFile) + 1)*sizeof(char)); sprintf(logFile, "%s%s", pLogPath, pLogFile); file = fopen(logFile, "w"); @@ -73,7 +79,7 @@ void Logger::getCurrentTimeString(char* dateString) { SYSTEMTIME systemTime; GetSystemTime(&systemTime); - sprintf(dateString,"[%u-%02u-%02u %02u:%02u:%02u.%u]", + sprintf(dateString,"%u-%02u-%02u-%02u-%02u-%02u.%u", systemTime.wYear, systemTime.wMonth, systemTime.wDay, diff --git a/src/native/addrbook/msoutlook/MsOutlookAddrBookContactSourceService.cxx b/src/native/addrbook/msoutlook/MsOutlookAddrBookContactSourceService.cxx index e65f02a3f..d6166c804 100644 --- a/src/native/addrbook/msoutlook/MsOutlookAddrBookContactSourceService.cxx +++ b/src/native/addrbook/msoutlook/MsOutlookAddrBookContactSourceService.cxx @@ -8,6 +8,8 @@ #include "MsOutlookAddrBookContactSourceService.h" #include "com/ComClient.h" +#include "com/MsOutlookAddrBookServerClassFactory.h" +#include "com/MsOutlookAddrBookClientClassFactory.h" #include "MAPINotification.h" #include "MAPISession.h" #include "MAPIBitness.h" @@ -436,6 +438,28 @@ HRESULT MsOutlookAddrBookContactSourceService_MAPIInitializeCOMServer(void) MAPISession_lock(); MsOutlookUtils_log("Init com server."); + + IMsOutlookAddrBookServer * ComClient_iServer = NULL; + if((hr = CoInitializeEx(NULL, COINIT_MULTITHREADED)) == S_OK + || hr == S_FALSE) + { + if((hr = CoCreateInstance( + CLSID_MsOutlookAddrBookServer, + NULL, + CLSCTX_LOCAL_SERVER, + IID_IMsOutlookAddrBookServer, + (void**) &ComClient_iServer)) == S_OK) + { + MsOutlookUtils_log("COM Server already started"); + if(ComClient_iServer) + { + ComClient_iServer->Release(); + ComClient_iServer = NULL; + } + return E_FAIL; + } + } + // Start COM service if((hr = MsOutlookAddrBookContactSourceService_startComServer()) == S_OK) {