| 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 ( NULLifSMB_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 anSMB_COM_TRANSACTION2request. | 
| 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) |