2.2.5.6.1 Request

 Trans_Data
   {
   UCHAR WriteData[TotalDataCount];
   }
            

SMB_Parameters: The SMB_Parameters section contains the relevant fields for the TRANS_TRANSACT_NMPIPE subcommand of the SMB_COM_TRANSACTION request.

WordCount (1 byte): This field MUST be set to 0x10.

Words (32 bytes):

TotalParameterCount (2 bytes): This field MUST be set to 0x0000.

TotalDataCount (2 bytes): This field MUST be set to the number of bytes that the client requests to write to the named pipe as part of the transaction.

MaxParameterCount (2 bytes): This field MUST be set to 0x0000.

MaxDataCount (2 bytes): This field MUST be the number of bytes that the client requests to read from the named pipe as part of the transacted operation.

MaxSetupCount (1 byte): This field MUST be set to 0x00.

Flags (2 bytes): This field SHOULD be set to 0x0000 for this request.

Timeout (4 bytes): This field SHOULD be set to 0x00000000 for this request.

ParameterCount (2 bytes): This field MUST be set to 0x0000.

DataCount (2 bytes): This field MUST be set to the number of data bytes in this request to be written to the named pipe during the transaction. For a single-request transaction, this MUST be equal to the TotalDataCount.

SetupCount (1 byte): This field MUST be set to 0x02.

Setup (4 bytes):

Subcommand (2 bytes): This field MUST be set to the transaction subcommand of TRANS_TRANSACT_NMPIPE (0x0026).

FID (2 bytes): This field is the FID for the named pipe that is being transacted. This field MUST be set to a valid FID from a server response for a previous SMB command to open or create a named pipe. These commands include SMB_COM_OPEN, SMB_COM_CREATE, SMB_COM_CREATE_TEMPORARY, SMB_COM_CREATE_NEW, SMB_COM_OPEN_ANDX, SMB_COM_NT_CREATE_ANDX, and SMB_COM_NT_TRANSACT with subcommand NT_TRANSACT_CREATE.


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

Trans_Data (variable)

...

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

WriteData (variable)

...

WriteData (variable): This field MUST contain the bytes to be written to the named pipe as part of the transacted operation.