FSCTL_ENUM_USN_DATA IOCTL (winioctl.h)
Перечисляет данные последовательного номера обновления (USN) между двумя указанными границами для получения master записей таблицы файлов (MFT).
Для выполнения этой операции вызовите функцию DeviceIoControl со следующими параметрами.
C++ |
---|
BOOL WINAPI DeviceIoControl( (HANDLE) hDevice, // handle to volume (DWORD) FSCTL_ENUM_USN_DATA, // dwIoControlCode(LPVOID) lpInBuffer, // input buffer (DWORD) nInBufferSize, // size of input buffer (LPVOID) lpOutBuffer, // output buffer (DWORD) nOutBufferSize, // size of output buffer (LPDWORD) lpBytesReturned, // number of bytes returned (LPOVERLAPPED) lpOverlapped ); // OVERLAPPED structure); |
Комментарии
Сведения о последствиях перекрывающихся операций ввода-вывода для этой операции см. в разделе Примечания статьи DeviceIoControl .
Чтобы перечислить файлы в томе, используйте операцию FSCTL_ENUM_USN_DATA один или несколько раз. При первом вызове задайте для начальной точки элемент StartFileReferenceNumberструктуры MFT_ENUM_DATA значение (DWORDLONG)0
. Каждый вызов FSCTL_ENUM_USN_DATA получает начальную точку для последующего вызова в качестве первой записи в выходном буфере.
Чтобы определить последние изменения тома, используйте код элемента управления FSCTL_READ_USN_JOURNAL .
Чтобы получить дескриптор тома, вызовите CreateFile с параметром lpFileName , для которого задана строка в следующей форме:
\\.\X:
В предыдущей строке X — это буква, обозначающая диск, на котором отображается том. Том должен быть NTFS.
В Windows 8 и Windows Server 2012 этот код поддерживается следующими технологиями.
Технология | Поддерживается |
---|---|
Протокол SMB 3.0 | Нет |
SMB 3.0 Transparent Failover (TFO) | Нет |
SMB 3.0 с масштабируемыми общими папками (SO) | Нет |
Файловая система общего тома кластера (CSVFS) | Да |
Требования
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Верхняя часть | winioctl.h (включая Windows.h) |