public void GetBasicInfoByHandleBasic() { string tempPath = FileMethods.GetTempPath(); string tempFileName = System.IO.Path.Combine(tempPath, System.IO.Path.GetRandomFileName()); try { using (var directory = FileMethods.CreateFile(tempPath, DesiredAccess.GENERIC_READ, ShareMode.FILE_SHARE_READWRITE, CreationDisposition.OPEN_EXISTING, FileAttributes.NONE, FileFlags.FILE_FLAG_BACKUP_SEMANTICS)) { var directoryInfo = FileMethods.GetFileBasicInfoByHandle(directory); directoryInfo.Attributes.Should().HaveFlag(FileAttributes.FILE_ATTRIBUTE_DIRECTORY); using (var file = FileMethods.CreateFile(tempFileName, DesiredAccess.GENERIC_READ | DesiredAccess.GENERIC_WRITE, ShareMode.FILE_SHARE_READWRITE, CreationDisposition.CREATE_NEW)) { var fileInfo = FileMethods.GetFileBasicInfoByHandle(file); fileInfo.Attributes.Should().NotHaveFlag(FileAttributes.FILE_ATTRIBUTE_DIRECTORY); fileInfo.CreationTime.Should().BeAfter(directoryInfo.CreationTime); } } } finally { FileMethods.DeleteFile(tempFileName); } }