2.2.4.3.2 Response
-
SMB_Parameters { UCHAR WordCount; Words { USHORT FID; SMB_FILE_ATTRIBUTES FileAttrs; UTIME LastModified; ULONG FileSize; USHORT AccessMode; } } SMB_Data { USHORT ByteCount; }
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SMB_Parameters (15 bytes) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
... |
SMB_Data |
||||||||||||||||||||||||||||||
... |
SMB_Parameters (15 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 (14 bytes)
...
...
...
-
WordCount (1 byte): This field MUST be 0x07. The length, in 2-byte words, of the remaining SMB_Parameters.
-
Words (14 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
FileAttrs
LastModified
FileSize
AccessMode
-
FID (2 bytes): The FID returned for the open file.
-
FileAttrs (2 bytes): The set of attributes currently assigned to the file. This field is formatted in the same way as the SearchAttributes field in the request.
-
LastModified (4 bytes): The time of the last modification to the opened file.
-
FileSize (4 bytes): The current size of the opened file, in bytes.
-
AccessMode (2 bytes): A 16-bit field for encoding the granted access mode. This field is formatted in the same way as the Request equivalent.
SMB_Data (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
1ByteCount
-
ByteCount (2 bytes): This field MUST be 0x0000. No data is sent by this message.
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 file was not found. |
ERRDOS (0x01) |
ERRbadpath (0x0003) |
STATUS_OBJECT_PATH_SYNTAX_BAD (0xC000003B) |
ENOENT |
The file path syntax is invalid. |
ERRDOS (0x01) |
ERRnofids (0x0004) |
STATUS_OS2_TOO_MANY_OPEN_FILES (0x00040001) STATUS_TOO_MANY_OPENED_FILES (0xC000011F) |
ENFILE |
Too many open files, no more FIDs available. |
ERRDOS (0x01) |
ERRbadpath (0x0003) |
STATUS_OBJECT_PATH_INVALID (0xC0000039) |
ENOTDIR |
A component of the path-prefix was not a directory. |
ERRDOS (0x01) |
ERRnoaccess (0x0005) |
STATUS_ACCESS_DENIED (0xC0000022) |
EACCESS |
A component of the path-prefix denied search permission OR the requested access permission is denied for the file OR an open mode failure occurred. |
ERRDOS (0x01) |
ERRnoaccess (0x0005) |
STATUS_FILE_IS_A_DIRECTORY (0xC00000BA) |
EISDIR |
Named file is an existing directory and requested open mode is write or read/write. |
ERRDOS (0x01) |
ERRnoaccess (0x0005) |
STATUS_ACCESS_DENIED (0xC0000022) |
ETXTBSY |
File is an executable binary file that is being executed and requested access permission specifies write or read/write. |
ERRDOS (0x01) |
ERRnomem (0x0008) |
STATUS_INSUFF_SERVER_RESOURCES (0xC0000205) |
ENOMEM |
The server is out of resources. |
ERRDOS (0x01) |
ERRbadaccess (0x000C) |
STATUS_OS2_INVALID_ACCESS (0x000C0001) |
|
The Reserved bit (0x0008) in the AccessMode.AccessMode subfield was set (1) in the request. |
ERRDOS (0x01) |
ERRbadshare (0x0020) |
STATUS_SHARING_VIOLATION (0xC0000043) |
EAGAIN |
File exists, mandatory file/record locking is set, and there are outstanding record locks on the file. |
ERRSRV (0x02) |
ERRerror (0x0001) |
STATUS_INVALID_SMB (0x00010002) |
|
Invalid SMB. Not enough parameter bytes were sent. |
ERRSRV (0x02) |
ERRerror (0x0001) |
|
EFAULT |
The 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) |
ERRerror (0x0001) |
STATUS_ACCESS_DENIED (0xC0000022) |
EROFS |
The named file resides on a read-only file system and the requested access permission is write or read/write. |
ERRSRV (0x02) |
ERRaccess (0x0004) |
STATUS_NETWORK_ACCESS_DENIED (0xC00000CA) |
|
Permission conflict between the 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) |
|
A file creation request was 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 known to the session. |
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. |