| 772 | }; |
| 773 | |
| 774 | static SC::TimeMs windowsFileTimeToTimeMs(const FILETIME& fileTime) |
| 775 | { |
| 776 | ULARGE_INTEGER fileTimeValue; |
| 777 | fileTimeValue.LowPart = fileTime.dwLowDateTime; |
| 778 | fileTimeValue.HighPart = fileTime.dwHighDateTime; |
| 779 | if (fileTimeValue.QuadPart == 0) |
| 780 | { |
| 781 | return {}; |
| 782 | } |
| 783 | fileTimeValue.QuadPart -= 116444736000000000ULL; |
| 784 | return SC::TimeMs{static_cast<SC::int64_t>(fileTimeValue.QuadPart / 10000ULL)}; |
| 785 | } |
| 786 | |
| 787 | static SC::FileSystemEntryType windowsEntryTypeFromAttributes(DWORD attributes, DWORD reparseTag) |
| 788 | { |
no outgoing calls
no test coverage detected