예제 #1
0
 public MetaDataTableNode(HexDocument doc, MDTable mdTable, IMetaData md)
     : base((ulong)mdTable.StartOffset, (ulong)mdTable.EndOffset - 1)
 {
     this.doc            = doc;
     this.tableInfo      = mdTable.TableInfo;
     this.tablesStreamVM = MetaDataTableVM.Create(this, doc, StartOffset, mdTable);
     this.tablesStreamVM.FindMetaDataTable = FindMetaDataTable;
     this.tablesStreamVM.InitializeHeapOffsets((ulong)md.StringsStream.StartOffset, (ulong)md.StringsStream.EndOffset - 1);
 }
예제 #2
0
        public MetaDataTableNode(HexBuffer buffer, MDTable mdTable, IMetaData md)
            : base(HexSpan.FromBounds((ulong)mdTable.StartOffset, (ulong)mdTable.EndOffset))
        {
            Buffer    = buffer;
            TableInfo = mdTable.TableInfo;
            var stringsHeapSpan = HexSpan.FromBounds((ulong)md.StringsStream.StartOffset, (ulong)md.StringsStream.EndOffset);
            var guidHeapSpan    = HexSpan.FromBounds((ulong)md.GuidStream.StartOffset, (ulong)md.GuidStream.EndOffset);

            MetaDataTableVM = MetaDataTableVM.Create(this, buffer, Span.Start, mdTable, stringsHeapSpan, guidHeapSpan);
            MetaDataTableVM.FindMetaDataTable = FindMetaDataTable;
        }