迅雷下载开放引擎
*****产品说明*****
迅雷下载开放引擎是迅雷开放下载技术的重要产品,依托迅雷强大的下载加速技术和将近4亿互联网用户覆盖,开放下载相关调用接口,为第三方客户端软件提供免费、高速、省带宽的下载加速服务。
*****官方网站*****
http://thunderplatform.xunlei.com
*****接口说明*****
http://xldoc.xl7.xunlei.com/
*****附件说明*****
1,开放引擎库文件和头文件
2,开放引擎示例程序及示例程序源代码
完全开放、完全免费、互利、共赢,欢迎业界厂商采用迅雷下载开放引擎为您的产品提供更高的价值和更好的用户体验。
#pragma once
/*
------------------导出函数--------------
*/
BOOL __stdcall XLInitDownloadEngine();
DWORD __stdcall XLURLDownloadToFile(LPCTSTR pszFileName, LPCTSTR pszUrl, LPCTSTR pszRefUrl, LONG & lTaskId);
DWORD __stdcall XLQueryTaskInfo(LONG lTaskId, LONG *plStatus, ULONGLONG *pullFileSize, ULONGLONG *pullRecvSize);
DWORD __stdcall XLPauseTask(LONG lTaskId, LONG & lNewTaskId);
DWORD __stdcall XLContinueTask(LONG lTaskId);
VOID __stdcall XLStopTask(LONG lTaskId);
BOOL __stdcall XLUninitDownloadEngine();
/*
----------------------类型定义-----------------
*/
enum enumTaskStatus{
enumTaskStatus_Connect = 0, // 已经建立连接
enumTaskStatus_Download = 2, // 开始下载
enumTaskStatus_Pause = 10, // 暂停
enumTaskStatus_Success = 11, // 成功下载
enumTaskStatus_Fail = 12, // 下载失败
};
#pragma once
#define XL_SUCCESS 0
#define XL_ERROR_FAIL 0x10000000
//尚未进行初始化
#define XL_ERROR_UNINITAILIZE XL_ERROR_FAIL+1
// 不支持的协议,目前只支持HTTP和FTP
#define XL_ERROR_UNSPORTED_PROTOCOL XL_ERROR_FAIL+2
// 初始化托盘图标失败
#define XL_ERROR_INIT_TASK_TRAY_ICON_FAIL XL_ERROR_FAIL+3
// 添加托盘图标失败
#define XL_ERROR_ADD_TASK_TRAY_ICON_FAIL XL_ERROR_FAIL+4
// 指针为空
#define XL_ERROR_POINTER_IS_NULL XL_ERROR_FAIL+5
// 字符串是空串
#define XL_ERROR_STRING_IS_EMPTY XL_ERROR_FAIL+6
// 传入的路径没有包含文件名
#define XL_ERROR_PATH_DONT_INCLUDE_FILENAME XL_ERROR_FAIL+7
// 创建目录失败
#define XL_ERROR_CREATE_DIRECTORY_FAIL XL_ERROR_FAIL+8
// 内存不足
#define XL_ERROR_MEMORY_ISNT_ENOUGH XL_ERROR_FAIL+9
// 参数不合法
#define XL_ERROR_INVALID_ARG XL_ERROR_FAIL+10
// 任务不存在
#define XL_ERROR_TASK_DONT_EXIST XL_ERROR_FAIL+11
// 文件名不合法
#define XL_ERROR_FILE_NAME_INVALID XL_ERROR_FAIL+12
// 没有实现
#define XL_ERROR_NOTIMPL XL_ERROR_FAIL+13
// 已经创建的任务数达到最大任务数,无法继续创建任务
#define XL_ERROR_TASKNUM_EXCEED_MAXNUM XL_ERROR_FAIL+14