Meshbeyn / Projects

Проект NTFS Extensions

Платформа .Net поддерживает небольшую часть возможностей файловой системы NTFS. Программисты вынуждены либо игнорировать остальные возможности, либо обращаться к WinAPI напрямую. Многие функции, используемые для работы с NTFS, требуют слишком сложной подготовки и даже многократных вызовов для выполнения одной операции. Данный проект реализует эти вызовы в стиле .Net, благодаря чему любой программист может ими пользоваться также, как и методами из библиотек .Net.

Большинство методов доступны в двух вариантах: как статический метод и как расширение. Вы можете вызывать статические методы классов этой библиотеки или расширенные методы стандартных классов вроде Stream или FileInfo. Чтобы использовать расширяющие методы, просто импортируйте пространство имен NTFSExtensions.

Файлы

Текущая опубликованная версия библиотеки 0.1. Версия 0.2 потребовала переработки.

Последняя версия файла библиотеки: NTFSExtensions.dll

Реализована поддержка следующих возможностей NTFS:

Иерархия библиотеки

Рабочие классы

static class Compression

Этот статический класс служит для работы со сжатыми и разреженными файлами.

GetAllocatedRanges
Возвращает необнуленные интервалы. Эта функция очень полезна для обработки только тех частей файла, которые содержат полезную информацию.
GetLengthCompressed
Возвращает физическую длину файла с учетом сжатия или разреженности. Для несжатых файлов возвращает логическую длину.
GetZeroRanges
Возвращает обнуленные интервалы.
RefillZeroRegions
Восстанавливает обнуленные интервалы и заполняет их нулями. Эту функцию нужно вызывать перед тем, как снять флаг разреженного файла.
SetCompressedAttribute
Делает файл сжатым или несжатым.
SetSparseAtribute
Делает файл разреженным или обычным.
SetZeroData
Заполняет интервал нулями. Если файл разреженный и обнулен достаточно большой интервал, некоторые кластеры могут быть освобождены.

Классы и структуры для передачи данных

struct Range
Структура, моделирующая интервал в потоке.
class VolumeInformation
Класс, моделирующий основные параметры разметки тома.