CimFS
Un CIM es un formato de imagen respaldado por archivos similar en concepto a un WIM.
El formato CIM consta de una pequeña colección de archivos planos que incluyen uno o varios archivos de región de datos y metadatos, uno o varios archivos de identificador de objeto y uno o varios archivos de descripción del sistema de archivos. Como resultado de sus CIM de "flatness" son más rápidos para construir, extraer y eliminar que los directorios sin procesar equivalentes que contienen.
Los CIM están compuestos en que una imagen determinada puede contener varios volúmenes del sistema de archivos que se pueden montar individualmente al compartir los mismos archivos de respaldo de la región de datos.
Una vez construido, se puede montar un CIM con la compatibilidad del controlador CimFS. El montaje construye un dispositivo de volumen de sistema de archivos y disco de solo lectura para la imagen. Se puede acceder al contenido de un CIM montado de solo lectura mediante la interfaz estándar del sistema de archivos win32 o NT API. El sistema de archivos CimFS admite muchas de las construcciones de NTFS, como descriptores de seguridad, flujos de datos alternativos, vínculos duros y puntos de re-análisis.
Los CIM admiten la desduplicación en el nivel de archivo. Si se agregan varias copias del mismo archivo a un CIM mediante rutas de acceso diferentes, solo habrá una sola copia de los datos de archivo almacenados en el CIM.
Originalmente, los CIM se diseñaron y optimizaron para usarse como diseño de imagen de contenedor de Windows.
Para desarrollar con CimFS, necesita este encabezado:
Y tendrá que vincular con esta biblioteca:
- cimfs.lib
En este ejemplo se muestra cómo usar las API del Sistema de archivos de imagen compuesta (CimFS) para crear, configurar y manipular imágenes cimFS.
CIM_MOUNT_IMAGE_FLAGS La enumeración CIM_MOUNT_IMAGE_FLAGS contiene marcas que se pueden usar para modificar el comportamiento de CimMountImage. |
CimCloseImage La función CimCloseImage libera recursos asociados al identificador de imagen. |
CimCloseStream La función CimCloseStream libera los recursos asociados al identificador de secuencia. |
CimCommitImage La función CimCommitImage confirma la imagen representada por el identificador de imagen. |
CimCreateAlternateStream La función CimCreateAlternateStream agrega una secuencia alternativa con el tamaño especificado en una ruta de acceso relativa a la imagen representada por el identificador de imagen. |
CimCreateFile La función CimCreateFile agrega un nuevo archivo o directorio con los metadatos especificados en una ruta de acceso relativa a la imagen representada por el identificador de imagen. |
CimCreateHardLink La función CimCreateHardLink agrega un vínculo duro a una ruta de acceso existente en relación con la imagen representada por el identificador de imagen. |
CimCreateImage La función CimCreateImage crea un identificador que representa una nueva imagen en la ubicación especificada, opcionalmente basada en una imagen existente en esa ubicación. |
CimDeletePath La función CimDeletePath quita el archivo, la secuencia, el directorio o el vínculo duro en una ruta de acceso relativa a la imagen representada por el identificador de imagen. |
CimDismountImage La función CimDismountImage desmonta una imagen montada con volumeId como GUID del volumen. |
CimMountImage La función CimMountImage monta la imagen con nombre desde la ubicación especificada por cimPath como un volumen con el GUID del volumen especificado por volumeId. |
CimWriteStream La función CimWriteStream escribe datos del búfer especificado en la secuencia representada por el identificador de flujo. |
CIMFS_FILE_METADATA La estructura de CIMFS_FILE_METADATA especifica metadatos de archivo para el archivo que va a agregar CimCreateFile. |