/// <summary> /// Creates a new row for the method definition metadata table. /// </summary> /// <param name="body">The reference to the beginning of the method body. </param> /// <param name="implAttributes">The characteristics of the implementation of the method body.</param> /// <param name="attributes">The attributes associated to the method.</param> /// <param name="name">The index into the #Strings heap containing the name of the type reference.</param> /// <param name="signature">The index into the #Blob heap containing the signature of the method.</param> /// <param name="parameterList">The index into the Param (or ParamPtr) table, representing the first parameter /// that this method defines.</param> public MethodDefinitionRow(ISegmentReference body, MethodImplAttributes implAttributes, MethodAttributes attributes, uint name, uint signature, uint parameterList) { Body = body; ImplAttributes = implAttributes; Attributes = attributes; Name = name; Signature = signature; ParameterList = parameterList; }
/// <summary> /// Creates a new instance of the <see cref="X64RuntimeFunction"/> class. /// </summary> /// <param name="begin">The reference to the beginning of the function. </param> /// <param name="end">The reference to the end of the function.</param> /// <param name="unwindInfo">The unwind information associated to the function.</param> public X64RuntimeFunction(ISegmentReference begin, ISegmentReference end, X64UnwindInfo unwindInfo) { Begin = begin; End = end; UnwindInfo = unwindInfo; }
/// <summary> /// Creates a new row for the field RVA metadata table. /// </summary> /// <param name="data">The reference to the start of the initial field data.</param> /// <param name="field">The index into the Field table indicating the field that was assigned an initial value.</param> public FieldRvaRow(ISegmentReference data, uint field) { Data = data; Field = field; }
/// <summary> /// Creates a new base relocation. /// </summary> /// <param name="type">The type of base relocation to apply.</param> /// <param name="location">The location within the executable to apply the base relocation.</param> public BaseRelocation(RelocationType type, ISegmentReference location) { Type = type; Location = location ?? throw new ArgumentNullException(nameof(location)); }
/// <summary> /// Creates a new symbol that is exported by name. /// </summary> /// <param name="address">The reference to the segment representing the symbol.</param> /// <param name="name">The name of the symbol.</param> public ExportedSymbol(ISegmentReference address, string name) { Name = name; Address = address; }
/// <summary> /// Creates a new symbol that is exported by ordinal. /// </summary> /// <param name="address">The reference to the segment representing the symbol.</param> public ExportedSymbol(ISegmentReference address) { Name = null; Address = address; }