summaryrefslogtreecommitdiffstats
path: root/tinyDAV/src/tdav_win32.c
diff options
context:
space:
mode:
Diffstat (limited to 'tinyDAV/src/tdav_win32.c')
-rwxr-xr-xtinyDAV/src/tdav_win32.c224
1 files changed, 112 insertions, 112 deletions
diff --git a/tinyDAV/src/tdav_win32.c b/tinyDAV/src/tdav_win32.c
index 789fc77..731e04a 100755
--- a/tinyDAV/src/tdav_win32.c
+++ b/tinyDAV/src/tdav_win32.c
@@ -7,12 +7,12 @@
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
-*
+*
* DOUBANGO is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
-*
+*
* You should have received a copy of the GNU General Public License
* along with DOUBANGO.
*
@@ -39,7 +39,7 @@ Version Number Description
6.2 Windows 8 / Windows Server 2012
6.1 Windows 7 / Windows 2008 R2
6.0 Windows Vista / Windows 2008
-5.2 Windows 2003
+5.2 Windows 2003
5.1 Windows XP
5.0 Windows 2000
*/
@@ -49,13 +49,13 @@ static DWORD dwMinorVersion = -1;
#if (TDAV_UNDER_WINDOWS_RT || TDAV_UNDER_WINDOWS_CE)
const HMODULE GetCurrentModule()
{
- return NULL;
+ return NULL;
}
#else
const HMODULE GetCurrentModule()
{
- HMODULE hm = {0};
- GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS, (LPCTSTR)GetCurrentModule, &hm);
+ HMODULE hm = {0};
+ GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS, (LPCTSTR)GetCurrentModule, &hm);
return hm;
}
#endif /* !(TDAV_UNDER_WINDOWS_RT || TDAV_UNDER_WINDOWS_CE) */
@@ -63,172 +63,172 @@ const HMODULE GetCurrentModule()
int tdav_win32_init()
{
#if !TDAV_UNDER_WINDOWS_RT
- MMRESULT result;
-
+ MMRESULT result;
+
#if !TDAV_UNDER_WINDOWS_CE
- CoInitializeEx(NULL, COINIT_MULTITHREADED);
+ CoInitializeEx(NULL, COINIT_MULTITHREADED);
#endif
- // Timers accuracy
- result = timeBeginPeriod(1);
- if (result) {
- TSK_DEBUG_ERROR("timeBeginPeriod(1) returned result=%u", result);
- }
-
- // Get OS version
- if(dwMajorVersion == -1 || dwMinorVersion == -1){
- OSVERSIONINFO osvi;
- ZeroMemory(&osvi, sizeof(OSVERSIONINFO));
- osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
- GetVersionEx(&osvi);
- dwMajorVersion = osvi.dwMajorVersion;
- dwMinorVersion = osvi.dwMinorVersion;
+ // Timers accuracy
+ result = timeBeginPeriod(1);
+ if (result) {
+ TSK_DEBUG_ERROR("timeBeginPeriod(1) returned result=%u", result);
+ }
+
+ // Get OS version
+ if(dwMajorVersion == -1 || dwMinorVersion == -1) {
+ OSVERSIONINFO osvi;
+ ZeroMemory(&osvi, sizeof(OSVERSIONINFO));
+ osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
+ GetVersionEx(&osvi);
+ dwMajorVersion = osvi.dwMajorVersion;
+ dwMinorVersion = osvi.dwMinorVersion;
#if TDAV_UNDER_WINDOWS_CE && (BUILD_TYPE_GE && SIN_CITY)
- TSK_DEBUG_INFO("Windows dwMajorVersion=%ld, dwMinorVersion=%ld\n", dwMajorVersion, dwMinorVersion);
+ TSK_DEBUG_INFO("Windows dwMajorVersion=%ld, dwMinorVersion=%ld\n", dwMajorVersion, dwMinorVersion);
#else
- fprintf(stdout, "Windows dwMajorVersion=%ld, dwMinorVersion=%ld\n", dwMajorVersion, dwMinorVersion);
+ fprintf(stdout, "Windows dwMajorVersion=%ld, dwMinorVersion=%ld\n", dwMajorVersion, dwMinorVersion);
#endif
- }
+ }
#endif
- return 0;
+ return 0;
}
int tdav_win32_get_osversion(unsigned long* version_major, unsigned long* version_minor)
{
- if (version_major) {
- *version_major = dwMajorVersion;
- }
- if (version_minor) {
- *version_minor = dwMinorVersion;
- }
- return 0;
+ if (version_major) {
+ *version_major = dwMajorVersion;
+ }
+ if (version_minor) {
+ *version_minor = dwMinorVersion;
+ }
+ return 0;
}
tsk_bool_t tdav_win32_is_win8_or_later()
{
- if (dwMajorVersion == -1 || dwMinorVersion == -1) {
- TSK_DEBUG_ERROR("Version numbers are invalid");
- return tsk_false;
- }
- return ((dwMajorVersion > 6) || ((dwMajorVersion == 6) && (dwMinorVersion >= 2)));
+ if (dwMajorVersion == -1 || dwMinorVersion == -1) {
+ TSK_DEBUG_ERROR("Version numbers are invalid");
+ return tsk_false;
+ }
+ return ((dwMajorVersion > 6) || ((dwMajorVersion == 6) && (dwMinorVersion >= 2)));
}
tsk_bool_t tdav_win32_is_win7_or_later()
{
- if (dwMajorVersion == -1 || dwMinorVersion == -1) {
- TSK_DEBUG_ERROR("Version numbers are invalid");
- return tsk_false;
- }
- return ( (dwMajorVersion > 6) || ( (dwMajorVersion == 6) && (dwMinorVersion >= 1) ) );
+ if (dwMajorVersion == -1 || dwMinorVersion == -1) {
+ TSK_DEBUG_ERROR("Version numbers are invalid");
+ return tsk_false;
+ }
+ return ( (dwMajorVersion > 6) || ( (dwMajorVersion == 6) && (dwMinorVersion >= 1) ) );
}
tsk_bool_t tdav_win32_is_winvista_or_later()
{
- if (dwMajorVersion == -1 || dwMinorVersion == -1) {
- TSK_DEBUG_ERROR("Version numbers are invalid");
- return tsk_false;
- }
- return (dwMajorVersion >= 6);
+ if (dwMajorVersion == -1 || dwMinorVersion == -1) {
+ TSK_DEBUG_ERROR("Version numbers are invalid");
+ return tsk_false;
+ }
+ return (dwMajorVersion >= 6);
}
tsk_bool_t tdav_win32_is_winxp_or_later()
{
- if (dwMajorVersion == -1 || dwMinorVersion == -1) {
- TSK_DEBUG_ERROR("Version numbers are invalid");
- return tsk_false;
- }
- return ( (dwMajorVersion > 5) || ( (dwMajorVersion == 5) && (dwMinorVersion >= 1) ) );
+ if (dwMajorVersion == -1 || dwMinorVersion == -1) {
+ TSK_DEBUG_ERROR("Version numbers are invalid");
+ return tsk_false;
+ }
+ return ( (dwMajorVersion > 5) || ( (dwMajorVersion == 5) && (dwMinorVersion >= 1) ) );
}
const char* tdav_get_current_directory_const()
{
#if TDAV_UNDER_WINDOWS_RT
- TSK_DEBUG_ERROR("Not supported");
- return tsk_null;
+ TSK_DEBUG_ERROR("Not supported");
+ return tsk_null;
#else
- static char CURRENT_DIR_PATH[MAX_PATH] = { 0 };
- static DWORD CURRENT_DIR_PATH_LEN = 0;
- if (CURRENT_DIR_PATH_LEN == 0) {
- // NULL HMODULE will get the path to the executable not the DLL. When runing the code in Internet Explorer this is a BIG issue as the path is where IE.exe is installed.
+ static char CURRENT_DIR_PATH[MAX_PATH] = { 0 };
+ static DWORD CURRENT_DIR_PATH_LEN = 0;
+ if (CURRENT_DIR_PATH_LEN == 0) {
+ // NULL HMODULE will get the path to the executable not the DLL. When runing the code in Internet Explorer this is a BIG issue as the path is where IE.exe is installed.
#if TDAV_UNDER_WINDOWS_CE
- static wchar_t TMP_CURRENT_DIR_PATH[MAX_PATH] = { 0 };
- if ((CURRENT_DIR_PATH_LEN = GetModuleFileName(GetCurrentModule(), TMP_CURRENT_DIR_PATH, sizeof(TMP_CURRENT_DIR_PATH)))) {
- if ((CURRENT_DIR_PATH_LEN = wcstombs(CURRENT_DIR_PATH, TMP_CURRENT_DIR_PATH, sizeof(CURRENT_DIR_PATH) - 1))) {
- int idx = tsk_strLastIndexOf(CURRENT_DIR_PATH, CURRENT_DIR_PATH_LEN, "\\");
- if (idx > -1) {
- CURRENT_DIR_PATH[idx] = '\0';
- CURRENT_DIR_PATH_LEN = idx;
- }
- }
- }
+ static wchar_t TMP_CURRENT_DIR_PATH[MAX_PATH] = { 0 };
+ if ((CURRENT_DIR_PATH_LEN = GetModuleFileName(GetCurrentModule(), TMP_CURRENT_DIR_PATH, sizeof(TMP_CURRENT_DIR_PATH)))) {
+ if ((CURRENT_DIR_PATH_LEN = wcstombs(CURRENT_DIR_PATH, TMP_CURRENT_DIR_PATH, sizeof(CURRENT_DIR_PATH) - 1))) {
+ int idx = tsk_strLastIndexOf(CURRENT_DIR_PATH, CURRENT_DIR_PATH_LEN, "\\");
+ if (idx > -1) {
+ CURRENT_DIR_PATH[idx] = '\0';
+ CURRENT_DIR_PATH_LEN = idx;
+ }
+ }
+ }
#else
- if ((CURRENT_DIR_PATH_LEN = GetModuleFileNameA(GetCurrentModule(), CURRENT_DIR_PATH, sizeof(CURRENT_DIR_PATH)))) {
- if (!PathRemoveFileSpecA(CURRENT_DIR_PATH)) {
- TSK_DEBUG_ERROR("PathRemoveFileSpec(%s) failed: %x", CURRENT_DIR_PATH, GetLastError());
- memset(CURRENT_DIR_PATH, 0, sizeof(CURRENT_DIR_PATH));
- CURRENT_DIR_PATH_LEN = 0;
- }
- }
+ if ((CURRENT_DIR_PATH_LEN = GetModuleFileNameA(GetCurrentModule(), CURRENT_DIR_PATH, sizeof(CURRENT_DIR_PATH)))) {
+ if (!PathRemoveFileSpecA(CURRENT_DIR_PATH)) {
+ TSK_DEBUG_ERROR("PathRemoveFileSpec(%s) failed: %x", CURRENT_DIR_PATH, GetLastError());
+ memset(CURRENT_DIR_PATH, 0, sizeof(CURRENT_DIR_PATH));
+ CURRENT_DIR_PATH_LEN = 0;
+ }
+ }
#endif /* TDAV_UNDER_WINDOWS_CE */
- if (!CURRENT_DIR_PATH_LEN) {
- TSK_DEBUG_ERROR("GetModuleFileNameA() failed: %x", GetLastError());
- }
- }
- return CURRENT_DIR_PATH;
+ if (!CURRENT_DIR_PATH_LEN) {
+ TSK_DEBUG_ERROR("GetModuleFileNameA() failed: %x", GetLastError());
+ }
+ }
+ return CURRENT_DIR_PATH;
#endif /* TDAV_UNDER_WINDOWS_RT */
}
TINYDAV_API void tdav_win32_print_error(const char* func, HRESULT hr)
{
- CHAR message[1024] = {0};
+ CHAR message[1024] = {0};
#if (TDAV_UNDER_WINDOWS_RT || TDAV_UNDER_WINDOWS_CE)
#if !defined(WC_ERR_INVALID_CHARS)
#define WC_ERR_INVALID_CHARS 0
#endif
- // FormatMessageA not allowed on the Store
- static WCHAR wBuff[1024] = {0};
- FormatMessageW(
- FORMAT_MESSAGE_FROM_SYSTEM,
- tsk_null,
- hr,
- 0,
- wBuff,
- sizeof(wBuff)-1,
- tsk_null);
- WideCharToMultiByte(CP_UTF8, WC_ERR_INVALID_CHARS, wBuff, wcslen(wBuff), message, sizeof(message) - 1, NULL, NULL);
+ // FormatMessageA not allowed on the Store
+ static WCHAR wBuff[1024] = {0};
+ FormatMessageW(
+ FORMAT_MESSAGE_FROM_SYSTEM,
+ tsk_null,
+ hr,
+ 0,
+ wBuff,
+ sizeof(wBuff)-1,
+ tsk_null);
+ WideCharToMultiByte(CP_UTF8, WC_ERR_INVALID_CHARS, wBuff, wcslen(wBuff), message, sizeof(message) - 1, NULL, NULL);
#else
- FormatMessageA
- (
+ FormatMessageA
+ (
#if !TDAV_UNDER_WINDOWS_RT
- FORMAT_MESSAGE_ALLOCATE_BUFFER |
+ FORMAT_MESSAGE_ALLOCATE_BUFFER |
#endif
- FORMAT_MESSAGE_FROM_SYSTEM,
- tsk_null,
- hr,
- 0,
- message,
- sizeof(message) - 1,
- tsk_null);
+ FORMAT_MESSAGE_FROM_SYSTEM,
+ tsk_null,
+ hr,
+ 0,
+ message,
+ sizeof(message) - 1,
+ tsk_null);
#endif
- TSK_DEBUG_ERROR("%s(): %s", func, message);
+ TSK_DEBUG_ERROR("%s(): %s", func, message);
}
int tdav_win32_deinit()
{
#if !(TDAV_UNDER_WINDOWS_RT || TDAV_UNDER_WINDOWS_CE)
- MMRESULT result;
+ MMRESULT result;
- // Timers accuracy
- result = timeEndPeriod(1);
- if(result){
- TSK_DEBUG_ERROR("timeEndPeriod(1) returned result=%u", result);
- }
+ // Timers accuracy
+ result = timeEndPeriod(1);
+ if(result) {
+ TSK_DEBUG_ERROR("timeEndPeriod(1) returned result=%u", result);
+ }
#endif
- return 0;
+ return 0;
}
#endif /* TDAV_UNDER_WINDOWS */ \ No newline at end of file
OpenPOWER on IntegriCloud