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 | 获取任务 URL | string |
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,失败返回相应错误码。


