次の方法で共有


CFile::LockRange

ファイルが既にロックされている場合は例外をスローする開いているファイルのバイト列をロックします。

virtual void LockRange(
   ULONGLONG dwPos,
   ULONGLONG dwCount 
);

パラメーター

  • dwPos
    ロックするバイトの範囲の開始文字のオフセット (バイト単位)

  • dwCount
    ロックされるスコープ バイト数。

解説

ファイルのバイト列をロックすると、他のプロセスとそのバイトにアクセスできません。ファイルの複数の領域をロックできますが、重複の領域は使用できません。

ロックを解除すると、領域は UnlockRange のメンバー関数を使用してロックされた領域では、バイト範囲正確に対応する必要があります。LockRange 関数は隣接領域をマージできません; 2 種類のロックされた領域が隣接している場合は、各領域を個別にロックを解除する必要があります。

[!メモ]

この関数は CMemFileで使用できない派生クラスです。

使用例

CFile cfile;
cfile.Open(_T("LockRange_File.dat"), CFile::modeCreate |
   CFile::modeReadWrite);
ULONGLONG dwPos = 10;
ULONGLONG dwCount = 100;
cfile.LockRange(dwPos, dwCount);

// do something with the file

cfile.UnlockRange(dwPos, dwCount);

必要条件

ヘッダー : afx.h

参照

関連項目

CFile クラス

階層図

CFile::UnlockRange