CimFS

CIM — это формат изображения с поддержкой файлов, аналогичный по принципу WIM.

Формат CIM состоит из небольшой коллекции неструктурированных файлов, которые включают один или несколько файлов данных и регионов метаданных, один или несколько файлов идентификаторов объектов и один или несколько файлов описания файловой системы. В результате их "плоские" CIM быстрее создавать, извлекать и удалять, чем эквивалентные необработанные каталоги, которые они содержат.

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

После создания CIM можно подключить с поддержкой драйвера CimFS. Подключение создает диск и устройство тома файловой системы только для чтения для образа. Доступ к содержимому подключенного CIM можно получить только для чтения с помощью стандартного интерфейса файловой системы Win32 или NT API. Файловая система CimFS поддерживает многие конструкции NTFS, такие как дескрипторы безопасности, альтернативные потоки данных, жесткие ссылки и точки повторного анализа.

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

CIM изначально разрабатывались и оптимизированы для использования в качестве макета образа контейнера Windows.

Для разработки с помощью CimFS вам потребуется следующий заголовок:

И вам потребуется связаться с этой библиотекой:

  • cimfs.lib

В этом примере показано, как использовать API CimFS для создания, настройки образов CimFS и управления ими.

Перечисления

 
CIM_MOUNT_IMAGE_FLAGS

Перечисление CIM_MOUNT_IMAGE_FLAGS содержит флаги, которые можно использовать для изменения поведения CimMountImage.

Функции

 
CimCloseImage

Функция CimCloseImage освобождает ресурсы, связанные с дескриптором образа.
CimCloseStream

Функция CimCloseStream освобождает ресурсы, связанные с дескриптором потока.
CimCommitImage

Функция CimCommitImage фиксирует изображение, представленное дескриптором образа.
CimCreateAlternateStream

Функция CimCreateAlternateStream добавляет альтернативный поток с указанным размером по пути относительно изображения, представленного дескриптором изображения.
CimCreateFile

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

Функция CimCreateHardLink добавляет жесткую ссылку на существующий путь относительно изображения, представленного дескриптором изображения.
CimCreateImage

Функция CimCreateImage создает дескриптор, представляющий новое изображение в указанном расположении, при необходимости на основе существующего изображения в этом расположении.
CimDeletePath

Функция CimDeletePath удаляет файл, поток, каталог или жесткую ссылку по пути относительно изображения, представленного дескриптором изображения.
CimDismountImage

Функция CimDismountImage отключает образ, подключенный с volumeId в качестве GUID тома.
CimMountImage

Функция CimMountImage подключает именованное изображение из расположения, указанного cimPath, в виде тома с идентификатором GUID тома, заданным volumeId.
CimWriteStream

Функция CimWriteStream записывает данные из указанного буфера в поток, представленный дескриптором потока.

Структуры

 
CIMFS_FILE_METADATA

Структура CIMFS_FILE_METADATA указывает метаданные файла для файла, добавляемого CimCreateFile.