2.2.7.2.1 Request
The NT_TRANSACT_IOCTL request format is a special case of SMB_COM_NT_TRANSACT (section 2.2.4.62) SMB. Only the NT_TRANSACT_IOCTL request specifics are described here.
-
NT_Trans_Parameters { } NT_Trans_Data { UCHAR Data[TotalDataCount]; }
SMB_Parameters:
-
-
WordCount (1 byte): UCHAR This field MUST be 0x17.
-
Words (46 bytes): Array of USHORT.
-
-
TotalParameterCount (2 bytes): USHORT This field MUST be set to 0x0000.
-
MaxParameterCount (2 bytes): USHORT This field MUST be set to 0x0000.
-
ParameterCount (2 bytes): USHORT This field MUST be set to 0x0000.
-
SetupCount (1 byte): UCHAR This field MUST be 0x04.
-
Function (2 bytes): USHORT This field MUST be NT_TRANSACT_IOCTL (0x0002).
-
-
-
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Setup |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
NT_Trans_Parameters (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
NT_Trans_Data (variable) |
|||||||||||||||||||||||||||||||
... |
Setup (8 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
1FunctionCode
FID
IsFsctl
IsFlags
-
FunctionCode (4 bytes): ULONG The control code of the file system control or device control (FSCTL/IOCTL) method. The values are defined in [MS-FSCC] section 2.3.
-
FID (2 bytes): USHORT MUST contain a valid FID obtained from a previously successful SMB open command. The FID MUST be for either an I/O device or for a file system control device. The type of FID being supplied is specified by IsFsctl.
-
IsFsctl (1 byte): BOOLEAN This field is TRUE if the command is a file system control command and the FID is a file system control device. Otherwise, the command is a device control command and FID is an I/O device.
-
IsFlags (1 byte): BOOLEAN If bit 0 is set, the command is to be applied to a share root handle. The share MUST be a Distributed File System (DFS) type.
NT_Trans_Parameters (variable): (0 bytes): No NT_Trans parameters are sent in this request.
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): The raw bytes that are passed to the fsctl or ioctl function as the input buffer.