Class MsfSuperBlock
- Namespace
- AsmResolver.Symbols.Pdb.Msf
- Assembly
- AsmResolver.Symbols.Pdb.dll
Represents the first block in a Multi-Stream Format (MSF) file.
public sealed class MsfSuperBlock : SegmentBase, ISegment, IOffsetProvider, IWritable
- Inheritance
-
MsfSuperBlock
- Implements
- Inherited Members
Properties
BlockCount
Gets or sets the total number of blocks in the MSF file.
public uint BlockCount { get; set; }
Property Value
BlockSize
Gets or sets the size of an individual block in bytes.
public uint BlockSize { get; set; }
Property Value
DirectoryByteCount
Gets or sets the number of bytes of the stream directory in the MSF file.
public uint DirectoryByteCount { get; set; }
Property Value
DirectoryMapIndex
Gets or sets the index of the block containing all block indices that make up the stream directory of the MSF file.
public uint DirectoryMapIndex { get; set; }
Property Value
FreeBlockMapIndex
Gets or sets the index of the block containing a bitfield indicating which blocks in the entire MSF file are in use or not.
public uint FreeBlockMapIndex { get; set; }
Property Value
Signature
Gets or sets the magic file signature in the super block, identifying the format version of the MSF file.
public byte[] Signature { get; set; }
Property Value
- byte[]
Methods
FromReader(ref BinaryStreamReader)
Reads a single MSF super block from the provided input stream.
public static MsfSuperBlock FromReader(ref BinaryStreamReader reader)
Parameters
reader
BinaryStreamReaderThe input stream.
Returns
- MsfSuperBlock
The parsed MSF super block.
Exceptions
- BadImageFormatException
Occurs when the super block is malformed.
GetPhysicalSize()
Computes the number of bytes that the structure contains.
public override uint GetPhysicalSize()
Returns
- uint
The number of bytes.
Write(BinaryStreamWriter)
Serializes the structure to an output stream.
public override void Write(BinaryStreamWriter writer)
Parameters
writer
BinaryStreamWriterThe output stream to write the data to.