<Return[UV]><Top>

UnlockFile

Declare Function Api_UnlockFile& Lib "kernel32" Alias "UnlockFile" (ByVal hFile&, ByVal dwFileOffsetLow&, ByVal dwFileOffsetHigh&, ByVal nNumberOfBytesToUnlockLow&, ByVal nNumberOfBytesToUnlockHigh&)

Declare Function UnlockFile Lib "kernel32" (ByVal hFile As Long, ByVal dwFileOffsetLow As Long, ByVal dwFileOffsetHigh As Long, ByVal nNumberOfBytesToUnlockLow As Long, ByVal nNumberOfBytesToUnlockHigh As Long) As Long

開いているファイル内の指定された領域をロック解除する。領域をロック解除すると、ほかのプロセスがその領域にアクセスできるようになる。

パラメータ
hFile
    LockFile 関数を使ってロックした領域が所属している、ファイルのハンドルを指定する。このハンドルは、GENERIC_READ または

    GENERIC_WRITE アクセス権を指定して作成したものでなければならない。
dwFileOffsetLow
    ロック解除を開始するオフセットの下位ダブルワード(low-order doubleword)を指定する。
dwFileOffsetHigh
    ロック解除を開始するオフセットの上位ダブルワード(high-order doubleword)を指定する。
    Windows 95/98:dwFileOffsetHigh は 0 でなければならない。このパラメータは、dwFileOffsetLow パラメータの符号拡張であり、

    dwFileOffsetLow パラメータ単独で、2GB ではなく 4GB の大きさを表せるようになる。それ以外の値は拒否される。
nNumberOfBytesToUnlockLow
    ロック解除するべきバイト数の下位ダブルワードを指定する。
nNumberOfBytesToUnlockHigh
    ロック解除するべきバイト数の上位ダブルワードを指定する。
 

戻り値
    関数が成功すると、0 以外の値が返る。
    関数が失敗すると、0 が返る。拡張エラー情報を取得するには、 関数を使う。

解説
    ファイルの領域をロック解除すると、以前に獲得したロックが解放され、ほかのプロセスがその領域にアクセスできるようになる。

    ロック解除する領域は、LockFile 関数を使って指定した既存のロック済み領域と正確に一致していなければならない。

    たとえば、ファイル上の隣り合う 2 つの領域を個別にロックした後、それらを単一の長さを持つロック領域と見なしてロック解除することはでき

    ない。
    ファイルの一部をロックし、まだロック解除していないプロセスを終了させたり、一部がロックされているたファイルを閉じてはならない。

    それらの場合の動作は未定義である。
    FAT ファイルシステムでは、オペレーティングシステムが SHARE.EXE を実行している場合にだけ、ファイルの特定の領域をロックでき、

    UnlockFile 関数も機能を果たす。