跳转至

DLLOneScriptGetStatus

函数 DLLOneScriptGetStatus 查询指定任务中 OneScript 程序的运行状态、当前行号、错误码与错误信息。(程序输出缓冲区内容也可一并获取。)

所属:C/C++ API 函数索引

C/C++

ErrorCode DLLOneScriptGetStatus(INT_PTR hClientHandle, int taskId, int* outState, int* outCurrentLine, int* outErrorCode, char* outErrorMsg, int* inOutErrorMsgSize, char* outOutput, int* inOutOutputSize);

C#

Controller.Tasks[taskId].OneScript.Status(属性)与 .OneScript.RefreshStatus() — 刷新并获取任务运行状态。

参数

hClientHandle (INT_PTR)

客户端会话句柄,由 DLLSysConnect 获取。

taskId (int)

目标任务编号(1-indexed)。

outState (int*)

输出。接收任务运行状态(0=空闲,1=运行,2=暂停,具体定义参见固件文档)。

outCurrentLine (int*)

输出。接收当前执行行号(0 表示未在执行)。

outErrorCode (int*)

输出。接收错误码(非零表示有错误)。

outErrorMsg (char*)

输出。接收错误信息字符串缓冲区。

inOutErrorMsgSize (int*)

输入输出。*outErrorMsg 缓冲区容量;返回时写入实际字符数。

outOutput (char*)

输出。接收程序 print/printf 输出缓冲区内容。

inOutOutputSize (int*)

输入输出。*outOutput 缓冲区容量;返回时写入实际字符数。

返回值

返回 ErrorCodeNoError (0) 表示查询成功,正值为错误码,详见 SDK 发布头 ErrorCode.h。

示例

int state = 0, line = 0, errorCode = 0;
char msg[256] = {0};  int msgSize = sizeof(msg);
char output[1024] = {0}; int outputSize = sizeof(output);
DLLOneScriptGetStatus(handle, 1, &state, &line, &errorCode,
                      msg, &msgSize, output, &outputSize);

相关函数