InternetSetFilePointer函数详解

来源:互联网 发布:天下游是什么软件 编辑:程序博客网 时间:2024/05/16 03:27


我们在做断点续传的下载程序的时候会用到这个函数去设置在服务器上的下载数据的位置,但是前提是服务器支持随机访问。这个函数就是设置读取Internet文件文件的位置。这是一个同步调用;然而,随后调用读取Internet文件可能会阻止或返回之前,如果没有数据从缓存和服务器不支持随机访问。

函数原型:

DWORD InternetSetFilePointer(  _In_    HINTERNET hFile,  _In_    LONG      lDistanceToMove,  _Inout_ PLONG     lpDistanceToMoveHigh,  _In_    DWORD     dwMoveMethod,  _In_    DWORD_PTR dwContext);

参数;

第一个参数;

hFile

第二个参数:

lDistanceToMove;

移动到自己定的下载位置

第三个参数;

lpDistanceToMoveHigh;

这个是管理高8位的,一般是非常大的才会用到,小文件可以设置为空

第四个参数;

dwMoveMethod;

文件指针移动的起点。此参数可以是下列值之一

FILE_BEGIN

起点是零或文件的开始。如果file_begin指定,ldistancetomove被解释为新文件指针符号位置。

FILE_CURRENT

文件指针的当前值为出发点。

FILE_END

这个就不用我说了吧;

第五个参数;

dwContext ;

此参数是保留的,必须是0。

说一下返回值;

函数成功,它返回当前的文件位置。

GetLastError来确定是否发生了一个错误

如果函数成功,lpdistancetomovehigh不为空,

则返回值是低阶的DWORD的新文件指针和lpdistancetomovehigh包含新文件指针的高阶DWORD。









0 0
原创粉丝点击