CimFS
Un CIM est un format d’image de fichier similaire au concept d’un WIM.
Le format CIM se compose d’une petite collection de fichiers plats qui incluent un ou plusieurs fichiers de données et de régions de métadonnées, un ou plusieurs fichiers d’ID d’objet et un ou plusieurs fichiers de description du système de fichiers. En raison de leur « platité », les CIM sont plus rapides à construire, à extraire et à supprimer que les répertoires bruts équivalents qu’ils contiennent.
Les cim sont composites en ce qu’une image donnée peut contenir plusieurs volumes de système de fichiers qui peuvent être montés individuellement tout en partageant les mêmes fichiers de stockage de la même région de données.
Une fois construit, un cim peut être monté avec la prise en charge du pilote CimFS. Le montage construit un disque en lecture seule et un périphérique de volume du système de fichiers pour l’image. Le contenu d’un CIM monté est accessible en lecture seule à l’aide de l’interface de système de fichiers de l’API Win32 ou NT standard. Le système de fichiers CimFS prend en charge un grand nombre des constructions de NTFS, telles que les descripteurs de sécurité, les flux de données alternatifs, les liens physiques et les points d’analyse.
Les cim prennent en charge la déduplication au niveau du fichier. Si plusieurs copies du même fichier sont ajoutées à un cim à l’aide de chemins différents, il n’y aura qu’une seule copie des données de fichier stockées dans le cim.
Les cim ont été initialement conçus et optimisés pour être utilisés comme disposition d’image conteneur Windows.
Pour développer avec CimFS, vous avez besoin de cet en-tête :
Et vous devez établir un lien avec cette bibliothèque :
- cimfs.lib
Cet exemple montre comment utiliser les API CimFS (Composite Image File System) pour créer, configurer et manipuler des images CimFS.
CIM_MOUNT_IMAGE_FLAGS L’énumération CIM_MOUNT_IMAGE_FLAGS contient des indicateurs qui peuvent être utilisés pour modifier le comportement de CimMountImage. |
CimCloseImage La fonction CimCloseImage libère les ressources associées au handle d’image. |
CimCloseStream La fonction CimCloseStream libère les ressources associées au handle de flux. |
CimCommitImage La fonction CimCommitImage valide l’image représentée par le handle d’image. |
CimCreateAlternateStream La fonction CimCreateAlternateStream ajoute un autre flux avec la taille spécifiée à un chemin d’accès relatif à l’image représentée par le handle d’image. |
CimCreateFile La fonction CimCreateFile ajoute un nouveau fichier ou répertoire avec les métadonnées spécifiées à un chemin d’accès relatif à l’image représentée par le handle d’image. |
CimCreateHardLink La fonction CimCreateHardLink ajoute un lien physique à un chemin existant relatif à l’image représentée par le handle d’image. |
CimCreateImage La fonction CimCreateImage crée un handle représentant une nouvelle image à l’emplacement spécifié, éventuellement en fonction d’une image existante à cet emplacement. |
CimDeletePath La fonction CimDeletePath supprime le fichier, le flux, le répertoire ou le lien fixe à un chemin d’accès relatif à l’image représentée par le handle d’image. |
CimDismountImage La fonction CimDismountImage démonte une image montée avec volumeId comme GUID de volume. |
CimMountImage La fonction CimMountImage monte l’image nommée à partir de l’emplacement spécifié par cimPath en tant que volume avec le GUID de volume spécifié par volumeId. |
CimWriteStream La fonction CimWriteStream écrit les données de la mémoire tampon spécifiée dans le flux représenté par le handle de flux. |
CIMFS_FILE_METADATA La structure CIMFS_FILE_METADATA spécifie les métadonnées du fichier à ajouter par CimCreateFile. |