- FsdSystemTimeToDosDateTime(DeviceExt,
- &BasicInfo->CreationTime,
- &FCB->entry.FatX.CreationDate,
- &FCB->entry.FatX.CreationTime);
- FsdSystemTimeToDosDateTime(DeviceExt,
- &BasicInfo->LastAccessTime,
- &FCB->entry.FatX.AccessDate,
- &FCB->entry.FatX.AccessTime);
- FsdSystemTimeToDosDateTime(DeviceExt,
- &BasicInfo->LastWriteTime,
- &FCB->entry.FatX.UpdateDate,
- &FCB->entry.FatX.UpdateTime);
+ if (BasicInfo->CreationTime.QuadPart != 0 && BasicInfo->CreationTime.QuadPart != -1)
+ {
+ FsdSystemTimeToDosDateTime(DeviceExt,
+ &BasicInfo->CreationTime,
+ &FCB->entry.FatX.CreationDate,
+ &FCB->entry.FatX.CreationTime);
+ }
+
+ if (BasicInfo->LastAccessTime.QuadPart != 0 && BasicInfo->LastAccessTime.QuadPart != -1)
+ {
+ FsdSystemTimeToDosDateTime(DeviceExt,
+ &BasicInfo->LastAccessTime,
+ &FCB->entry.FatX.AccessDate,
+ &FCB->entry.FatX.AccessTime);
+ }
+
+ if (BasicInfo->LastWriteTime.QuadPart != 0 && BasicInfo->LastWriteTime.QuadPart != -1)
+ {
+ FsdSystemTimeToDosDateTime(DeviceExt,
+ &BasicInfo->LastWriteTime,
+ &FCB->entry.FatX.UpdateDate,
+ &FCB->entry.FatX.UpdateTime);
+ }