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


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)

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