FSCTL_LOOKUP_STREAM_FROM_CLUSTER IOCTL (winioctl.h)
При использовании дескриптора тома NTFS или файла на томе NTFS возвращает цепочку структур данных, описывающую потоки, которые занимают указанные кластеры.
Важно!
FSCTL_LOOKUP_STREAM_FROM_CLUSTER является очень ресурсоемкой операцией и обычно использует очень большой объем пропускной способности диска, памяти и времени. Маловероятно, что большая часть этих сведений останется в кэше, поэтому второй вызов FSCTL_LOOKUP_STREAM_FROM_CLUSTER займет почти столько же времени, сколько первый вызов. Для выполнения нескольких подстановок эффективнее использовать FSCTL_ENUM_USN_DATA для перечисления каждой записи MFT, а затем использовать FSCTL_GET_RETRIEVAL_POINTERS для сбора данных для сопоставления между кластерами и потоками.
Для выполнения этой операции вызовите функцию DeviceIoControl со следующими параметрами.
BOOL DeviceIoControl(
(HANDLE) hDevice, // handle to file, directory, or volume
FSCTL_LOOKUP_STREAM_FROM_CLUSTER, // 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
);
Комментарии
В Windows 8 и Windows Server 2012 этот код поддерживается следующими технологиями.
Технология | Поддерживается |
---|---|
Протокол SMB 3.0 | Нет |
SMB 3.0 Transparent Failover (TFO) | Нет |
SMB 3.0 с масштабируемыми общими папками (SO) | Нет |
Файловая система общего тома кластера (CSVFS) | Да |
Требования
Минимальная версия клиента | Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
Верхняя часть | winioctl.h (включая Windows.h) |