FileAttributesData(ref UnsafeNativeMethods.WIN32_FILE_ATTRIBUTE_DATA data) { FileAttributes = (FileAttributes)data.fileAttributes; UtcCreationTime = DateTimeUtil.FromFileTimeToUtc(((long)data.ftCreationTimeHigh) << 32 | (long)data.ftCreationTimeLow); UtcLastAccessTime = DateTimeUtil.FromFileTimeToUtc(((long)data.ftLastAccessTimeHigh) << 32 | (long)data.ftLastAccessTimeLow); UtcLastWriteTime = DateTimeUtil.FromFileTimeToUtc(((long)data.ftLastWriteTimeHigh) << 32 | (long)data.ftLastWriteTimeLow); FileSize = (long)(uint)data.fileSizeHigh << 32 | (long)(uint)data.fileSizeLow; }
private FileAttributesData(ref UnsafeNativeMethods.WIN32_FILE_ATTRIBUTE_DATA data) { this.FileAttributes = (System.IO.FileAttributes)data.fileAttributes; this.UtcCreationTime = DateTimeUtil.FromFileTimeToUtc((long)((data.ftCreationTimeHigh << 0x20) | data.ftCreationTimeLow)); this.UtcLastAccessTime = DateTimeUtil.FromFileTimeToUtc((long)((data.ftLastAccessTimeHigh << 0x20) | data.ftLastAccessTimeLow)); this.UtcLastWriteTime = DateTimeUtil.FromFileTimeToUtc((long)((data.ftLastWriteTimeHigh << 0x20) | data.ftLastWriteTimeLow)); this.FileSize = (data.fileSizeHigh << 0x20) | data.fileSizeLow; }