Partager via


2.2.4.1.2 Server Response Extensions

If the client requested extended information by setting SMB_OPEN_EXTENDED_RESPONSE, then a successful response takes the following format. Aside from WordCount, ResourceType, ServerFID, Reserved, MaximalAccessRights, and GuestMaximalAccessRights fields, all other fields are as specified in [MS-CIFS] section 2.2.4.41.2.

 SMB_Parameters
   {
   UCHAR WordCount;
   Words
     {
     UCHAR               AndXCommand;
     UCHAR               AndXReserved;
     USHORT              AndXOffset;
     USHORT              FID;
     SMB_FILE_ATTRIBUTES FileAttrs;
     UTIME               LastWriteTime;
     ULONG               FileDataSize;
     USHORT              AccessRights;
     USHORT              ResourceType;
     USHORT              NMPipeStatus;
     USHORT              OpenResults;
     ULONG               ServerFID;
     USHORT              Reserved;
     ACCESS_MASK         MaximalAccessRights;
     ACCESS_MASK         GuestMaximalAccessRights;
     }
   }
 SMB_Data
   {
   USHORT ByteCount;   
   }


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 (39 bytes)

...

...

...

SMB_Data

...

SMB_Parameters (39 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 (38 bytes)

...

...

...

WordCount (1 byte): The value of this field MUST be 0x13.

Words (38 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

AndXCommand

AndXReserved

AndXOffset

FID

FileAttrs

LastWriteTime

FileDataSize

AccessRights

ResourceType

NMPipeStatus

OpenResults

ServerFID

Reserved

MaximalAccessRights

...

GuestMaximalAccessRights

...

ResourceType (2 bytes): The file type. This field MUST be interpreted as follows:

Name & value

Meaning

FileTypeDisk

0x0000

File or Directory

FileTypeByteModePipe

0x0001

Byte mode named pipe

FileTypeMessageModePipe

0x0002

Message mode named pipe

FileTypePrinter

0x0003

Printer Device

FileTypeUnknown

0xFFFF

Unknown file type

ServerFID (4 bytes): Reserved but not implemented. Intended as a 32-bit server file identifier that uniquely identifies the file on the server. This field MUST be set to zero by the server and ignored by the client.

Reserved (2 bytes): An unused value that SHOULD be set to zero when sending this message. The client MUST ignore this field when receiving this message.

MaximalAccessRights (4 bytes): The maximum access rights that this user has on this object. This field MUST be encoded in an ACCESS_MASK format, as specified in section 2.2.1.4.

GuestMaximalAccessRights (4 bytes): The maximum access rights that the guest account has on this file. This field MUST be encoded in an ACCESS_MASK format, as specified in section 2.2.1.4. Support and exact specifications of the notion of a guest account is implementation specific. Implementations that do not support the notion of a guest account MUST set this field to zero.<24>

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): The value of this field SHOULD<25> be set to zero. The server MUST NOT send any data in this message.