}\r
}\r
\r
+/**\r
+ Convert the FileTime to EfiTime.\r
+\r
+ @param PrivateFile Pointer to WIN_NT_EFI_FILE_PRIVATE.\r
+ @param TimeZone Pointer to the current time zone.\r
+ @param FileTime Pointer to file time.\r
+ @param EfiTime Pointer to EFI time.\r
+**/\r
+VOID\r
+WinNtFileTimeToEfiTime ( \r
+ IN CONST WIN_NT_EFI_FILE_PRIVATE *PrivateFile,\r
+ IN TIME_ZONE_INFORMATION *TimeZone,\r
+ IN CONST FILETIME *FileTime,\r
+ OUT EFI_TIME *EfiTime\r
+ )\r
+{\r
+ FILETIME TempFileTime;\r
+ SYSTEMTIME SystemTime;\r
+\r
+ PrivateFile->WinNtThunk->FileTimeToLocalFileTime (FileTime, &TempFileTime);\r
+ PrivateFile->WinNtThunk->FileTimeToSystemTime (&TempFileTime, &SystemTime);\r
+ WinNtSystemTimeToEfiTime (&SystemTime, TimeZone, EfiTime);\r
+}\r
+\r
EFI_STATUS\r
EFIAPI\r
WinNtSimpleFileSystemRead (\r
UINTN NameSize;\r
UINTN ResultSize;\r
UINTN Index;\r
- SYSTEMTIME SystemTime;\r
EFI_FILE_INFO *Info;\r
WCHAR *pw;\r
TIME_ZONE_INFORMATION TimeZone;\r
Info->Size = ResultSize;\r
\r
PrivateFile->WinNtThunk->GetTimeZoneInformation (&TimeZone);\r
-\r
- PrivateFile->WinNtThunk->FileTimeToLocalFileTime (\r
- &PrivateFile->FindBuf.ftCreationTime,\r
- &PrivateFile->FindBuf.ftCreationTime\r
- );\r
-\r
- PrivateFile->WinNtThunk->FileTimeToSystemTime (&PrivateFile->FindBuf.ftCreationTime, &SystemTime);\r
-\r
- WinNtSystemTimeToEfiTime (&SystemTime, &TimeZone, &Info->CreateTime);\r
-\r
- PrivateFile->WinNtThunk->FileTimeToLocalFileTime (\r
- &PrivateFile->FindBuf.ftLastWriteTime,\r
- &PrivateFile->FindBuf.ftLastWriteTime\r
- );\r
-\r
- PrivateFile->WinNtThunk->FileTimeToSystemTime (&PrivateFile->FindBuf.ftLastWriteTime, &SystemTime);\r
-\r
- WinNtSystemTimeToEfiTime (&SystemTime, &TimeZone, &Info->ModificationTime);\r
+ WinNtFileTimeToEfiTime (PrivateFile, &TimeZone, &PrivateFile->FindBuf.ftCreationTime, &Info->CreateTime);\r
+ WinNtFileTimeToEfiTime (PrivateFile, &TimeZone, &PrivateFile->FindBuf.ftLastAccessTime, &Info->LastAccessTime);\r
+ WinNtFileTimeToEfiTime (PrivateFile, &TimeZone, &PrivateFile->FindBuf.ftLastWriteTime, &Info->ModificationTime);\r
\r
Info->FileSize = PrivateFile->FindBuf.nFileSizeLow;\r
\r
UINTN ResultSize;\r
EFI_FILE_INFO *Info;\r
BY_HANDLE_FILE_INFORMATION FileInfo;\r
- SYSTEMTIME SystemTime;\r
CHAR16 *RealFileName;\r
CHAR16 *TempPointer;\r
+ TIME_ZONE_INFORMATION TimeZone;\r
\r
Size = SIZE_OF_EFI_FILE_INFO;\r
\r
Info->FileSize = FileInfo.nFileSizeLow;\r
Info->PhysicalSize = Info->FileSize;\r
\r
- PrivateFile->WinNtThunk->FileTimeToLocalFileTime(&FileInfo.ftCreationTime, &FileInfo.ftCreationTime);\r
- PrivateFile->WinNtThunk->FileTimeToSystemTime (&FileInfo.ftCreationTime, &SystemTime);\r
- Info->CreateTime.Year = SystemTime.wYear;\r
- Info->CreateTime.Month = (UINT8) SystemTime.wMonth;\r
- Info->CreateTime.Day = (UINT8) SystemTime.wDay;\r
- Info->CreateTime.Hour = (UINT8) SystemTime.wHour;\r
- Info->CreateTime.Minute = (UINT8) SystemTime.wMinute;\r
- Info->CreateTime.Second = (UINT8) SystemTime.wSecond;\r
-\r
- PrivateFile->WinNtThunk->FileTimeToLocalFileTime(&FileInfo.ftLastAccessTime, &FileInfo.ftLastAccessTime);\r
- PrivateFile->WinNtThunk->FileTimeToSystemTime (&FileInfo.ftLastAccessTime, &SystemTime);\r
- Info->LastAccessTime.Year = SystemTime.wYear;\r
- Info->LastAccessTime.Month = (UINT8) SystemTime.wMonth;\r
- Info->LastAccessTime.Day = (UINT8) SystemTime.wDay;\r
- Info->LastAccessTime.Hour = (UINT8) SystemTime.wHour;\r
- Info->LastAccessTime.Minute = (UINT8) SystemTime.wMinute;\r
- Info->LastAccessTime.Second = (UINT8) SystemTime.wSecond;\r
-\r
- PrivateFile->WinNtThunk->FileTimeToLocalFileTime(&FileInfo.ftLastWriteTime, &FileInfo.ftLastWriteTime);\r
- PrivateFile->WinNtThunk->FileTimeToSystemTime (&FileInfo.ftLastWriteTime, &SystemTime);\r
- Info->ModificationTime.Year = SystemTime.wYear;\r
- Info->ModificationTime.Month = (UINT8) SystemTime.wMonth;\r
- Info->ModificationTime.Day = (UINT8) SystemTime.wDay;\r
- Info->ModificationTime.Hour = (UINT8) SystemTime.wHour;\r
- Info->ModificationTime.Minute = (UINT8) SystemTime.wMinute;\r
- Info->ModificationTime.Second = (UINT8) SystemTime.wSecond;\r
+ PrivateFile->WinNtThunk->GetTimeZoneInformation (&TimeZone);\r
+ WinNtFileTimeToEfiTime (PrivateFile, &TimeZone, &FileInfo.ftCreationTime, &Info->CreateTime);\r
+ WinNtFileTimeToEfiTime (PrivateFile, &TimeZone, &FileInfo.ftLastAccessTime, &Info->LastAccessTime);\r
+ WinNtFileTimeToEfiTime (PrivateFile, &TimeZone, &FileInfo.ftLastWriteTime, &Info->ModificationTime);\r
\r
if (FileInfo.dwFileAttributes & FILE_ATTRIBUTE_ARCHIVE) {\r
Info->Attribute |= EFI_FILE_ARCHIVE;\r