Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ SerializeSections()

ImmutableArray< SerializedSection > System.Reflection.PortableExecutable.PEBuilder.SerializeSections ( )
inlineprivateinherited

Definition at line 131 of file PEBuilder.cs.

132 {
134 ImmutableArray<SerializedSection>.Builder builder = ImmutableArray.CreateBuilder<SerializedSection>(sections.Length);
135 int position = Header.ComputeSizeOfPEHeaders(sections.Length);
139 while (enumerator.MoveNext())
140 {
141 Section current = enumerator.Current;
143 SerializedSection item = new SerializedSection(blobBuilder, current.Name, current.Characteristics, relativeVirtualAddress, BitArithmetic.Align(blobBuilder.Count, Header.FileAlignment), pointerToRawData);
145 relativeVirtualAddress = BitArithmetic.Align(item.RelativeVirtualAddress + item.VirtualSize, Header.SectionAlignment);
146 pointerToRawData = item.PointerToRawData + item.SizeOfRawData;
147 }
148 return builder.MoveToImmutable();
149 }
void Add(TKey key, TValue value)
static uint Align(uint position, uint alignment)
BlobBuilder SerializeSection(string name, SectionLocation location)
ImmutableArray< Section > GetSections()
Definition PEBuilder.cs:95

References System.Collections.Generic.Dictionary< TKey, TValue >.Add(), System.Reflection.Internal.BitArithmetic.Align(), System.Reflection.PortableExecutable.PEBuilder.Section.Characteristics, System.Reflection.PortableExecutable.PEHeaderBuilder.ComputeSizeOfPEHeaders(), System.Collections.Generic.Dictionary< TKey, TValue >.Count, System.Reflection.PortableExecutable.PEHeaderBuilder.FileAlignment, System.Collections.Generic.Dictionary< TKey, TValue >.GetEnumerator(), System.Reflection.PortableExecutable.PEBuilder.GetSections(), System.Reflection.PortableExecutable.PEBuilder.Header, System.item, System.Reflection.PortableExecutable.PEBuilder.Section.Name, System.Reflection.PortableExecutable.PEHeaderBuilder.SectionAlignment, and System.Reflection.PortableExecutable.PEBuilder.SerializeSection().

Referenced by System.Reflection.PortableExecutable.PEBuilder.Serialize().