2.2.2.2 Transaction Subcommand Codes

Transaction Codes used with SMB_COM_TRANSACTION (section 2.2.4.46):

Name

Code

Description

Status

Earliest dialect

TRANS_MAILSLOT_WRITE (section 2.2.5.12)

0x0001

Allows a client to write data to a specific mailslot on the server.

C

LANMAN1.0

TRANS_SET_NMPIPE_STATE (section 2.2.5.1)

0x0001

Used to set the read mode and non-blocking mode of a specified named pipe.

C

LANMAN1.0

TRANS_RAW_READ_NMPIPE (section 2.2.5.2)

0x0011

Allows for a raw read of data from a named pipe. This method of reading data from a named pipe ignores message boundaries even if the pipe was set up as a message mode pipe.

D

LANMAN1.0

TRANS_QUERY_NMPIPE_STATE (section 2.2.5.3)

0x0021

Allows for a client to retrieve information about a specified named pipe.

C

LANMAN1.0

TRANS_QUERY_NMPIPE_INFO (section 2.2.5.4)

0x0022

Used to retrieve pipe information about a named pipe.

C

LANMAN1.0

TRANS_PEEK_NMPIPE (section 2.2.5.5)

0x0023

Used to copy data out of a named pipe without removing it from the named pipe.

C

LANMAN1.0

TRANS_TRANSACT_NMPIPE (section 2.2.5.6)

0x0026

Used to execute a transacted exchange against a named pipe. This transaction has a constraint that it can be used only on a duplex, message-type pipe.

C

LANMAN1.0

TRANS_RAW_WRITE_NMPIPE (section 2.2.5.7)

0x0031

Allows for a raw write of data to a named pipe. Raw writes to named pipes put bytes directly into a pipe, regardless of whether it is a message mode pipe or byte mode pipe.

D

LANMAN1.0

TRANS_READ_NMPIPE (section 2.2.5.8)

0x0036

Allows a client to read data from a named pipe.

C

NT LANMAN

TRANS_WRITE_NMPIPE (section 2.2.5.9)

0x0037

Allows a client to write data to a named pipe.

C

NT LANMAN

TRANS_WAIT_NMPIPE (section 2.2.5.10)

0x0053

Allows a client to be notified when the specified named pipe is available to be connected to.

C

LANMAN1.0

TRANS_CALL_NMPIPE (section 2.2.5.11)

0x0054

Connect to a named pipe, issue a write to the named pipe, issue a read from the named pipe, and close the named pipe.

C

LANMAN1.0

The meaning of the SMB_COM_TRANSACTION subcommand codes is defined by the resource being accessed. For example, the 0x0001 subcommand code is interpreted as TRANS_MAILSLOT_WRITE if the operation is being performed on a mailslot. The same code is interpreted as a TRANS_SET_NMPIPE_STATE (section 2.2.5.1) if the operation is performed on a named pipe.

Transaction Codes used with SMB_COM_TRANSACTION2 (section 2.2.4.46):

Name

Code

Description

Status

Earliest dialect

TRANS2_OPEN2 (section 2.2.6.1)

0x0000

Open or create a file and set extended attributes on the file.

C

NT LANMAN

TRANS2_FIND_FIRST2 (section 2.2.6.2)

0x0001

Begin a search for files within a directory or for a directory.

C

NT LANMAN

TRANS2_FIND_NEXT2 (section 2.2.6.3)

0x0002

Continue a search for files within a directory or for a directory.

C

NT LANMAN

TRANS2_QUERY_FS_INFORMATION (section 2.2.6.4)

0x0003

Request information about a file system on the server.

C

LANMAN2.0

TRANS2_SET_FS_INFORMATION (section 2.2.6.5)

0x0004

N

LANMAN2.0

TRANS2_QUERY_PATH_INFORMATION (section 2.2.6.6)

0x0005

Get information about a specific file or directory using a path.

C

LANMAN2.0

TRANS2_SET_PATH_INFORMATION (section 2.2.6.7)

0x0006

Set the standard and extended attribute information of a specific file or directory using a path.

C

LANMAN2.0

TRANS2_QUERY_FILE_INFORMATION (section 2.2.6.8)

0x0007

Get information about a specific file or directory using a FID.

C

LANMAN2.0

TRANS2_SET_FILE_INFORMATION (section 2.2.6.9)

0x0008

Set the standard and extended attribute information of a specific file or directory using a FID.

C

LANMAN2.0

TRANS2_FSCTL (section 2.2.6.10)

0x0009

N

LANMAN2.0

TRANS2_IOCTL2 (section 2.2.6.11)

0x000a

N

NT LANMAN

TRANS2_FIND_NOTIFY_FIRST (section 2.2.6.12)

0x000b

X

LANMAN2.0

TRANS2_FIND_NOTIFY_NEXT (section 2.2.6.13)

0x000c

X

LANMAN2.0

TRANS2_CREATE_DIRECTORY (section 2.2.6.14)

0x000d

Create a new directory and optionally set the extended attribute information.

C

LANMAN2.0

TRANS2_SESSION_SETUP (section 2.2.6.15)

0x000e

N

NT LANMAN

TRANS2_GET_DFS_REFERRAL (section 2.2.6.16)

0x0010

Request a DFS referral for a file or directory. See [MS-DFSC] section 2.2.2 for details.

C

NT LANMAN

TRANS2_REPORT_DFS_INCONSISTENCY (section 2.2.6.17)

0x0011

N

NT LANMAN

Transaction codes used with SMB_COM_NT_TRANSACT (section 2.2.4.62):

Name

Code

Description

Status

Earliest dialect

NT_TRANSACT_CREATE (section 2.2.7.1)

0x0001

Used to create or open a file or directory when extended attributes (EAs) or a security descriptor (SD) are to be applied.

C

NT LANMAN

NT_TRANSACT_IOCTL (section 2.2.7.2)

0x0002

Allows device and file system control functions to be transferred transparently from client to server.

C

NT LANMAN

NT_TRANSACT_SET_SECURITY_DESC (section 2.2.7.3)

0x0003

Allows a client to change the security descriptor for a file.

C

NT LANMAN

NT_TRANSACT_NOTIFY_CHANGE (section 2.2.7.4)

0x0004

Notifies the client when the directory specified by FID is modified. It also returns the names of any files that changed.

C

NT LANMAN

NT_TRANSACT_RENAME (section 2.2.7.5)

0x0005

N

NT_TRANSACT_QUERY_SECURITY_DESC (section 2.2.7.6)

0x0006

Allows a client to retrieve the security descriptor for a file.

C

NT LANMAN