Table of Contents

BiffBofRecord Struct

Definition

Namespace
Bodu.IO.Biff
Assembly
Bodu.IO.Biff.dll
Package
Bodu.IO.Biff 1.0.0
Source
BiffBofRecord.cs

Represents a decoded BOF record: the version marker, the kind of substream being opened, and the build information of the application that wrote it.

public readonly struct BiffBofRecord : IEquatable<BiffBofRecord>
Implements
Inherited Members
Extension Methods

Remarks

The record identifier is Bof. The payload is eight bytes in BIFF5 (version, substream type, build, year) and sixteen in BIFF8, which adds the file-history flags and the lowest saving version. The reader tolerates any payload of at least four bytes, reporting zero for fields the record omits, and establishes Version from the version marker when the record is read.

Constructors

BiffBofRecord(ushort, BiffSubstreamType, ushort, ushort, uint, uint)

Represents a decoded BOF record: the version marker, the kind of substream being opened, and the build information of the application that wrote it.

public BiffBofRecord(ushort RawVersion, BiffSubstreamType SubstreamType, ushort Build, ushort Year, uint FileHistoryFlags, uint LowestSaveVersion)

Parameters

RawVersion ushort

The vers field: 0x0500 for BIFF5, 0x0600 for BIFF8.

SubstreamType BiffSubstreamType

The kind of substream the record opens.

Build ushort

The build identifier of the writing application.

Year ushort

The build year of the writing application.

FileHistoryFlags uint

The BIFF8 file-history flags; zero under BIFF5.

LowestSaveVersion uint

The lowest BIFF version that has saved the file (BIFF8); zero under BIFF5.

Remarks

The record identifier is Bof. The payload is eight bytes in BIFF5 (version, substream type, build, year) and sixteen in BIFF8, which adds the file-history flags and the lowest saving version. The reader tolerates any payload of at least four bytes, reporting zero for fields the record omits, and establishes Version from the version marker when the record is read.

See Also

Properties

Build

The build identifier of the writing application.

public ushort Build { get; init; }

Property Value

ushort

FileHistoryFlags

The BIFF8 file-history flags; zero under BIFF5.

public uint FileHistoryFlags { get; init; }

Property Value

uint

LowestSaveVersion

The lowest BIFF version that has saved the file (BIFF8); zero under BIFF5.

public uint LowestSaveVersion { get; init; }

Property Value

uint

RawVersion

The vers field: 0x0500 for BIFF5, 0x0600 for BIFF8.

public ushort RawVersion { get; init; }

Property Value

ushort

SubstreamType

The kind of substream the record opens.

public BiffSubstreamType SubstreamType { get; init; }

Property Value

BiffSubstreamType

Version

Gets the BIFF version the marker denotes.

public BiffVersion Version { get; }

Property Value

BiffVersion

Biff5, Biff8, or Unknown for any other marker.

Year

The build year of the writing application.

public ushort Year { get; init; }

Property Value

ushort

Methods

Deconstruct(out ushort, out BiffSubstreamType, out ushort, out ushort, out uint, out uint)

public void Deconstruct(out ushort RawVersion, out BiffSubstreamType SubstreamType, out ushort Build, out ushort Year, out uint FileHistoryFlags, out uint LowestSaveVersion)

Parameters

RawVersion ushort
SubstreamType BiffSubstreamType
Build ushort
Year ushort
FileHistoryFlags uint
LowestSaveVersion uint

Equals(BiffBofRecord)

Indicates whether the current object is equal to another object of the same type.

public bool Equals(BiffBofRecord other)

Parameters

other BiffBofRecord

An object to compare with this object.

Returns

bool

true if the current object is equal to the other parameter; otherwise, false.

Equals(object)

Indicates whether this instance and a specified object are equal.

public override bool Equals(object obj)

Parameters

obj object

The object to compare with the current instance.

Returns

bool

true if obj and this instance are the same type and represent the same value; otherwise, false.

GetHashCode()

Returns the hash code for this instance.

public override int GetHashCode()

Returns

int

A 32-bit signed integer that is the hash code for this instance.

ToString()

Returns the fully qualified type name of this instance.

public override string ToString()

Returns

string

The fully qualified type name.

Operators

operator ==(BiffBofRecord, BiffBofRecord)

public static bool operator ==(BiffBofRecord left, BiffBofRecord right)

Parameters

left BiffBofRecord
right BiffBofRecord

Returns

bool

operator !=(BiffBofRecord, BiffBofRecord)

public static bool operator !=(BiffBofRecord left, BiffBofRecord right)

Parameters

left BiffBofRecord
right BiffBofRecord

Returns

bool

Applies to

ProductVersions
.NET8, 10

See Also