2.2.4.19.2 Response
-
SMB_Parameters { UCHAR WordCount; Words { ULONG Offset; } } SMB_Data { USHORT ByteCount; }
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SMB_Parameters |
|||||||||||||||||||||||||||||||
... |
SMB_Data |
SMB_Parameters (5 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 0x0002.
Words (4 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
1Offset
-
Offset (4 bytes): A 32-bit unsigned value indicating the absolute file position relative to the start of the file at which the file pointer is currently set. The value of Offset ranges from 0 to 4 gigabytes (0 to 2**32 - 1 bytes).
-
A seek that results in a file position value that cannot be expressed in 32 bits MUST set Offset to the least significant 32 bits.<31>
-
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.
-
The response returns the new file pointer in Offset, expressed as the number of bytes from the start of the file. The Offset MAY be beyond the current end of file. An attempt to seek to before the start of file sets the current file pointer to the start of the file (0x00000000).
Error Codes
SMB error class |
SMB error code |
NT status code |
POSIX equivalent |
Description |
---|---|---|---|---|
ERRDOS (0x01) |
ERRbadfid (0x0006) |
STATUS_INVALID_HANDLE (0xC0000008) STATUS_SMB_BAD_FID (0x00060001) |
ENFILE |
Invalid FID, or FID mapped to a valid server FID, but it was not acceptable to the operating system. |
ERRDOS (0x01) |
ERRnomem (0x0008) |
STATUS_INSUFF_SERVER_RESOURCES (0xC0000205) |
ENOMEM |
The server is out of resources. |
ERRDOS (0x01) |
ERReof (0x0026) |
STATUS_END_OF_FILE (0xC0000011) |
EEOF |
The end of the file is beyond where the client can read; file is larger than 4GB. |
ERRDOS (0x01) |
ERRinvalidparam (0x0057) |
STATUS_INVALID_PARAMETER (0xC000000D) |
EEOF |
The Mode field value is out of range. |
ERRDOS (0x01) |
ERRinvalidseek (0x0083) |
STATUS_OS2_NEGATIVE_SEEK (0x00830001) |
|
An attempt was made to seek to a negative absolute offset within a file. |
ERRSRV (0x02) |
ERRerror (0x0001) |
STATUS_INVALID_SMB (0x00010002) |
|
A corrupt SMB request was received. |
ERRSRV (0x02) |
ERRinvtid (0x0005) |
STATUS_SMB_BAD_TID (0x00050002) |
|
Invalid TID in request. |
ERRSRV (0x02) |
ERRinvdevice (0x0007) |
STATUS_BAD_DEVICE_TYPE (0xC00000CB) |
|
Invalid file type. Attempt to seek in a non-regular file. |
ERRSRV (0x02) |
ERRbaduid (0x005B) |
STATUS_SMB_BAD_UID (0x005B0002) |
|
The UID specified is not defined as a valid ID on this server session, or the user identified by the UID does not have sufficient privileges. |