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) |