2.2.8.1.1 SMB_FIND_FILE_BOTH_DIRECTORY_INFO Extensions

If the query being executed is a request for the enumeration of available previous versions (section 2.2.1.1.1), then the returned structure is identical to the structure that is specified in [MS-CIFS] section 2.2.8.1.7. However, the fields have a slightly different definition.

 SMB_FIND_FILE_BOTH_DIRECTORY_INFO[SearchCount]
   {
   ULONG         NextEntryOffset;
   ULONG         FileIndex;
   FILETIME      CreationTime;
   FILETIME      LastAccessTime;
   FILETIME      LastWriteTime;
   FILETIME      LastChangeTime;
   LARGE_INTEGER EndOfFile;
   LARGE_INTEGER AllocationSize;
   SMB_EXT_FILE_ATTR      ExtFileAttributes;
   ULONG         FileNameLength;
   ULONG         EaSize;
   UCHAR         ShortNameLength;
   UCHAR         Reserved;
   WCHAR         ShortName[12];
   SMB_STRING    FileName;
   }
            


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

NextEntryOffset

FileIndex

CreationTime

...

LastAccessTime

...

LastWriteTime

...

LastChangeTime

...

EndOfFile

...

AllocationSize

...

ExtFileAttributes

FileNameLength

EaSize

ShortNameLength

Reserved

ShortName (24 bytes)

...

...

...

FileName (variable)

...

FileIndex (4 bytes): This field SHOULD<69> be set to zero when sent in a response and SHOULD be ignored when received by the client.

CreationTime (8 bytes):  A FILETIME time stamp of when the previous version represented by the @GMT token was created. The FILETIME format is defined in [MS-DTYP], section 2.3.3.

LastAccessTime (8 bytes): A FILETIME time stamp of when the previous version represented by the @GMT token was last accessed.

LastWriteTime (8 bytes): A FILETIME time stamp of when the previous version represented by the @GMT token last had data written to it.

LastChangeTime (8 bytes): A FILETIME time stamp of when the previous version represented by the @GMT token was last changed.

EndOfFile (8 bytes): This field MUST be set to zero when sending a response and MUST be ignored when the client receives this message.

AllocationSize (8 bytes):  This field MUST be set to zero when sending a response and MUST be ignored when the client receives this message.

ExtFileAttributes (4 bytes):  Extended attributes for this file that MUST be marked as a DIRECTORY.

FileNameLength (4 bytes): Length, in bytes, of the FileName field.

EaSize (4 bytes): This field MUST be set to zero when sending a response and MUST be ignored when the client receives this message.

Reserved (1 byte): An 8-bit unsigned integer used to maintain byte alignment. This field MUST be 0x00.

ShortName (24 bytes): The 8.3 name for the file formatted as @GMT~XXX where XXX is an array index value in decimal of an array of snapshots returned, starting at an array index value of zero. The ShortName field MUST be formatted as an array of 16-bit Unicode characters and MUST NOT be NULL terminated.

FileName (variable): An @GMT token that represents an available previous version for the file or directory.