• 汇编语言SetFilePointer函数:移动打开文件的位置指针

    函数 SetFilePointer 移动打开文件的位置指针。该函数可以用于向文件添加数据,或是执行随机访问记录处理:

    SetFilePointer PROTO,
        hFile:HANDLE,                                          ;文件句柄
        lpDistanceToMove:SDWORD,                  ;指针移动 字节数
        lpDistanceToMoveHigh:PTR SDWORD,   ;指针移动字节数,高双字
        dwMoveMethod:DWORD                        ;起点

    若函数调用失败,则返回值为零。dwMoveMode 指定文件指针移动的起点,选择项为 3 个预定义符号:FILE_BEGIN、FILE_CURRENT 和 FILE_END。

    移动距离本身为 64 位有符号整数值,分为两个部分:

    • lpDistanceToMove:低 32 位
    • lpDistanceToMoveHigh:含有高 32 位的变量指针

    如果 lpDistanceToMoveHigh 为空,则只用 lpDistanceToMove 的值来移动文件指针。例如,下面的代码准备添加到一个文件末尾:

    INVOKE SetFilePointer,
        fileHandle,        ;文件句柄
        0,                      ;距离低32位
        0,                      ;距离高32位
        FILE_END          ;移动模式

全部加载完成