2.2.7.2.2 Response
The NT_TRANSACT_IOCTL response formats are special cases of SMB_COM_NT_TRANSACT (section 2.2.4.62) SMB. Only the NT_TRANSACT_IOCTL response specifics are described here. The outcome of the request is encoded in the SMB Header (section 2.2.3.1).
-
NT_Trans_Data { UCHAR Data[TotalDataCount]; }
SMB_Parameters:
-
-
WordCount (1 byte): UCHAR This field MUST be 0x13.
-
Words (38 bytes): Array of USHORT
-
-
SetupWordCount (1 byte): UCHAR Count of setup words. The value is 0x01.
-
SetupWords (2 bytes): USHORT The size of the transaction data, in bytes, returned by the server for the file system control command. The client MUST ignore this field value.
-
DataCount (2 bytes): USHORT Count of data bytes returned by either an I/O device or a file system control command.
-
-
-
NT_Trans_Parameters: The server does not return any NT_Trans parameters.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
NT_Trans_Data (variable) |
|||||||||||||||||||||||||||||||
... |
NT_Trans_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
1Data (variable)
...
-
Data (variable): Results returned by either an I/O device or a file system control command. The results are the raw bytes returned from the command if the command was successful.
Error Codes
SMB error class |
SMB error code |
NT status code |
POSIX equivalent |
Description |
---|---|---|---|---|
ERRDOS (0x01) |
ERRbadfid (0x0006) |
STATUS_INVALID_HANDLE (0xC0000008) |
EBADF |
The FID is invalid. |
ERRDOS (0x01) |
ERRnoaccess (0x0005) |
STATUS_ACCESS_DENIED (0xC0000022) |
EPERM |
Access denied. |
ERRDOS (0x01) |
ERRinvalidparam (0x0057) |
STATUS_INVALID_PARAMETER (0xC000000D) |
|
A parameter is invalid. |
ERRSRV (0x02) |
ERRerror (0x0001) |
STATUS_INVALID_SMB (0x00010002) |
|
Invalid SMB. Not enough parameter bytes were sent. |
ERRSRV (0x02) |
ERRinvtid (0x0005) |
STATUS_SMB_BAD_TID (0x00050002) |
|
The TID is no longer valid. |
ERRSRV (0x02) |
ERRnomem (0x0008) |
STATUS_INSUFF_SERVER_RESOURCES (0xC0000205) |
ENOMEM |
The server is out of resources. |
ERRSRV (0x02) |
ERRbaduid (0x005B) |
STATUS_SMB_BAD_UID (0x005B0002) |
|
The UID supplied is not defined to the session. |
ERRHRD (0x03) |
ERRdata (0x0017) |
STATUS_DATA_ERROR (0xC000003E) |
EIO |
Disk I/O error. |