2.2.5.1.1 Request
-
Trans_Parameters { USHORT PipeState; }
SMB_Parameters:
-
-
WordCount (1 byte): This field value is the total number of SMB parameter words and MUST be 0x10.
-
Words (32 bytes):
-
-
TotalParameterCount (2 bytes): This field MUST be set to 0x0002 for this request.
-
TotalDataCount (2 bytes): This field MUST be set to 0x0000 for this request.
-
MaxParameterCount (2 bytes): This field MUST be set to 0x0000 for this request.
-
MaxDataCount (2 bytes): This field MUST be set to 0x0000 for this request.
-
MaxSetupCount (1 byte): This field MUST be set to 0x00 for this request.
-
Flags (2 bytes): This field SHOULD be set to 0x0000 for this request.
-
Timeout (4 bytes): This field SHOULD be set to 0x00000000 for this request.
-
ParameterCount (2 bytes): This field SHOULD be set to 0x0002 for this request.
-
DataCount (2 bytes): This field MUST be set to 0x0000 for this request.
-
SetupCount (1 byte): This field MUST be set to 0x02 for this request.
-
Setup (4 bytes):
-
-
Subcommand (2 bytes): This field MUST be set to the transaction subcommand value of TRANS_SET_NMPIPE_STATE (0x0001) for this request.
-
FID (2 bytes): This field MUST be set to the FID for the named pipe to read. This field MUST be set to a valid FID from a server response for a previous SMB command to open or create a named pipe. These commands include SMB_COM_OPEN, SMB_COM_CREATE, SMB_COM_CREATE_TEMPORARY, SMB_COM_CREATE_NEW, SMB_COM_OPEN_ANDX, SMB_COM_NT_CREATE_ANDX, and SMB_COM_NT_TRANSACT with subcommand NT_TRANSACT_CREATE.
-
-
-
-
-
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Trans_Parameters |
Trans_Parameters (2 bytes):
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PipeState |
PipeState (2 bytes): This field contains the value that defines the state being set on the pipe. Any combination of the following flags MUST be valid for the set operation. All other flags are considered unused and SHOULD be set to 0 when this message is sent. The server MUST ignore the unused bits when the message is received.
-
Name and bitmask
Meaning
Nonblocking
0x8000
If set, a read or a raw read request returns all data available to be read from the named pipe, up to the maximum read size set in the request. A write request returns after writing data to the named pipe without waiting for the data to be consumed. Named pipe non-blocking raw writes are not allowed. Raw writes MUST be performed in blocking mode.
If not set, a read or a raw read request will wait (block) until sufficient data to satisfy the read request becomes available, or until the request is canceled. A write request blocks until its data is consumed, if the write request length is greater than zero.
ReadMode
0x0100
If set, the named pipe is operating in message mode. If not set, the named pipe is operating in byte mode. In message mode, the system treats the bytes read or written in each I/O operation to the pipe as a message unit. The system MUST perform write operations on message-type pipes as if write-through mode were enabled.