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 |