3.3.5.57.1 Receiving a RAP Transaction Request
As described previously, the CIFS server determines that a request is a RAP request by examining the Name field in the SMB_COM_TRANSACTION Request (section 2.2.4.33.1) message. If Name is "\PIPE\LANMAN", the transaction MUST be passed to the RAP processing subsystem.
RAP subcommands do not make use of the Setup field in the SMB_COM_TRANSACTION request, so no Setup values are passed to the RAP subsystem:
The CIFS server MUST pass the following information to the RAP subsystem (see [MS-RAP]):
The final TotalParameterCount indicating the number of transaction parameter bytes.
The transaction parameter block (Trans_Parameters).
The final TotalDataCount indicating the number of transaction data bytes.
The transaction data block (Trans_Data).
The MaxParameterCount field from the request, indicating the maximum size, in bytes, of the transaction parameter block permitted in the transaction response.
The MaxDataCount field from the request, indicating the maximum size, in bytes, of the transaction data block permitted in the transaction response.
The response parameter buffer filled in by the RAP subsystem MUST be returned to the client via the parameter block of the SMB_COM_TRANSACTION Response (section 2.2.4.33.2). The TotalParameterCount of the transaction response MUST be set to the number of bytes in the response parameter buffer.
The response data buffer filled in by the RAP server MUST be returned to the client via the data block of the SMB_COM_TRANSACTION response. The TotalDataCount of the transaction response MUST be set to the number of bytes in the response data buffer.