Class UnwindInfo
The UnwindInfo is used for x64 exception handling and to unwind the stack. It is pointed to by the RuntimeFunction struct.
Namespace: PeNet.Header.Pe
Assembly: PeNet.dll
Syntax
public class UnwindInfo : AbstractStructure
Constructors
| Improve this Doc View SourceUnwindInfo(IRawFile, UInt32)
Create a new UnwindInfo object.
Declaration
public UnwindInfo(IRawFile peFile, uint offset)
Parameters
Type | Name | Description |
---|---|---|
IRawFile | peFile | A PE file. |
System.UInt32 | offset | Raw offset of the UnwindInfo struct. |
Properties
| Improve this Doc View SourceCountOfCodes
The count of codes is not the count of UNWINDE_CODEs in but the number of 2 byte slots. Some UNWINDW_CODEs need more than one slot, thus the number of UNWIND_CODEs can be lower than the number in CountOfCodes.
Declaration
public byte CountOfCodes { get; set; }
Property Value
Type | Description |
---|---|
System.Byte |
EvenCountOfCodes
The count of UNWINDE_CODE slots allocated in PE file. For alignment purposes, this number is always even, so the final entry is potentially unused. In that case, the number is one longer than indicated by the CountOfCodes field.
Declaration
public int EvenCountOfCodes { get; }
Property Value
Type | Description |
---|---|
System.Int32 |
ExceptionHandler
The exception handler for the function.
Declaration
public uint ExceptionHandler { get; set; }
Property Value
Type | Description |
---|---|
System.UInt32 |
Flags
Flags
Declaration
public byte Flags { get; }
Property Value
Type | Description |
---|---|
System.Byte |
FrameOffset
Frame offset.
Declaration
public byte FrameOffset { get; }
Property Value
Type | Description |
---|---|
System.Byte |
FrameRegister
Frame register.
Declaration
public byte FrameRegister { get; }
Property Value
Type | Description |
---|---|
System.Byte |
FunctionEntry
Function entry.
Declaration
public uint FunctionEntry { get; set; }
Property Value
Type | Description |
---|---|
System.UInt32 |
SizeOfProlog
Size of prolog.
Declaration
public byte SizeOfProlog { get; set; }
Property Value
Type | Description |
---|---|
System.Byte |
UnwindCode
UnwindCode structure.
Declaration
public UnwindCode[] UnwindCode { get; }
Property Value
Type | Description |
---|---|
UnwindCode[] |
Version
Version
Declaration
public byte Version { get; }
Property Value
Type | Description |
---|---|
System.Byte |