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
Inherited Members
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 |
Overrides
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
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 |