Поделиться через


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)

См. также раздел