[cifs-protocol] SMB2 Create - CreateOptions

George Colley gcolley at apple.com
Mon Jul 7 16:32:23 GMT 2008


Trying again seem to be having problems getting this on the list sorry  
for the delay :


The Question:

In [MS-SMB2] section 2.2.13 the list of CreateOptions doesn't seems to  
be complete. I have notice that Vista is sending a 0x00000021 when  
doing an open for a File System Info call. The FILE_DIRECTORY_FILE  
(0x00000001) is define in the spec, but the 0x00000020 doesn't seem to  
be define. These options seem to match up with ones I have defined in  
my SMB. In my code I have this defined as NTCREATEX  
OPTION_ASYNC_ALERT. So if the bits aren't defined should they be  
ignore? Are they reserved? What should a client/server do about these  
undefined bits?

The Answer:
Hi, George,

The definition of the following bits are missing from the documentation.


FILE_SYNCHRONOUS_IO_ALERT				0x00000010
FILE FILE_SYNCHRONOUS_IO_NONALERT		0x00000020
FILE_COMPLETE_IF_OPLOCKED					0x00000100
FILE_OPEN_BY_FILE_ID							0x00002000
FILE_RESERVE_OPFILTER						0x00100000

They all should be considered as “Reserved” bits.

The bits  0x00000010 , 0x00000020,  0x00000100   SHOULD not be set by  
the client and the server MUST ignore these bits.

The bits 0x00002000 and 0x000100000   SHOULD be set to zero by the  
client and the server MUST fail the request with  
STATUS_INVALID_PARAMETER error if they are set to 1.

As a windows behavior,  windows client passes through these bits  
unchanged as specified by the calling application.  An application  
running on the Windows client MAY set these bits which the Windows  
client passes through unchanged.

We will update [MS-SMB2]  section 2.2.13 in the future release.

Thanks

Hongwei Sun-MSFT



More information about the cifs-protocol mailing list