2.2.4.14.1 Request

 SMB_Parameters
   {
   UCHAR  WordCount;
   Words
     {
     SHORT  FID;
     ULONG  CountOfBytesToUnlock;
     ULONG  UnlockOffsetInBytes;
     }
   }
 SMB_Data
   {
   USHORT  ByteCount;
   }

SMB_Header:

TID (2 bytes): This field MUST contain a valid TID, and the TID MUST be the same TID used in the SMB Header (section 2.2.3.1) when the block range was locked.

UID (2 bytes): This field MUST contain a valid UID, and the UID MUST be the same UID used in the SMB Header when the block range was locked.

PID (2 bytes): This field MUST contain a valid PID, and the PID MUST be the same PID used in the SMB Header when the block range was locked.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

SMB_Parameters

...

...

SMB_Data

...

SMB_Parameters (11 bytes):


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

WordCount

Words

...

...

WordCount (1 byte): This field MUST be 0x05.

Words (10 bytes):


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

FID

CountOfBytesToUnlock

...

UnlockOffsetInBytes

...

FID (2 bytes): This field MUST be a valid 16-bit signed integer indicating the file from which the data MUST be read.

CountOfBytesToUnlock (4 bytes): This field is a 32-bit unsigned integer indicating the number of contiguous bytes to be unlocked.

UnlockOffsetInBytes (4 bytes): This field is a 32-bit unsigned integer indicating the offset, in number of bytes, from which to begin the unlock. Because this field is limited to 32-bits, this command is inappropriate for files that have 64-bit offsets.

SMB_Data (2 bytes):


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

ByteCount

ByteCount (2 bytes): This field MUST be 0x0000. No data is sent by this message.