CimFS
Um CIM é um formato de imagem com suporte de arquivo semelhante em conceito a um WIM.
O formato CIM consiste em uma pequena coleção de arquivos simples que incluem um ou mais arquivos de região de dados e metadados, um ou mais arquivos de ID de objeto e um ou mais arquivos de descrição do sistema de arquivos. Como resultado de seu "a flatness", os CIMs são mais rápidos para construir, extrair e excluir do que os diretórios brutos equivalentes que eles contêm.
Os CIMs são compostos porque uma determinada imagem pode conter vários volumes do sistema de arquivos que podem ser montados individualmente enquanto compartilham os mesmos arquivos de backup da região de dados.
Depois de construído, um CIM pode ser montado com o suporte do driver CimFS. A montagem constrói um disco somente leitura e um dispositivo de volume do sistema de arquivos para a imagem. O conteúdo de um CIM montado pode ser acessado somente leitura usando a interface padrão do sistema de arquivos da API Win32 ou NT. O sistema de arquivos CimFS dá suporte a muitos dos constructos do NTFS, como descritores de segurança, fluxos de dados alternativos, links rígidos e pontos de nova análise.
Os CIMs dão suporte à eliminação de duplicação no nível do arquivo. Se várias cópias do mesmo arquivo forem adicionadas a um CIM usando caminhos diferentes, haverá apenas uma única cópia dos dados de arquivo armazenados no CIM.
Os CIMs foram originalmente projetados e otimizados para serem usados como um layout de imagem de contêiner do Windows.
Para desenvolver com o CimFS, você precisa desse cabeçalho:
E você precisará vincular a esta biblioteca:
- cimfs.lib
Este exemplo demonstra como usar as APIs do CimFS (Composite Image File System) para criar, configurar e manipular imagens CimFS.
CIM_MOUNT_IMAGE_FLAGS A enumeração CIM_MOUNT_IMAGE_FLAGS contém sinalizadores que podem ser usados para modificar o comportamento de CimMountImage. |
CimCloseImage A função CimCloseImage libera recursos associados ao identificador de imagem. |
CimCloseStream A função CimCloseStream libera recursos associados ao identificador de fluxo. |
CimCommitImage A função CimCommitImage confirma a imagem representada pelo identificador de imagem. |
CimCreateAlternateStream A função CimCreateAlternateStream adiciona um fluxo alternativo com o tamanho especificado em um caminho relativo à imagem representada pelo identificador de imagem. |
CimCreateFile A função CimCreateFile adiciona um novo arquivo ou diretório com os metadados especificados em um caminho relativo à imagem representada pelo identificador de imagem. |
CimCreateHardLink A função CimCreateHardLink adiciona um link rígido a um caminho existente em relação à imagem representada pelo identificador de imagem. |
CimCreateImage A função CimCreateImage cria um identificador que representa uma nova imagem no local especificado, opcionalmente com base em uma imagem existente nesse local. |
CimDeletePath A função CimDeletePath remove o arquivo, fluxo, diretório ou hardlink em um caminho relativo à imagem representada pelo identificador de imagem. |
CimDismountImage A função CimDismountImage desmonta uma imagem montada com volumeId como o GUID do volume. |
CimMountImage A função CimMountImage monta a imagem nomeada do local especificado por cimPath como um volume com o GUID de volume especificado por volumeId. |
CimWriteStream A função CimWriteStream grava dados do buffer especificado no fluxo representado pelo identificador de fluxo. |
CIMFS_FILE_METADATA A estrutura CIMFS_FILE_METADATA especifica metadados de arquivo para o arquivo a ser adicionado por CimCreateFile. |