共用方式為


2.2.4.11.1 Request

 SMB_Parameters
   {
   UCHAR  WordCount;
   Words
     {
     SHORT  FID;
     USHORT CountOfBytesToRead;
     ULONG  ReadOffsetInBytes;
     USHORT EstimateOfRemainingBytesToBeRead;
     }
   }
 SMB_Data
   {
   USHORT ByteCount;
   }

SMB_Header

Flags2 (2 bytes):

Name and bitmask

Relevance

SMB_FLAGS2_READ_IF_EXECUTE

0x2000

If the bit is set and client has execute permission on the file, then the client MAY read the file even if the client does not have READ permission.

This flag is also known as SMB_FLAGS2_PAGING_IO.


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

CountOfBytesToRead

ReadOffsetInBytes

EstimateOfRemainingBytesToBeRead

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

CountOfBytesToRead (2 bytes): This field is a 16-bit unsigned integer indicating the number of bytes to be read from the file. The client MUST ensure that the amount of data requested will fit in the negotiated maximum buffer size.

ReadOffsetInBytes (4 bytes): This field is a 32-bit unsigned integer indicating the offset, in number of bytes, from which to begin reading from the file. The client MUST ensure that the amount of data requested fits in the negotiated maximum buffer size. Because this field is limited to 32 bits, this command is inappropriate for files having 64-bit offsets.

EstimateOfRemainingBytesToBeRead (2 bytes): This field is a 16-bit unsigned integer indicating the remaining number of bytes that the client intends to read from the file. This is an advisory field and MAY be 0x0000.

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.