internal static ImageSymbolImport FromReadingContext(ReadingContext context) { var reader = context.Reader; var application = context.Assembly; var optionalHeader = application.NtHeaders.OptionalHeader; var import = new ImageSymbolImport(optionalHeader.Magic == OptionalHeaderMagic.Pe32Plus ? reader.ReadUInt64() : reader.ReadUInt32()); if (import.Lookup == 0) { return(import); } import.IsImportByOrdinal = import.Lookup >> (optionalHeader.Magic == OptionalHeaderMagic.Pe32Plus ? 63 : 31) == 1; if (!import.IsImportByOrdinal) { import.HintName = HintName.FromReadingContext(context.CreateSubContext(application.RvaToFileOffset(import.HintNameRva))); } return(import); }
internal static HintName FromReadingContext(ReadingContext context) { var reader = context.Reader; var hintName = new HintName { StartOffset = reader.Position, Hint = reader.ReadUInt16(), Name = reader.ReadAsciiString(), }; if (reader.Position % 2 != 0) reader.Position++; return hintName; }
internal static HintName FromReadingContext(ReadingContext context) { var reader = context.Reader; var hintName = new HintName { StartOffset = reader.Position, Hint = reader.ReadUInt16(), Name = reader.ReadAsciiString(), }; if (reader.Position % 2 != 0) { reader.Position++; } return(hintName); }
public ImageSymbolImport(HintName hintName) { IsImportByOrdinal = false; HintName = hintName; }