Mono.Cecil.PE.ImageWriter.WriteMetadataHeader C# (CSharp) Method

WriteMetadataHeader() public method

public WriteMetadataHeader ( ) : void
return void
        public void WriteMetadataHeader()
        {
            WriteUInt32 (0x424a5342);	// Signature
            WriteUInt16 (1);	// MajorVersion
            WriteUInt16 (1);	// MinorVersion
            WriteUInt32 (0);	// Reserved

            var version = GetZeroTerminatedString (runtime_version);
            WriteUInt32 ((uint) version.Length);
            WriteBytes (version);
            WriteUInt16 (0);	// Flags
            WriteUInt16 (GetStreamCount ());

            uint offset = text_map.GetRVA (TextSegment.TableHeap) - text_map.GetRVA (TextSegment.MetadataHeader);

            WriteStreamHeader (ref offset, TextSegment.TableHeap, "#~");
            WriteStreamHeader (ref offset, TextSegment.StringHeap, "#Strings");
            WriteStreamHeader (ref offset, TextSegment.UserStringHeap, "#US");
            WriteStreamHeader (ref offset, TextSegment.GuidHeap, "#GUID");
            WriteStreamHeader (ref offset, TextSegment.BlobHeap, "#Blob");
            WriteStreamHeader (ref offset, TextSegment.PdbHeap, "#Pdb");
        }