2.2.4.55.2 Response
-
SMB_Parameters { UCHAR WordCount; Words { UCHAR AndXCommand; UCHAR AndXReserved; USHORT AndXOffset; USHORT OptionalSupport; } } SMB_Data { USHORT ByteCount; Bytes { OEM_STRING Service; SMB_STRING NativeFileSystem; }
SMB_Header:
-
-
TID (2 bytes): If the command is successful, the TID field in the response header MUST contain the TID identifying the newly created connection.
-
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SMB_Parameters |
|||||||||||||||||||||||||||||||
... |
SMB_Data (variable) |
||||||||||||||||||||||||||||||
... |
SMB_Parameters (7 bytes):
-
0
1
2
3
4
5
6
7
8
91
0
1
2
3
4
5
6
7
8
92
0
1
2
3
4
5
6
7
8
93
0
1WordCount
Words
...
-
WordCount (1 byte): The value of this field MUST be 0x03.
-
Words (6 bytes):
-
0
1
2
3
4
5
6
7
8
91
0
1
2
3
4
5
6
7
8
92
0
1
2
3
4
5
6
7
8
93
0
1AndXCommand
AndXReserved
AndXOffset
OptionalSupport
-
AndXCommand (1 byte): The command code for the next SMB command in the packet. This value MUST be set to 0xFF if there are no additional SMB command responses in the server response packet.
-
AndXReserved (1 byte): A reserved field. This MUST be set to 0x00 when this response is sent, and the client MUST ignore this field.
-
AndXOffset (2 bytes): This field MUST be set to the offset in bytes from the start of the SMB Header (section 2.2.3.1) to the start of the WordCount field in the next SMB command response in this packet. This field is valid only if the AndXCommand field is not set to 0xFF. If AndXCommand is 0xFF, this field MUST be ignored by the client.
-
OptionalSupport (2 bytes): A 16-bit field. The following OptionalSupport field flags are defined. Any combination of the following flags MUST be supported. All undefined values are considered reserved. The server SHOULD set them to 0, and the client MUST ignore them.
-
SMB_Data (variable):
-
0
1
2
3
4
5
6
7
8
91
0
1
2
3
4
5
6
7
8
92
0
1
2
3
4
5
6
7
8
93
0
1ByteCount
Bytes (variable)
...
-
ByteCount (2 bytes): The value of this field MUST be greater than or equal to 0x0002.
-
Bytes (variable):
-
0
1
2
3
4
5
6
7
8
91
0
1
2
3
4
5
6
7
8
92
0
1
2
3
4
5
6
7
8
93
0
1Service (variable)
...
NativeFileSystem (variable)
...
-
Service (variable): The type of the shared resource to which the TID is connected. The Service field MUST be encoded as a null-terminated array of OEM characters, even if the client and server have negotiated to use Unicode strings. The valid values for this field are as follows.
-
Service string
Description
"A:"
Disk Share
"LPT1:"
Printer Share
"IPC"
Named Pipe
"COMM"
Serial Communications device
-
-
NativeFileSystem (variable): The name of the file system on the local resource to which the returned TID is connected. If SMB_FLAGS2_UNICODE is set in the Flags2 field of the SMB Header of the response, this value MUST be a null-terminated string of Unicode characters. Otherwise, this field MUST be a null-terminated string of OEM characters. For resources that are not backed by a file system, such as the IPC$ share used for named pipes, this field MUST be set to the empty string.<107>
-
Error Codes
SMB error class |
SMB error code |
NT status code |
POSIX equivalent |
Description |
---|---|---|---|---|
ERRDOS (0x01) |
ERRbadpath (0x0003) |
STATUS_OBJECT_PATH_NOT_FOUND (0xC000003A) |
ENOENT |
The share path does not reference a valid resource. |
ERRDOS (0x01) |
ERRnoaccess (0x0005) |
STATUS_LOGON_FAILURE (0xC000006D) |
EPERM |
The server rejected the client logon attempt. |
ERRDOS (0x01) |
ERRnomem (0x0008) |
STATUS_INSUFF_SERVER_RESOURCES (0xC0000205) |
ENOMEM |
The server is out of resources. Out of memory or TIDs. |
ERRDOS (0x01) |
ERRpaused (0x0046) |
STATUS_SHARING_PAUSED (0xC00000CF) |
|
The server is temporarily paused. |
ERRDOS (0x01) |
ERRreqnotaccep (0x0047) |
STATUS_REQUEST_NOT_ACCEPTED (0xC00000D0) |
|
The server has no more connections available. |
ERRSRV (0x02) |
ERRerror (0x0001) |
STATUS_INVALID_SMB (0x00010002) |
|
Invalid SMB. Not enough parameter bytes were sent. |
ERRSRV (0x02) |
ERRbadpw (0x0002) |
STATUS_LOGON_FAILURE (0xC000006D) |
|
Incorrect password during logon attempt. |
ERRSRV (0x02) |
ERRaccess (0x0004) |
STATUS_ACCESS_DENIED (0xC0000022) |
|
The user is not authorized to access the resource. |
ERRSRV (0x02) |
ERRinvnetname (0x0006) |
STATUS_BAD_NETWORK_NAME (0xC00000CC) |
|
The share path is not valid. |
ERRSRV (0x02) |
ERRinvdevice (0x0007) |
STATUS_BAD_DEVICE_TYPE (0xC00000CB) |
|
Resource type invalid. Value of Service field in the request was invalid. |
ERRSRV (0x02) |
ERRbaduid (0x005B) |
STATUS_SMB_BAD_UID (0x005B0002) |
|
The UID supplied is not defined to the session. |