The lock record message is sent to lock the given byte range. More than one non-overlapping byte range may be locked in a given file. Locks prevent attempts to lock, read or write the locked portion of the file by other clients or pids. Overlapping locks are not allowed. Offsets beyond the current end of file may be locked. Such locks will not cause allocation of file space.
Since offset is a 32 bit quantity, this request is inappropriate for general locking within a very large file.
Client Request ================================== |
Description ================================= |
UCHAR WordCount; | Count of parameter words = 5 |
USHORT Fid; | File handle |
ULONG Count; | Count of bytes to lock |
ULONG Offset; | Offset from start of file |
USHORT ByteCount; | Count of data bytes = 0 |
Locks may only be unlocked by the pid that performed the lock.
Server Response ================================== |
Description ================================= |
UCHAR WordCount; | Count of parameter words = 0 |
USHORT ByteCount; | Count of data bytes = 0 |
This client request does not wait for the lock to be granted. If the lock can not be immediately granted (within 200-300 ms), the server should return failure to the client