1、点量 BT 内核使用说明文档点量 BT,致力于最专业的 BT 下载内核点量 BT 内核使用说明文档Ver 3.1版 权 说 明 : 如 果 您 是 个 人 作 为 非 商 业 目 的 使 用 , 您 可 以 完 全 自 由 、 免 费 的 使 用 点 量 BT 内 核 库 和 演 示 程 序 以 及 本 文档 的 内 容 , 也 期 待 收 到 您 反 馈 的 意 见 和 建 议 。如 果 您 是 作 为 商 业 使 用 , 那 么 您 需 要 联 系 作 者 申 请 产 品 的 商 业 授 权 。点 量 BT 内 核 库 所 有 演 示 程 序 的 代 码 对 外 公 开 , 内 核 库 的
2、 代 码 只 限 付 费 用 户 个 人 使 用 。Author: HrybirdModify Date: 2009-1-1Mail: Hrybird at gmail dot comHomePage:http:/ 点量 BT 内核使用说明文档点量 BT,致力于最专业的 BT 下载内核目目 录录 一、 点量 BT 简介 .51.1 目的和功能 .51.2 适用范围 .71.3 点量 BT 专业上传服务器 .71.4 支持的语言和开发环境 .8二、 外部接口的整体介绍 .92.1 外部接口的模块结构 .92.2 常见的调用流程 .9三、 接口函数 .113.1 接口整体说明 .11DLBT_AP
3、I 和 WINAPI.113.2 KERNEL 整体环境接口 .11DLBT_Startup.11DLBT_GetListenPort .12DLBT_Shutdown .12DLBT_PreShutdown.12DLBT_SetUploadSpeedLimit 和 DLBT_SetUploadSpeedLimit.12DLBT_SetMaxUploadConnection 和 DLBT_SetMaxTotalConnection .12DLBT_SetLocalNetworkLimit .13DLBT_SetReportIP 和 DLBT_GetReportIP .13DLBT_SetUse
4、rAgent .13DLBT_SetMaxCacheSize .14DLBT_DHT_Start.14DLBT_DHT_Stop.15DLBT_DHT_IsStarted .15DLBT_PROXY_SETTING .15标记代理的应用范围 .16DLBT_SetProxy 和 DLBT_GetProxySetting.16加密协议和加密数据 .163.3 下载任务的相关接口 .17enum DLBT_DOWNLOAD_STATE.17enum DLBT_FILE_ALLOCATE_TYPE .17DLBT_Downloader_Initialize .18点量 BT 内核使用说明文档点量 B
5、T,致力于最专业的 BT 下载内核Downloader_Initialize_FromBuffer.19DLBT_Downloader_Initialize_FromTorrentHandle .20DLBT_Downloader_Release .21DLBT_Downloader_AddHttpDownload .21DLBT_Downloader_SetDiskCacheSize .21DLBT_Downloader_SetDownloadSequence.22DLBT_Downloader_GetState.22DLBT_Downloader_IsPaused .22DLBT_Down
6、loader_Pause 和 DLBT_Downloader_Resume .22DLBT_Downloader_SetDownloadLimit 和 DLBT_Downloader_SetUploadLimit .23DLBT_Downloader_SetMaxUploadConnections 和 DLBT_Downloader_SetMaxTotalConnections .23DLBT_Downloader_SetShareRateLimit 和 DLBT_Downloader_GetShareRate.23DLBT_Downloader_GetTorrentName .24DLBT_
7、Downloader_GetTotalFileSize .24DLBT_Downloader_GetProgress .24DLBT_Downloader_GetDownloadedBytes 和 DLBT_Downloader_GetUploadedBytes.24DLBT_Downloader_GetDownloadSpeed 和 DLBT_Downloader_GetUploadSpeed.25DLBT_Downloader_GetPeerNums .25DLBT_Downloader_GetFileCount.25DLBT_Downloader_GetFileSize.25DLBT_D
8、ownloader_GetFilePathName .26DLBT_Downloader_GetFileProgress.26DLBT_FILE_PRIORITIZE .26DLBT_Downloader_SetFilePrioritize .27DLBT_Downloader_ApplyPrioritize.27DLBT_Downloader_AddPeerSource.27DLBT_Downloader_GetInfoHash .28DLBT_Downloader_GetPieceCount 和 DLBT_Downloader_GetPieceSize.283.4 制作种子的相关接口 .2
9、8enum DLBT_TORRENT_TYPE .28DLBT_CreateTorrent .29DLBT_AddTracker .29DLBT_Torrent_AddHttpUrl .29DLBT_SaveTorrentFile .30DLBT_ReleaseTorrent .303.5 获取种子信息的接口 .30DLBT_OpenTorrent.30点量 BT 内核使用说明文档点量 BT,致力于最专业的 BT 下载内核DLBT_Torrent_GetComment 和 DLBT_Torrent_GetCreator.30DLBT_Torrent_GetTrackerCount .31DLB
10、T_Torrent_GetTrackerUrl.313.5 P2P 辅助性接口 .31enum PORT_TYPE.31DLBT_AddAppToWindowsXPFirewall .32DLBT_AddUPnPPortMapping .32DLBT_GetCurrentXPLimit .32DLBT_ChangeXPConnectionLimit.333.6 批量获取信息接口 .33struct KERNEL_INFO.33struct DOWNLOADER_INFO .34struct PEER_INFO_ENTRY.34struct PEER_INFO.35DLBT_GetKernelI
11、nfo .35DLBT_GetDownloaderInfo .35DLBT_GetDownloaderPeerInfoList 和 DLBT_FreeDownloaderPeerInfoList.35四、 常见问题解答 .374.1 现在也有些开源的 BT 软件了,为什么还要点量 BT 呢? .374.2 点量 BT 有后续升级计划么? .374.3 点量 BT 提供源码吗? .374.4 点量 BT 内核完全兼容 BT 协议吗? .384.5 有些功能暂未提供,我是否可以申请作者增加这些功能? .384.6 如何向作者进行反馈? .384.7 我可以免费使用点量 BT 的内核吗? .384.
12、8 如何才能获得点量 BT 的商业版本及其授权呢? .384.9 商业版本同演示版本有什么区别呢? .384.10 点量 BT 使用起来方便么? .384.11 点量 BT 在 VC、VB、C#等语言中如何调用? .38点量 BT 内核使用说明文档点量 BT,致力于最专业的 BT 下载内核一、 点量 BT 简介1.1 目的和功能点量 BT 的开发目的是让用户无需关心和了解 BT 的具体实现细节,只需要写几十行甚至几行代码,便可以实现一个功能完善而且强大的 BT 应用软件,减少越来越多的应用程序需要纳入 BT 功能时的大量重复性开发和资金成本消耗。点量 BT 内核提供标准的 BT 功能支持,同时
13、支持目前流行的各类 BT 扩展协议,是一个功能丰富的 BT 应用开发工具包。除了 BT 功能,点量 BT 还支持客户自定义协议,在基于 BT 架构的基础上,帮助您实现自己的 P2P 网络通讯协议,构建自己的 P2P 用户群。这里先列举点量 BT 的一些基本功能: 标准 BT 协议支持:完全标准官方 BT 协议的支持,并支持常用的多项扩展协议,点量 BT完全兼容各类 BT 应用软件。并且在现有的所有内核中,点量 BT 的兼容性是最好的,您可以使用点量示例程序下载一个流行的种子文件,速度是目前内核中最好的。这主要是由于点量 BT 内核完全支持 DHT 和各项扩展协议,以及对 BT 协议精通后做了些
14、优化的基础上实现的。 极其方便的调用方式:采用标准 DLL 方式,调用方式完全类似于系统 API (CreateFile 等函数) ,结合作者完善的开发文档和演示代码,开发一个功能完善的 BT 应用软件,所需时间之短超出你的想象。 支持 HTTP 协议同时下载:点量 BT 当前版本支持简单的跨协议下载,一方面突破了国内很多网络环境对 BT 端口和协议的封锁,另一方面解决了无人供种时的下载问题。 DHT 网络支持:点量 BT 提供标准的 DHT 网络支持,并自动加入 Bitcomet、官方 Bittorent等流行客户端的 DHT 网络,共享整个 BT 网络内的用户资源,一方面解决了无 Tracker 状态下的文件下载,另一方面提高了下载速度。 智能磁盘分配:支持全面预分配模式,此模式下可以文件下载前预先分配磁盘空间,减少磁盘碎片的产生;同时也支持边下载边分配的方式,用户可以根据需要自己