3.3.5.57.7 Receiving a TRANS_TRANSACT_NMPIPE Request

Upon receipt of a TRANS_TRANSACT_NMPIPE (section 2.2.5.6) subcommand request, the SMB Trans subsystem MUST attempt to write data to and read data from the named pipe indicated by the Server.Open identified by the SMB_Parameters.Words.Setup.FID field of the request. The data to be written is contained in the Trans_Data.WriteData field of the request.

The maximum number of bytes to be read is specified by the SMB_Parameters.Words.MaxDataCount field of the request.

 If the pipe is not a message mode pipe, the Trans subsystem MUST fail the request with STATUS_INVALID_PARAMETER (ERRDOS/ERRinvalidparam).<331>

If the operation fails, the status code indicating the error is returned in an SMB_COM_TRANSACTION (section 2.2.4.33) error response message. If the operation returns either STATUS_BUFFER_OVERFLOW (ERRDOS/ERRmoredata) or success, the server MUST construct a TRANS_TRANSACT_NMPIPE Response (section 2.2.5.6.2).

The CIFS server passes the results to the client in the SMB_COM_TRANSACTION Response (section 2.2.4.46.2).