Search Results for

Show / Hide Table of Contents

# Struct TaskStatusRecord

Progress / completion record passed to a TaskCallback and returned by GetTaskStatus(ulong, out TaskStatusRecord). Packed (`Pack = 1`) to match the Pascal `packed record` on the wire.

##### Implements

IEquatable<TaskStatusRecord>

##### Inherited Members

ValueType.ToString()
object.Equals(object, object)
object.GetType()
object.ReferenceEquals(object, object)

###### Namespace: FexViewer

###### Assembly: FexViewer.dll

##### Syntax

    public struct TaskStatusRecord : IEquatable<TaskStatusRecord>

### Fields

#### CurrentItem

Inline 512-byte NUL-terminated UTF-8 "current item" label.

##### Declaration

    public byte[] CurrentItem

##### Field Value

Type | Description
--- | ---
byte[] |

#### ErrorCode

A `RESULT_*` code when Status is Failed.

##### Declaration

    public int ErrorCode

##### Field Value

Type | Description
--- | ---
int |

#### ErrorMessage

Inline 256-byte NUL-terminated UTF-8 error message.

##### Declaration

    public byte[] ErrorMessage

##### Field Value

Type | Description
--- | ---
byte[] |

#### ItemsFound

Items discovered.

##### Declaration

    public uint ItemsFound

##### Field Value

Type | Description
--- | ---
uint |

#### ItemsProcessed

Items processed so far.

##### Declaration

    public uint ItemsProcessed

##### Field Value

Type | Description
--- | ---
uint |

#### MessageLen

Byte length of strMessage.

##### Declaration

    public uint MessageLen

##### Field Value

Type | Description
--- | ---
uint |

#### ProgressCurrent

Progress numerator.

##### Declaration

    public long ProgressCurrent

##### Field Value

Type | Description
--- | ---
long |

#### ProgressMax

Progress denominator (total bytes to write); 0 until known.

##### Declaration

    public long ProgressMax

##### Field Value

Type | Description
--- | ---
long |

#### ProgressPercent

Progress as a percentage, 0.0–100.0.

##### Declaration

    public float ProgressPercent

##### Field Value

Type | Description
--- | ---
float |

#### Status

One of the `TASK_STATUS_*` values (0=NotStarted … 4=Failed).

##### Declaration

    public int Status

##### Field Value

Type | Description
--- | ---
int |

#### TaskHandle

Equals the `taskId` RunTask(string, int, string, TaskCallback, nint, out ulong) returned.

##### Declaration

    public ulong TaskHandle

##### Field Value

Type | Description
--- | ---
ulong |

#### strMessage

Transient UTF-8 pointer — the result JSON when Status is Completed. Read with `Marshal.PtrToStringUTF8(strMessage, (int)MessageLen)` and copy before the callback returns.

##### Declaration

    public nint strMessage

##### Field Value

Type | Description
--- | ---
nint |

### Methods

#### Equals(TaskStatusRecord)

Value equality over the scalar correlation fields (CA1815). The inline byte buffers are not compared.

##### Declaration

    public bool Equals(TaskStatusRecord other)

##### Parameters

Type | Name | Description
--- | --- | ---
TaskStatusRecord | other |

##### Returns

Type | Description
--- | ---
bool |

#### Equals(object?)

Indicates whether this instance and a specified object are equal.

##### Declaration

    public override bool Equals(object? obj)

##### Parameters

Type | Name | Description
--- | --- | ---
object | obj | The object to compare with the current instance.

##### Returns

Type | Description
--- | ---
bool | true if `obj` and this instance are the same type and represent the same value; otherwise, false.

##### Overrides

ValueType.Equals(object)

#### GetHashCode()

Returns the hash code for this instance.

##### Declaration

    public override int GetHashCode()

##### Returns

Type | Description
--- | ---
int | A 32-bit signed integer that is the hash code for this instance.

##### Overrides

ValueType.GetHashCode()

### Operators

#### operator ==(TaskStatusRecord, TaskStatusRecord)

Equality operator (CA1815).

##### Declaration

    public static bool operator ==(TaskStatusRecord left, TaskStatusRecord right)

##### Parameters

Type | Name | Description
--- | --- | ---
TaskStatusRecord | left |
TaskStatusRecord | right |

##### Returns

Type | Description
--- | ---
bool |

#### operator !=(TaskStatusRecord, TaskStatusRecord)

Inequality operator (CA1815).

##### Declaration

    public static bool operator !=(TaskStatusRecord left, TaskStatusRecord right)

##### Parameters

Type | Name | Description
--- | --- | ---
TaskStatusRecord | left |
TaskStatusRecord | right |

##### Returns

Type | Description
--- | ---
bool |

### Implements

IEquatable<T>