private void ReadHeaders() { _activeHeader = 0; _fileStream.Position = 64 * Sizes.OneKiB; VhdxHeader vhdxHeader1 = Utilities.ReadStruct <VhdxHeader>(_fileStream); if (vhdxHeader1.IsValid) { _header = vhdxHeader1; _activeHeader = 1; } _fileStream.Position = 128 * Sizes.OneKiB; VhdxHeader vhdxHeader2 = Utilities.ReadStruct <VhdxHeader>(_fileStream); if (vhdxHeader2.IsValid && (_activeHeader == 0 || _header.SequenceNumber < vhdxHeader2.SequenceNumber)) { _header = vhdxHeader2; _activeHeader = 2; } if (_activeHeader == 0) { throw new IOException("Invalid VHDX file - no valid VHDX headers found"); } }
private void ReadHeaders() { _activeHeader = 0; _fileStream.Position = 64 * Sizes.OneKiB; VhdxHeader vhdxHeader1 = Utilities.ReadStruct<VhdxHeader>(_fileStream); if (vhdxHeader1.IsValid) { _header = vhdxHeader1; _activeHeader = 1; } _fileStream.Position = 128 * Sizes.OneKiB; VhdxHeader vhdxHeader2 = Utilities.ReadStruct<VhdxHeader>(_fileStream); if (vhdxHeader2.IsValid && (_activeHeader == 0 || _header.SequenceNumber < vhdxHeader2.SequenceNumber)) { _header = vhdxHeader2; _activeHeader = 2; } if (_activeHeader == 0) { throw new IOException("Invalid VHDX file - no valid VHDX headers found"); } }