| Primary Client Request =============================== |
Description ==================================== |
| Command | SMB_COM_TRANSACTION or SMB_COM_TRANSACTION2 |
| UCHAR WordCount; | Count of parameter words; value = (14 + SetupCount) |
| USHORT TotalParameterCount; | Total parameter bytes being sent |
| USHORT TotalDataCount; | Total data bytes being sent |
| USHORT MaxParameterCount; | Max parameter bytes to return |
| USHORT MaxDataCount; | Max data bytes to return |
| UCHAR MaxSetupCount; | Max setup words to return |
| UCHAR Reserved; | |
| USHORT Flags; | Additional information: |
| bit 0 - also disconnect TID in tid | |
| bit 1 - one-way transaction (no response) | |
| ULONG Timeout; | |
| USHORT Reserved2; | |
| USHORT ParameterCount; | Parameter bytes sent this buffer |
| USHORT ParameterOffset; | Offset (from header start) to Parameters |
| USHORT DataCount; | Data bytes sent this buffer |
| USHORT DataOffset; | Offset (from header start) to data |
| UCHAR SetupCount; | Count of setup words |
| UCHAR Reserved3; | Reserved (pad above to word) |
| USHORT Setup[SetupCount]; | Setup words (# = SetupWordCount) |
| USHORT ByteCount; | Count of data bytes |
| STRING Name[]; | Name of transaction (NULL if SMB_COM_TRANSACTION2) |
| UCHAR Pad[]; | Pad to SHORT or LONG |
| UCHAR Parameters[ ParameterCount]; | Parameter bytes (# = ParameterCount) |
| UCHAR Pad1[]; | Pad to SHORT or LONG |
| UCHAR Data[ DataCount ]; | Data bytes (# = DataCount) |
| Interim Server Response =============================== |
Description ==================================== |
| UCHAR WordCount; | Count of parameter words = 0 |
| USHORT ByteCount; | Count of data bytes = 0 |
| Secondary Client Request =============================== |
Description ==================================== |
| Command | SMB_COM_TRANSACTION_SECONDARY |
| UCHAR WordCount; | Count of parameter words = 8 |
| USHORT TotalParameterCount; | Total parameter bytes being sent |
| USHORT TotalDataCount; | Total data bytes being sent |
| USHORT ParameterCount; | Parameter bytes sent this buffer |
| USHORT ParameterOffset; | Offset (from header start) to Parameters |
| USHORT ParameterDisplacement; | Displacement of these Parameter bytes |
| USHORT DataCount; | Data bytes sent this buffer |
| USHORT DataOffset; | Offset (from header start) to data |
| USHORT DataDisplacement; | Displacement of these data bytes |
| USHORT Fid; | fid for handle based requests, else 0xFFFF. This field is present only if this is an SMB_COM_TRANSACTION2 request. |
| USHORT ByteCount; | Count of data bytes |
| UCHAR Pad[]; | Pad to SHORT or LONG |
| UCHAR Parameters[ParameterCount]; | Parameter bytes (# = ParameterCount) |
| UCHAR Pad1[]; | Pad to SHORT or LONG |
| UCHAR Data[DataCount]; | Data bytes (# = DataCount) |
| Server Response =============================== |
Description ==================================== |
| UCHAR WordCount; | Count of data bytes; value = 10 + setupcount |
| USHORT TotalParameterCount; | Total parameter bytes being sent |
| USHORT TotalDataCount; | Total data bytes being sent |
| USHORT Reserved; | |
| USHORT ParameterCount; | Parameter bytes sent this buffer |
| USHORT ParameterOffset; | Offset (from header start) to Parameters |
| USHORT ParameterDisplacement; | Displacement of these Parameter bytes |
| USHORT DataCount; | Data bytes sent this buffer |
| USHORT DataOffset; | Offset (from header start) to data |
| USHORT DataDisplacement; | Displacement of these data bytes |
| UCHAR SetupCount; | Count of setup words |
| UCHAR Reserved2; | Reserved (pad above to word) |
| USHORT Setup[SetupWordCount]; | Setup words (# = SetupWordCount) |
| USHORT ByteCount; | Count of data bytes |
| UCHAR Pad[]; | Pad to SHORT or LONG |
| UCHAR Parameters[ParameterCount]; | Parameter bytes (# = ParameterCount) |
| UCHAR Pad1[]; | Pad to SHORT or LONG |
| UCHAR Data[DataCount]; | Data bytes (# = DataCount) |