3.3.5.16 Receiving an SMB_COM_UNLOCK_BYTE_RANGE Request

Upon receipt of an SMB_COM_UNLOCK_BYTE_RANGE Request (section 2.2.4.14.1), the server MUST verify the FID in the request by looking it up in the Server.Connection.OpenTable (see section 3.3.5.2). The FID and the byte range being unlocked MUST exactly match a range that was previously locked by the same PID, and stored as an entry in Server.Open.Locks; otherwise, the server MUST send an error response message with status set to STATUS_RANGE_NOT_LOCKED (ERRDOS/ERROR_NOT_LOCKED). See [FSBO] section 3 for details of byte range lock semantics.<266>

If the unlock is successful, the server MUST construct an SMB_COM_UNLOCK_BYTE_RANGE response message as defined in section 2.2.4.14. The response MUST be sent to the client as specified in section 3.3.4.1. The server MUST remove the matching entry from the Server.Open.Locks list.