CFile::LockRange 是 MFC(Microsoft Foundation Classes)中 CFile 类的一个公共方法,用于锁定文件的指定范围,以防止其他进程对该范围进行修改。这个方法的声明如下:
BOOL LockRange(
   ULONGLONG dwPos,
   ULONGLONG dwCount
);

其中,dwPos 是要锁定的起始位置,dwCount 是要锁定的字节数。如果成功锁定指定范围,该方法返回 TRUE,否则返回 FALSE。

以下是一个简单的示例代码,演示如何使用 CFile::LockRange 方法:
#include <afx.h>

int main() {
    // 假设有一个文件路径
    CString filePath = _T("C:\\Path\\To\\YourFile.txt");

    // 使用CFile打开文件
    CFile file;
    if (file.Open(filePath, CFile::modeReadWrite)) {
        // 锁定文件的前100个字节
        ULONGLONG startOffset = 0;
        ULONGLONG byteCount = 100;

        if (file.LockRange(startOffset, byteCount)) {
            wprintf(L"成功锁定文件的前%llu字节。\n", byteCount);
        } else {
            wprintf(L"无法锁定文件范围。\n");
        }

        // 解锁文件范围
        if (file.UnlockRange(startOffset, byteCount)) {
            wprintf(L"成功解锁文件的前%llu字节。\n", byteCount);
        } else {
            wprintf(L"无法解锁文件范围。\n");
        }

        // 关闭文件
        file.Close();
    } else {
        // 文件打开失败的处理
        wprintf(L"无法打开文件。\n");
    }

    return 0;
}

请确保在项目中包含了 MFC 库,并根据实际情况修改文件路径。这个示例打开一个文件,锁定文件的前100个字节,然后解锁相同的范围。


转载请注明出处:http://www.pingtaimeng.com/article/detail/17705/MFC/CFile