在线咨询
Skip to content

xl_dl_get_task_info ​

说明: ​

获取任务信息。

语法: ​

c
int32_t xl_dl_get_task_info(uint64_t task_id, const char* info_name, void* buff, uint32_t* buff_len);

参数: ​

[in] task_id: 任务 ID。

[in] info_name: 信息名称,支持以下取值:

info_name描述输出类型(buff)
url获取任务 URLstring
save_path获取文件保存路径string
save_name获取文件保存名称string
traffic获取任务流量信息struct
creation_time获取任务创建时间uint64
completion_time获取任务完成时间uint64

各取值用法示例:

url / save_path / save_name(string 类型,用法一致,以 url 为例):

c
uint32_t len = 0;
auto code = xl_dl_get_task_info(task_id, "url", NULL, &len);

char* url_buff = new char[len];
code = xl_dl_get_task_info(task_id, "url", url_buff, &len);

traffic(struct 类型):

c
struct xl_dl_task_traffic_info_t {
  uint64_t origin_size; // 从原始 url 下载字节数
  uint64_t p2p_size;    // 通过 P2P 下载的字节数
  uint64_t p2s_size;    // 通过 P2S 下载的字节数
  uint64_t dcdn_size;   // 保留
};

xl_dl_task_traffic_info info;
uint32_t len = sizeof(info);
auto code = xl_dl_get_task_info(task_id, "traffic", &info, &len);

creation_time / completion_time(uint64 类型,以 creation_time 为例):

c
uint64_t ts = 0;
uint32_t sz = sizeof(ts);
auto code = xl_dl_get_task_info(task_id, "creation_time", &ts, &sz);

[out] buff: 缓冲区地址,当 buff 为 NULL 时,SDK 通过 buff_len 指向的值返回所需要的缓冲区大小。

[in, out] buff_len: 缓冲区大小,该参数所指向的值应设置为 buff 缓存区大小,函数返回时该参数所指向的值会被 SDK 设置为已拷贝字节数。

返回值: ​

成功返回 0,失败返回相应错误码。