FSCTL_GET_RETRIEVAL_POINTERS IOCTL (winioctl.h)
При использовании дескриптора файла извлекает структуру данных, которая описывает выделение и расположение на диске определенного файла или, с учетом дескриптора тома, расположение недопустимых кластеров на томе.
Для выполнения этой операции вызовите функцию DeviceIoControl со следующими параметрами.
DeviceIoControl(
(HANDLE) hDevice, // handle to file, directory, or volume
FSCTL_GET_RETRIEVAL_POINTERS, // 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
);
Комментарии
Операция FSCTL_GET_RETRIEVAL_POINTERS извлекает структуру данных с изменяющимся размером, которая описывает выделение и расположение на диске определенного файла. Структура описывает сопоставление между номерами виртуальных кластеров (смещения VCN в пространстве файлов или потоков) и логическими номерами кластера (смещения LCN в пространстве тома).
Код элемента управления FSCTL_GET_RETRIEVAL_POINTERS поддерживается для операций с файлами или каталогами в файловых системах NTFS, FAT, exFAT, UDF и ReFS.
В поддерживаемых файловых системах операция FSCTL_GET_RETRIEVAL_POINTERS возвращает расположения экстентов данных, не являющихся сторонними. Резидентные данные никогда не имеют расположений экстентов.
Код элемента управления FSCTL_GET_RETRIEVAL_POINTERS также поддерживает альтернативные функции поиска недопустимых кластеров. Чтобы запросить расположение недопустимых кластеров на томе, отформатированном с помощью NTFS, FAT или exFAT, используйте дескриптор тома в качестве параметра hDevice . Эта функция поддерживается только в NTFS, FAT и exFAT, а вызывающий объект должен иметь разрешение MANAGE_VOLUME_ACCESS на том.
Сведения о последствиях перекрывающихся операций ввода-вывода для этой операции см. в разделе Примечания статьи DeviceIoControl .
В Windows 8 и Windows Server 2012 этот код поддерживается следующими технологиями.
Технология | Поддерживается |
---|---|
Протокол SMB 3.0 | Нет |
Прозрачная отработка отказа (TFO) SMB 3.0 | Нет |
SMB 3.0 с масштабируемыми общими папками (SO) | Нет |
Файловая система общего тома кластера (CSVFS) | Да |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Верхняя часть | winioctl.h (включая Windows.h) |