/// <summary> /// /// </summary> /// <param name="path"></param> /// <returns></returns> public static UsnJrnl[] GetTestInstances(string path) { byte[] bytes = FileRecord.GetContentBytes(path, "$J"); string volume = Helper.GetVolumeFromPath(path); VolumeBootRecord VBR = VolumeBootRecord.Get(volume); List <UsnJrnl> usnList = new List <UsnJrnl>(); for (int i = 0; i < bytes.Length; i += VBR.BytesPerCluster) { int clusteroffset = i; do { // Break if there are no more UsnJrnl entries in cluster if (bytes[clusteroffset] == 0) { break; } try { UsnJrnl usn = new UsnJrnl(bytes, volume, ref clusteroffset); if (usn.Version > USN40Version) { break; } usnList.Add(usn); } catch { break; } } while (clusteroffset >= 0 && clusteroffset < bytes.Length); } return(usnList.ToArray()); }