2.2.32.2 SRV_SNAPSHOT_ARRAY

The SRV_SNAPSHOT_ARRAY packet is returned to the client by the server in an SMB2 IOCTL Response for the FSCTL_SRV_ENUMERATE_SNAPSHOTS request, as specified in section 3.3.5.15.1. This packet MUST contain all the revision time-stamps that are associated with the Tree Connect share in which the open resides, provided that the buffer size required is less than or equal to the maximum output buffer size received in the SMB2 IOCTL request. This SRV_SNAPSHOT_ARRAY is placed in the Buffer field in the SMB2 IOCTL Response,<68> and the OutputOffset and OutputCount fields MUST be updated to describe the buffer as specified in section 2.2.32. This packet consists of the following:


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

NumberOfSnapShots

NumberOfSnapShotsReturned

SnapShotArraySize

SnapShots (variable)

...

NumberOfSnapShots (4 bytes): The number of previous versions associated with the volume that backs this file.

NumberOfSnapShotsReturned (4 bytes): The number of previous version time stamps returned in the SnapShots[ ] array. If the output buffer could not accommodate the entire array, NumberOfSnapShotsReturned will be zero.

SnapShotArraySize (4 bytes): The length, in bytes, of the SnapShots[ ] array. If the output buffer is too small to accommodate the entire array, SnapShotArraySize will be the amount of space that the array would have occupied.

SnapShots (variable): An array of time stamps in GMT format, as specified by an @GMT token, which are separated by UNICODE null characters and terminated by two UNICODE null characters. It will be empty if the output buffer could not accommodate the entire array.