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.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

NT_Trans_Data (variable)

...

NT_Trans_Data (variable):


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Data (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.