public OptionalHeader(FileStream file, long address) { this._optionalHeader32 = (PEStream.IMAGE_OPTIONAL_HEADER32)PEStream.PEComponent.ReadData(file, address, this._optionalHeader32.GetType()); if (this._optionalHeader32.Magic == 0x20b) { this._is64Bit = true; this._optionalHeader64 = (PEStream.IMAGE_OPTIONAL_HEADER64)PEStream.PEComponent.ReadData(file, address, this._optionalHeader64.GetType()); base._size = base.CalculateSize(this._optionalHeader64); base._data = this._optionalHeader64; } else { if (this._optionalHeader32.Magic != 0x10b) { throw new NotSupportedException(Resources.GetString("Ex_PEImageTypeNotSupported")); } this._is64Bit = false; base._size = base.CalculateSize(this._optionalHeader32); base._data = this._optionalHeader32; } base._address = address; }
public OptionalHeader(FileStream file, long address) { this._optionalHeader32 = (PEStream.IMAGE_OPTIONAL_HEADER32) PEStream.PEComponent.ReadData(file, address, this._optionalHeader32.GetType()); if (this._optionalHeader32.Magic == 0x20b) { this._is64Bit = true; this._optionalHeader64 = (PEStream.IMAGE_OPTIONAL_HEADER64) PEStream.PEComponent.ReadData(file, address, this._optionalHeader64.GetType()); base._size = base.CalculateSize(this._optionalHeader64); base._data = this._optionalHeader64; } else { if (this._optionalHeader32.Magic != 0x10b) { throw new NotSupportedException(Resources.GetString("Ex_PEImageTypeNotSupported")); } this._is64Bit = false; base._size = base.CalculateSize(this._optionalHeader32); base._data = this._optionalHeader32; } base._address = address; }