/// <summary> /// 初始化FileSystemStorageItem对象 /// </summary> /// <param name="Data">WIN_Native_API所提供的数据</param> /// <param name="StorageType">指示存储类型</param> /// <param name="Path">路径</param> /// <param name="ModifiedTime">修改时间</param> public FileSystemStorageItem(WIN_Native_API.WIN32_FIND_DATA Data, StorageItemTypes StorageType, string Path, DateTimeOffset ModifiedTime) { InternalPathString = Path; ModifiedTimeRaw = ModifiedTime; this.StorageType = StorageType; if (StorageType != StorageItemTypes.Folder) { SizeRaw = ((ulong)Data.nFileSizeHigh << 32) + Data.nFileSizeLow; } }
protected FileSystemStorageItemBase(string Path, WIN_Native_API.WIN32_FIND_DATA Data) { this.Path = Path; SizeRaw = ((ulong)Data.nFileSizeHigh << 32) + Data.nFileSizeLow; WIN_Native_API.FileTimeToSystemTime(ref Data.ftLastWriteTime, out WIN_Native_API.SYSTEMTIME ModTime); ModifiedTimeRaw = new DateTime(ModTime.Year, ModTime.Month, ModTime.Day, ModTime.Hour, ModTime.Minute, ModTime.Second, ModTime.Milliseconds, DateTimeKind.Utc).ToLocalTime(); WIN_Native_API.FileTimeToSystemTime(ref Data.ftCreationTime, out WIN_Native_API.SYSTEMTIME CreTime); CreationTimeRaw = new DateTime(CreTime.Year, CreTime.Month, CreTime.Day, CreTime.Hour, CreTime.Minute, CreTime.Second, CreTime.Milliseconds, DateTimeKind.Utc).ToLocalTime(); }
protected FileSystemStorageItemBase(string Path, WIN_Native_API.WIN32_FIND_DATA Data) { this.Path = Path; if (Data != default) { IsReadOnly = ((System.IO.FileAttributes)Data.dwFileAttributes).HasFlag(System.IO.FileAttributes.ReadOnly); IsSystemItem = IsReadOnly = ((System.IO.FileAttributes)Data.dwFileAttributes).HasFlag(System.IO.FileAttributes.System); SizeRaw = ((ulong)Data.nFileSizeHigh << 32) + Data.nFileSizeLow; WIN_Native_API.FileTimeToSystemTime(ref Data.ftLastWriteTime, out WIN_Native_API.SYSTEMTIME ModTime); ModifiedTimeRaw = new DateTime(ModTime.Year, ModTime.Month, ModTime.Day, ModTime.Hour, ModTime.Minute, ModTime.Second, ModTime.Milliseconds, DateTimeKind.Utc).ToLocalTime(); WIN_Native_API.FileTimeToSystemTime(ref Data.ftCreationTime, out WIN_Native_API.SYSTEMTIME CreTime); CreationTimeRaw = new DateTime(CreTime.Year, CreTime.Month, CreTime.Day, CreTime.Hour, CreTime.Minute, CreTime.Second, CreTime.Milliseconds, DateTimeKind.Utc).ToLocalTime(); } }
public UrlStorageFile(string Path, WIN_Native_API.WIN32_FIND_DATA Data) : base(Path, Data) { }
public HiddenStorageFolder(string Path, WIN_Native_API.WIN32_FIND_DATA Data) : base(Path, Data) { base.SetThumbnailOpacity(ThumbnailStatus.ReducedOpacity); }
public RecycleStorageItem(WIN_Native_API.WIN32_FIND_DATA Data, StorageItemTypes StorageType, string Path, DateTimeOffset ModifiedTime) : base(Data, StorageType, Path, ModifiedTime) { }
public FileSystemStorageFile(string Path, WIN_Native_API.WIN32_FIND_DATA Data) : base(Path, Data) { IsReadOnly = ((System.IO.FileAttributes)Data.dwFileAttributes).HasFlag(System.IO.FileAttributes.ReadOnly); }
public SecureAreaStorageItem(WIN_Native_API.WIN32_FIND_DATA Data, string Path, DateTimeOffset CreationTime, DateTimeOffset ModifiedTime) : base(Data, StorageItemTypes.File, Path, CreationTime, ModifiedTime) { }
public FileSystemStorageFolder(string Path, WIN_Native_API.WIN32_FIND_DATA Data) : base(Path, Data) { }
public LinkStorageFile(string Path, WIN_Native_API.WIN32_FIND_DATA Data) : base(Path, Data) { LinkType = ShellLinkType.Normal; }
public HiddenStorageItem(WIN_Native_API.WIN32_FIND_DATA Data, StorageItemTypes StorageType, string Path, DateTimeOffset ModifiedTime) : base(Data, StorageType, Path, ModifiedTime) { SetThumbnailOpacity(ThumbnailStatus.ReduceOpacity); }
public HyperlinkStorageItem(WIN_Native_API.WIN32_FIND_DATA Data, string Path, DateTimeOffset ModifiedTime) : base(Data, StorageItemTypes.File, Path, ModifiedTime) { }
public RecycleStorageFolder(string Path, WIN_Native_API.WIN32_FIND_DATA Data) : base(Path, Data) { }
protected FileSystemStorageItemBase(string Path, WIN_Native_API.WIN32_FIND_DATA Data) : base(Path, Data) { }