2.2.4.15.2 Response
The response format is different from the original Core Protocol. For the original response format, refer to [SNIA] or [XOPEN-SMB].
-
SMB_Parameters { UCHAR WordCount; Words { USHORT FID; } } SMB_Data { USHORT ByteCount; Bytes { UCHAR TemporaryFileName[ByteCount]; } }
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SMB_Parameters |
SMB_Data (variable) |
||||||||||||||||||||||||||||||
... |
SMB_Parameters (3 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): This field MUST be 0x01.
-
Words (2 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
1FID
-
FID (2 bytes): The FID representing the file on the server. This value MUST be supplied in the FID field of the SMB Header (section 2.2.3.1) in subsequent requests that manipulate the file.
-
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): 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
1TemporaryFileName (variable)
...
-
TemporaryFileName (variable): A null-terminated string that contains the temporary file name generated by the server.<29> The string SHOULD be a null-terminated array of ASCII characters.
-
Error Codes
SMB error class |
SMB error code |
NT status code |
POSIX equivalent |
Description |
---|---|---|---|---|
ERRDOS (0x01) |
ERRbadfile (0x0002) |
STATUS_NO_SUCH_FILE (0xC000000F) |
ENOENT |
The named directory was not found. |
ERRDOS (0x01) |
ERRbadpath (0x0003) |
STATUS_OBJECT_PATH_SYNTAX_BAD (0xC000003B) |
ENOENT |
The file path syntax is invalid. |
ERRDOS (0x01) |
ERRbadpath (0x0003) |
STATUS_OBJECT_PATH_INVALID (0xC0000039) |
ENOTDIR |
A component of the path-prefix was not a directory. |
ERRDOS (0x01) |
ERRnofids (0x0004) |
STATUS_OS2_TOO_MANY_OPEN_FILES (0x00040001) STATUS_TOO_MANY_OPENED_FILES (0xC000011F) |
EMFILE |
Too many open files. No more FIDs available. |
ERRDOS (0x01) |
ERRnoaccess (0x0005) |
STATUS_ACCESS_DENIED (0xC0000022) |
EACCESS |
A component of the path-prefix denied search permission OR requested access permission is denied for the directory. |
ERRDOS (0x01) |
ERRnomem (0x0008) |
STATUS_INSUFF_SERVER_RESOURCES (0xC0000205) DOS |
ENOMEM |
The server is out of resources. |
ERRDOS (0x01) |
ERRinvalidname (0x007B) |
STATUS_OBJECT_NAME_COLLISION (0xC00000BA) |
|
Temporary file could not be created because a unique name could not be generated. |
ERRSRV (0x02) |
ERRerror (0x0001) |
STATUS_INVALID_SMB (0x00010002) |
|
Invalid SMB. The wrong number of parameter bytes was sent. |
ERRSRV (0x02) |
ERRerror (0x0001) |
|
EFAULT |
Path points outside the allocated address space of the process. |
ERRSRV (0x02) |
ERRerror (0x0001) |
|
EINTR |
A signal was caught during the open operation. |
ERRSRV (0x02) |
ERRerror (0x0001) |
|
ENXIO |
Generic server open failure. |
ERRSRV (0x02) |
ERRaccess (0x0004) |
STATUS_NETWORK_ACCESS_DENIED (0xC00000CA) |
|
Permission conflict between requested permission and permissions for the shared resource: for example, open for write of a file in a read-only file system subtree. |
ERRSRV (0x02) |
ERRinvtid (0x0005) |
STATUS_SMB_BAD_TID (0x00050002) |
|
The TID is no longer valid. |
ERRSRV (0x02) |
ERRinvdevice (0x0007) |
STATUS_BAD_DEVICE_TYPE (0xC00000CB) |
|
File creation request made to a share that is not a file system subtree. |
ERRSRV (0x02) |
ERRbaduid (0x005B) |
STATUS_SMB_BAD_UID (0X005B0002) |
|
The UID supplied is not defined for the session, or the user identified by the UID does not have sufficient privileges. |
ERRHRD (0x03) |
ERRnowrite (0x0013) |
STATUS_MEDIA_WRITE_PROTECTED (0xC00000A2) |
EROFS |
Attempt to write to a read-only file system. |
ERRHRD (0x03) |
ERRdata (0x0017) |
STATUS_DATA_ERROR (0xC000003E) |
EIO |
Disk I/O error. |