同一代碼中的時間函數在xp上崩潰,但在Windows 2003計算機上運行正常。有任何想法嗎?從崩潰轉儲Windows xp上的SystemTimeToTzSpecificLocalTime崩潰
TIME_ZONE_INFORMATION tzi;
SYSTEMTIME stStartUTC;
SYSTEMTIME stStart;
LPCSTR lpszZone;
BOOL bStatus;
FILETIME* pFT;
DWORD dReturn;
pFT = new FILETIME;
if (pFT)
{
pFT->dwHighDateTime = 4294967295ul;
pFT->dwLowDateTime = 4294962295ul;
if (pFT)
{
FileTimeToSystemTime (pFT, &stStartUTC);
}
else
{
GetSystemTime (&stStartUTC);
}
dReturn = GetTimeZoneInformation (&tzi);
bStatus = SystemTimeToTzSpecificLocalTime (&tzi, &stStartUTC, &stStart);
}
棧是:
0816e968 7c85a6f2 00000000 00000024 7c85a6f8 KERNEL32 __ report_gsfailure + 0xda
0816ebf8 7c85a788 0816ec10 0816ec70 0000a8f0 KERNEL32 FindRegTziForCurrentYear + 0x1a5
!0816ec3c 7c85a7bd 0816ec70 0000a8f0 0816eec4 KERNEL32!CheckDynamicTimeZoneInformation + 0x29
0816ec54 7c85a834 0816ec70 0000a8f0 0816eec4 KERNEL32!GetDynamicTimeZoneInfoForTimeZone + 0×17
0816ee7c 7c83b11c 0000a8f0 00000000 0816eec4 KERNEL32!GetTimeZoneInformationForYear +將0x58
0816f020 14f27e38 0816f05c 0816f03c 0816f04c kernel32!SystemTimeToTzSpecificLocalTime + 0x3c
感謝, Mithuna
GetLastError顯示FileTimeToSystemTime的返回值爲0,這是一個錯誤,並且錯誤的格式輸出顯示參數不正確。我確信參數是不正確的,但不知道是什麼導致了崩潰或堆損壞。謝謝。 – mithuna 2010-02-09 23:58:24