private void ParseChildNodes(BinaryReader hive) { int count = BitConverter.ToInt16(hive.ReadBytes(2), 0); long topOfList = hive.BaseStream.Position; for (int i = 0; i < count; i++) { hive.BaseStream.Position = topOfList + (i * 8); int newoffset = BitConverter.ToInt32(hive.ReadBytes(4), 0); hive.BaseStream.Position += 4; //byte[] check = hive.ReadBytes(4); hive.BaseStream.Position = 4096 + newoffset + 4; NodeKey nk = new NodeKey(hive) { ParentNodeKey = this }; this.ChildNodes.Add(nk); } hive.BaseStream.Position = topOfList + (count * 8); }
private void ParseChildNodes(BinaryReader hive) { int count = BitConverter.ToInt16 (hive.ReadBytes (2), 0); long topOfList = hive.BaseStream.Position; for (int i = 0; i < count; i++) { hive.BaseStream.Position = topOfList + (i * 8); int newoffset = BitConverter.ToInt32 (hive.ReadBytes (4), 0); hive.BaseStream.Position += 4; //byte[] check = hive.ReadBytes(4); hive.BaseStream.Position = 4096 + newoffset + 4; NodeKey nk = new NodeKey (hive) { ParentNodeKey = this }; this.ChildNodes.Add (nk); } hive.BaseStream.Position = topOfList + (count * 8); }