第一范文网 - 专业文章范例文档资料分享平台

点量BT内核使用说明文档v3.6.5

来源:用户分享 时间:2025/6/25 22:11:40 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

点量BT内核使用说明文档 参数:

hDownloader:下载任务的句柄。

index:文件的序号,要求 >=0 , 小于DLBT_Downloader_GetFileCount取得的文件的总数目。

说明:

Bitcomet以及点量BT 3.6版本后,均有可能有padding file存在,目的是为了更少的文件更新量以及较好的磁盘利用率,详见:DLBT_CreateTorrent的说明。

DLBT_Downloader_GetFilePathName

功能:获得任务(对应一个Torrent文件)中所包含的某个文件的路径和名称。

DLBT_API HRESULT WINAPI DLBT_Downloader_GetFilePathName ( HANDLE hDownloader, // 下载任务的句柄 int index, // 文件的序号 LPWSTR pBuffer, // 传出文件名

int * pBufferSize, // 传入buffer的大小,传出文件名的实际长度

bool needFullPath = false// 是否需要全部的路径还是只需要文件在种子中的相对路径

); 说明:

如果buffer的大小小于要返回的文件路径名大小,则会返回ERROR_INSUFFICIENT_BUFFER错误码,此时pBufferSize中会传出实际需要的大小,成功则返回S_OK。needFullPath如果为false,则只返回名字和在种子文件中的相对路径,否则返回在磁盘上的绝对路径。

DLBT_Downloader_GetFileHash

功能:获取某个文件的Hash值(SHA1算法)。只有制作种子时使用bUpdateExt才能获取到。

DLBT_API HRESULT WINAPI DLBT_Downloader_GetFileHash (

HANDLE hDownloader, // 下载任务的句柄

int index, // 要获取的文件的序号,piece的数目可以通过LPSTR pBuffer, // 传出Hash字符串

int * pBufferSize // 传入pBuffer的大小,pieceInfoHash固定为个字节,因此此处应该是

DLBT_Downloader_GetFileCount获得

的长度。 说明:

如果buffer的大小小于要返回的hash大小---建议使用48即可,则会返回ERROR_INSUFFICIENT_BUFFER错误码,此时pBufferSize中会传出实际需要的大小,成功则返回S_OK。详见DLBT_CreateTorrent中对bUpdateExt的说明。

点量BT,致力于最专业的BT传输内核

点量BT内核使用说明文档

DLBT_Downloader_GetFileProgress

功能:获得任务(对应一个Torrent文件)中所包含的某个文件的下载进度。

DLBT_API float WINAPI DLBT_Downloader_GetFileProgress (HANDLE hDownloader, int index);

参数:

hDownloader:下载任务的句柄。

index:文件的序号,要求 >=0 , 小于DLBT_Downloader_GetFileCount取得的文件的总数目。 说明:

该函数需要对数据进行一遍统计,需要进行一定的操作,建议仅在必要时使用

DLBT_FILE_PRIORITIZE

功能:设置单个文件的下载优先级。

enum DLBT_FILE_PRIORITIZE {

DLBT_FILE_PRIORITY_CANCEL = 0, // 取消该文件的下载

DLBT_FILE_PRIORITY_NORMAL, // 正常优先级 DLBT_FILE_PRIORITY_ABOVE_NORMAL, // 高优先级

DLBT_FILE_PRIORITY_MAX // 最高优先级(如果有该优先级的文件还未下完,不会下

载低优先级的文件) };

DLBT_Downloader_SetFilePrioritize

功能:设置文件的下载的优先级,可以通过这个接口设置某些文件不下载。

DLBT_API HRESULT WINAPI DLBT_Downloader_SetFilePrioritize ( HANDLE hDownloader,

int index, // 文件序号 DLBT_FILE_PRIORITIZE prioritize, // 优先级

BOOL bDoPriority = TRUE

); 参数:

hDownloader:下载任务的句柄。

index:文件的序号,要求 >=0 , 小于DLBT_Downloader_GetFileCount取得的文件的总数目。 prioritize:文件的优先级,请参考DLBT_FILE_PRIORITIZE。

bDoPriority:是否立即应用这个设置,如果有多个文件需要设置,建议暂时不立即应用,让最后一

点量BT,致力于最专业的BT传输内核

点量BT内核使用说明文档

个文件应用设置,或者可以主动调用DLBT_Downloader_ApplyPrioritize函数来应用,因为每应用一次设置都要对所有Piece操作一遍,比较麻烦,所以应该一起应用。

