Вопрос

Существует ли метод Win-API на основе имени файла или дескриптора файла, позволяющий определить, в каком физическом секторе начинается файл?

Это было полезно?

Решение

Вы можете получить распределение файлового кластера, отправив FSCTL_GET_RETRIEVAL_POINTERS с помощью ДевицеИоконтрол.

Другие советы

Вам придется напрямую прочитать таблицу распределения.

Подозреваю, что такой функции нет.

Даже если вы знаете, где начинается файл, какая от этого польза?Остальная часть файла может находиться где угодно, если размер файла превышает один сектор из-за фрагментации.

Вероятно, вам потребуется более глубокое понимание используемой файловой системы и чтение необходимой информации из таблицы размещения файлов или подобного механизма.

Нет.Почему?Потому что файловая система — это абстракция физического оборудования.Вам не нужно знать, находитесь ли вы на RAM-диске, жестком диске, компакт-диске или сетевом диске, сжаты или зашифрованы ваши данные — Windows позаботится об этих мелких деталях за вас.

Вы всегда можете открыть физический диск, но вам потребуется знание используемой файловой системы.

Чего вы пытаетесь добиться этим?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top