CSV_QUERY_FILE_REVISION structure (winioctl.h)

Contains information about whether files in a stream have been modified.

Syntax

typedef struct _CSV_QUERY_FILE_REVISION {
  LONGLONG FileId;
  LONGLONG FileRevision[3];
} CSV_QUERY_FILE_REVISION, *PCSV_QUERY_FILE_REVISION;

Members

FileId

The identifier of an NTFS file.

FileRevision[3]

File revision tracking elements.

  • FileRevision[0] increases every time the CSV MDS stack is rebuilt and CSVFLT loses its state.
  • FileRevision[1] increases every time the CSV MDS stack purges the cached revision number for the file.
  • FileRevision[2] increases every time the CSV MDS observes that file sizes might have changed or the file might have been written to. The element is also incremented whenever one of the nodes performs the first direct input/output operation on a stream that is associated with this file after opening this stream.
If any of the numbers are 0, the function caller should assume that the file was modified.

Remarks

This structure is used if the FSCTL_CSV_CONTROL control code is called with a CSV_CONTROL_OP enumeration value of CsvControlQueryFileRevision, or if the control code is used with an CSV_CONTROL_PARAM structure containing that enumeration value.

Revision tracking is per file, not per stream, so the output changes whenever the stream changes.

Requirements

Requirement Value
Minimum supported client None supported
Minimum supported server Windows ServerĀ 2012 [desktop apps only]
Header winioctl.h (include Windows.h)

See also

CSV_CONTROL_OP

CSV_CONTROL_PARAM

FSCTL_CSV_CONTROL

File Management Structures