2.2.4.1.1 Client Request Extensions

An SMB_COM_OPEN_ANDX request is sent by a client to open a file or named pipe on a server. The new flag value in the Flags field of the SMB_COM_OPEN_ANDX request, SMB_OPEN_EXTENDED_RESPONSE, is used to trigger new behavior that is specified in this document. All other fields are as specified in [MS-CIFS] section 2.2.4.41.1.

This command has been deprecated. Client implementations SHOULD use SMB_COM_NT_CREATE_ANDX.

 SMB_Parameters
   {
   UCHAR WordCount;
   Words
     {
     UCHAR               AndXCommand;
     UCHAR               AndXReserved;
     USHORT              AndXOffset;
     USHORT              Flags;
     USHORT              AccessMode;
     SMB_FILE_ATTRIBUTES SearchAttrs;
     SMB_FILE_ATTRIBUTES FileAttrs;
     UTIME               CreationTime;
     USHORT              OpenMode;
     ULONG               AllocationSize;
     ULONG               Timeout;
     USHORT              Reserved[2];
     }
   }
 SMB_Data
   {
   USHORT ByteCount;
   Bytes
     {
     SMB_STRING FileName;
     }
   }
            

SMB_Parameters

Words (34 bytes):


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

AndXCommand

AndXReserved

AndXOffset

Flags

AccessMode

SearchAttrs

FileAttrs

CreationTime

OpenMode

AllocationSize

...

Timeout

...

Reserved

...

Flags (2 bytes): A 16-bit field of bit flags. For completeness, all flags are listed in the following table. Bit values listed as reserved SHOULD be set to zero by the client and MUST be ignored by the server.

Name & bitmask

Meaning

SMB_OPEN_QUERY_INFORMATION

0x0001

If set, the client is requesting additional info in the response. The server MUST set FileDataSize, FileAttrs, AccessRights, ResourceType, and NMPipeStatus in the response. If not set, the server MUST set these fields to zero.

SMB_OPEN_OPLOCK

0x0002

If set, the client is requesting an oplock.

SMB_OPEN_OPBATCH

0x0004

If set, the client is requesting a batch oplock.

SMB_OPEN_EXTENDED_RESPONSE

0x0010

If set, the client is requesting the extended format of the response, as described later in this section.

Reserved

0xFFE8

Reserved; SHOULD be set to zero by the client, and MUST be ignored by the server.