DLBT_Downloader_ApplyPrioritize

功能:立即应用对文件优先级的设置。

DLBT_API void WINAPI DLBT_Downloader_ApplyPrioritize (HANDLE hDownloader);

参数:

hDownloader:下载任务的句柄。

DLBT_Downloader_GetPiecesStatus

功能:获取当前每个分块的状态,比如可以用于判断是否需要去更新(是否已经拥有了该块)。

DLBT_API HRESULT WINAPI DLBT_Downloader_GetPiecesStatus (

HANDLE hDownloader, // 任务句柄

bool * pieceArray, // 标记每个块是否本地已是最新的数组 int arrayLength, // 数组的长度

int * pieceDownloaded // 已经下载的分块的数目,在显示下载的分块的图形时,该参数比较有用。如果发现该数字和上次获取时没有

// 变化,则可以不需要重画当前的分块状态图 );

参数:

hDownloader:下载任务的句柄。

pieceArray:标记分块状态的数组指针,bool (布尔)类型。该数组的长度必须与任务的总分块数相同,也就是必须是DLBT_Downloader_GetPieceCount个元素的数组,由内核逐一对数组中的元素赋值。True代表该块已经是最新了,false代表还没有该块,或者该块需要更新。

arrayLength:标记传入的pieceArray的长度,内核用于验证是否和任务的总分块数一致。 pieceDownloaded:当前已经拥有的正确的分块的数目,在显示下载的分块图形时,该参数非常有用。如果发现该数字和上次获取时一致,则无需去浏览pieceArray中的内容,也无需重画分块状态图。

说明:

该接口可以用于显示分块状态(哪些下载完成了)

DLBT_Downloader_SetPiecePrioritize

功能:设置Piece(分块)的下载优先级,比如可以用于取消某些分块的下载,从指定位置开始下载

等。index表示分块的序号。

点量BT,致力于最专业的BT传输内核

点量BT内核使用说明文档

DLBT_API HRESULT WINAPI DLBT_Downloader_SetPiecePrioritize (

HANDLE hDownloader,

int index, // 文件序号 DLBT_FILE_PRIORITIZE prioritize, // 优先级

BOOL bDoPriority = TRUE // 是否立即应用这个设置(如果有多个分块需要设置,建因为每应用一次设置都要对所有Piece操作一遍,比较麻烦,所以应该一起应用

议暂时不立即应用,让最后一个块应用设置,或者可以主动调用DLBT_Downloader_ApplyPrioritize函数来应用, ); 参数:

hDownloader:下载任务的句柄。

index:块的序号,要求 >=0 , 小于该任务块的总数目:DLBT_Downloader_GetPieceCount。 prioritize:文件的优先级,请参考DLBT_FILE_PRIORITIZE。

bDoPriority:是否立即应用这个设置,如果有多个分块需要设置,建议暂时不立即应用,让最后一个块应用设置,或者可以主动调用DLBT_Downloader_ApplyPrioritize函数来应用,因为每应用一次设置都要对所有Piece操作一遍,比较麻烦,所以应该一起应用。

说明:

该接口一可以支持数据块级别的下载优先级设定,使得高优先级的数据块最快下载,更好地支持了音视频点播直播等P2P应用;提升点播或直播数据时拖动的响应速度。在用户拖动进度条时,程序计算出分块的位置,设置该区域的块优先下载,则内核会下载该区域,以实现灵敏的响应进度条拖动。

DLBT_Downloader_AddPeerSource

功能:手工指定连接哪一个用户。

DLBT_API void WINAPI DLBT_Downloader_AddPeerSource (HANDLE hDownloader, char * ip, USHORT port);

参数:

hDownloader:下载任务的句柄。 ip:要连接的用户的IP地址。 port:要连接的用户的端口号。 说明:

如果连接几次,该用户都不能被连接上(比如对方不在线),那么该用户将有可能被删除出去,不再进行连接。如果在你们的系统中,要连接的是服务器,那么建议每30s或者1分钟调用一次该函数,以防止服务器短期下线。这样每隔一段时间连接一次就会解决这个问题。30s调用一次不会造成资源浪费,内部会有自动判断,如果已经在连接,则不会再建立连接。

点量BT,致力于最专业的BT传输内核

搜索更多关于: 点量BT内核使用说明文档v3.6.5 的文档
点量BT内核使用说明文档v3.6.5.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c1luj80ypti0fvam2h1pj_11.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top