更新自用SDK

This commit is contained in:
cryzlasm
2018-11-02 15:24:07 +08:00
parent 3e2e883b34
commit 6d5f7f7192
21 changed files with 533 additions and 0 deletions

164
0.CurUseCommonLib/xldl.h Normal file
View File

@@ -0,0 +1,164 @@
#pragma once
#ifdef WIN32
#include <WinSock2.h>
#include <windows.h>
#endif
// <20><><EFBFBD>нṹ<D0BD><EFBFBD>尴1<E5B0B4>ֽڶ<D6BD><DAB6><EFBFBD>
#pragma pack(push, 1)
struct DownTaskParam
{
DownTaskParam()
{
memset(this, 0, sizeof(DownTaskParam));
nReserved1 = 5;
bReserved = FALSE;
DisableAutoRename = FALSE;
IsOnlyOriginal = FALSE;
IsResume = TRUE;
}
int nReserved;
wchar_t szTaskUrl[2084]; // <20><><EFBFBD><EFBFBD>URL
wchar_t szRefUrl[2084]; // <20><><EFBFBD><EFBFBD>ҳ
wchar_t szCookies[4096]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>cookie
wchar_t szFilename[MAX_PATH]; // <20><><EFBFBD>ر<EFBFBD><D8B1><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>.
wchar_t szReserved0[MAX_PATH];
wchar_t szSavePath[MAX_PATH]; // <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>Ŀ¼
HWND hReserved;
BOOL bReserved;
wchar_t szReserved1[64];
wchar_t szReserved2[64];
BOOL IsOnlyOriginal; // <20>Ƿ<EFBFBD>ֻ<EFBFBD><D6BB>ԭʼ<D4AD><CABC>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>
UINT nReserved1;
BOOL DisableAutoRename; // <20><>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BOOL IsResume; // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DWORD reserved[2048];
};
enum DOWN_TASK_STATUS
{
NOITEM = 0,
TSC_ERROR,
TSC_PAUSE,
TSC_DOWNLOAD,
TSC_COMPLETE,
TSC_STARTPENDING,
TSC_STOPPENDING
};
enum TASK_ERROR_TYPE
{
TASK_ERROR_UNKNOWN = 0x00, // δ֪<CEB4><D6AA><EFBFBD><EFBFBD>
TASK_ERROR_DISK_CREATE = 0x01, // <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ʧ<EFBFBD><CAA7>
TASK_ERROR_DISK_WRITE = 0x02, // д<>ļ<EFBFBD>ʧ<EFBFBD><CAA7>
TASK_ERROR_DISK_READ = 0x03, // <20><><EFBFBD>ļ<EFBFBD>ʧ<EFBFBD><CAA7>
TASK_ERROR_DISK_RENAME = 0x04, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
TASK_ERROR_DISK_PIECEHASH = 0x05, // <20>ļ<EFBFBD>ƬУ<C6AC><D0A3>ʧ<EFBFBD><CAA7>
TASK_ERROR_DISK_FILEHASH = 0x06, // <20>ļ<EFBFBD>ȫ<EFBFBD><C8AB>У<EFBFBD><D0A3>ʧ<EFBFBD><CAA7>
TASK_ERROR_DISK_DELETE = 0x07, // ɾ<><C9BE><EFBFBD>ļ<EFBFBD>ʧ<EFBFBD><CAA7>ʧ<EFBFBD><CAA7>
TASK_ERROR_DOWN_INVALID = 0x10, // <20><>Ч<EFBFBD><D0A7>DOWN<57><4E>ַ
TASK_ERROR_PROXY_AUTH_TYPE_UNKOWN = 0x20, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ֪
TASK_ERROR_PROXY_AUTH_TYPE_FAILED = 0x21, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤ʧ<D6A4><CAA7>
TASK_ERROR_HTTPMGR_NOT_IP = 0x30, // http<74><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ip<69><70><EFBFBD><EFBFBD>
TASK_ERROR_TIMEOUT = 0x40, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ
TASK_ERROR_CANCEL = 0x41, // <20><><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>
TASK_ERROR_TP_CRASHED = 0x42, // MINITP<54><50><EFBFBD><EFBFBD>
TASK_ERROR_ID_INVALID = 0x43, // TaskId <20>Ƿ<EFBFBD>
};
struct DownTaskInfo
{
DownTaskInfo()
{
memset(this, 0, sizeof(DownTaskInfo));
stat = TSC_PAUSE;
fail_code = TASK_ERROR_UNKNOWN;
fPercent = 0;
bIsOriginUsable = false;
fHashPercent = 0;
}
DOWN_TASK_STATUS stat;
TASK_ERROR_TYPE fail_code;
wchar_t szFilename[MAX_PATH];
wchar_t szReserved0[MAX_PATH];
__int64 nTotalSize; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD>С(<28>ֽ<EFBFBD>)
__int64 nTotalDownload; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>(<28><><EFBFBD>ܴ<EFBFBD><DCB4>ڻ<EFBFBD><DABB>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD>)
float fPercent; // <20><><EFBFBD>ؽ<EFBFBD><D8BD><EFBFBD>
int nReserved0;
int nSrcTotal; // <20><><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>
int nSrcUsing; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>
int nReserved1;
int nReserved2;
int nReserved3;
int nReserved4;
__int64 nReserved5;
__int64 nDonationP2P; // p2p<32><70><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
__int64 nReserved6;
__int64 nDonationOrgin; // ԭʼ<D4AD><CABC>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
__int64 nDonationP2S; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
__int64 nReserved7;
__int64 nReserved8;
int nSpeed; // <20><>ʱ<EFBFBD>ٶ<EFBFBD>(<28>ֽ<EFBFBD>/<2F><>)
int nSpeedP2S; // <20><>ʱ<EFBFBD>ٶ<EFBFBD>(<28>ֽ<EFBFBD>/<2F><>)
int nSpeedP2P; // <20><>ʱ<EFBFBD>ٶ<EFBFBD>(<28>ֽ<EFBFBD>/<2F><>)
bool bIsOriginUsable; // ԭʼ<D4AD><CABC>Դ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>Ч
float fHashPercent; // <20>ֲ<EFBFBD><D6B2><EFBFBD><E1B9A9>ֵ
int IsCreatingFile; // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ļ<EFBFBD>
DWORD reserved[64];
};
enum DOWN_PROXY_TYPE
{
PROXY_TYPE_IE = 0,
PROXY_TYPE_HTTP = 1,
PROXY_TYPE_SOCK4 = 2,
PROXY_TYPE_SOCK5 = 3,
PROXY_TYPE_FTP = 4,
PROXY_TYPE_UNKOWN = 255,
};
enum DOWN_PROXY_AUTH_TYPE
{
PROXY_AUTH_NONE =0,
PROXY_AUTH_AUTO,
PROXY_AUTH_BASE64,
PROXY_AUTH_NTLM,
PROXY_AUTH_DEGEST,
PROXY_AUTH_UNKOWN,
};
struct DOWN_PROXY_INFO
{
BOOL bIEProxy;
BOOL bProxy;
DOWN_PROXY_TYPE stPType;
DOWN_PROXY_AUTH_TYPE stAType;
wchar_t szHost[2048];
INT32 nPort;
wchar_t szUser[50];
wchar_t szPwd[50];
wchar_t szDomain[2048];
};
/*struct WSAPROTOCOL_INFOW;*/
#pragma pack(pop)
namespace DownEngine
{
extern "C" __declspec(dllimport) BOOL XL_Init(void);
extern "C" __declspec(dllimport) BOOL XL_UnInit(void);
extern "C" __declspec(dllimport) HANDLE XL_CreateTask(DownTaskParam &stParam);
extern "C" __declspec(dllimport) BOOL XL_DeleteTask(HANDLE hTask);
extern "C" __declspec(dllimport) BOOL XL_StartTask(HANDLE hTask);
extern "C" __declspec(dllimport) BOOL XL_StopTask(HANDLE hTask);
extern "C" __declspec(dllimport) BOOL XL_ForceStopTask(HANDLE hTask);
extern "C" __declspec(dllimport) BOOL XL_QueryTaskInfo(HANDLE hTask, DownTaskInfo & stTaskInfo); //<2F>ɰ<EFBFBD><C9B0>ӿڣ<D3BF>ʹ<EFBFBD><CAB9>Ex<45>ӿ<EFBFBD><D3BF>
extern "C" __declspec(dllimport) BOOL XL_QueryTaskInfoEx(HANDLE hTask, DownTaskInfo & stTaskInfo);
extern "C" __declspec(dllimport) BOOL XL_DelTempFile(DownTaskParam &stParam);
extern "C" __declspec(dllimport) void XL_SetSpeedLimit(INT32 nKBps);
extern "C" __declspec(dllimport) void XL_SetUploadSpeedLimit(INT32 nTcpKBps,INT32 nOtherKBps);
extern "C" __declspec(dllimport) BOOL XL_SetProxy(DOWN_PROXY_INFO &stProxyInfo);
extern "C" __declspec(dllimport) void XL_SetUserAgent(const wchar_t *pszUserAgent);
extern "C" __declspec(dllimport) BOOL XL_ParseThunderPrivateUrl(const wchar_t *pszThunderUrl, wchar_t *normalUrlBuffer, INT32 bufferLen);
extern "C" __declspec(dllimport) BOOL XL_GetFileSizeWithUrl(const wchar_t * lpURL, INT64& iFileSize);
extern "C" __declspec(dllimport) BOOL XL_SetFileIdAndSize(HANDLE hTask, char szFileId[40], unsigned __int64 nFileSize);
extern "C" __declspec(dllimport) BOOL XL_SetAdditionInfo( HANDLE task_id, WSAPROTOCOL_INFOW *sock_info, CHAR *http_resp_buf, LONG buf_len );
extern "C" __declspec(dllimport) HANDLE XL_CreateTaskByURL(const wchar_t *url, const wchar_t *path, const wchar_t *fileName, BOOL IsResume);
extern "C" __declspec(dllimport) LONG XL_CreateTaskByThunder(wchar_t *pszUrl, wchar_t *pszFileName, wchar_t *pszReferUrl, wchar_t *pszCharSet, wchar_t *pszCookie);
extern "C" __declspec(dllimport) LONG XL_CreateBTTaskByThunder(const wchar_t *pszPath);
};