private void WriteNamePointerTable(IBinaryStreamWriter writer) { foreach (var entry in _namedEntries) { writer.WriteUInt32(_nameTableBuffer.GetNameRva(entry.Name)); } }
private void WriteExportDirectoryHeader(IBinaryStreamWriter writer) { writer.WriteUInt32(_exportDirectory.ExportFlags); writer.WriteUInt32(_exportDirectory.TimeDateStamp); writer.WriteUInt16(_exportDirectory.MajorVersion); writer.WriteUInt16(_exportDirectory.MinorVersion); writer.WriteUInt32(_nameTableBuffer.GetNameRva(_exportDirectory.Name)); writer.WriteUInt32(_exportDirectory.BaseOrdinal); writer.WriteUInt32((uint)_exportDirectory.Entries.Count); writer.WriteUInt32((uint)_exportDirectory.Entries.Count(e => e.IsByName)); writer.WriteUInt32(_addressTableBuffer.Rva); writer.WriteUInt32(_ordinalNamePointerTable.NamePointerTableRva); writer.WriteUInt32(_ordinalNamePointerTable.OrdinalTableRva); }