Partilhar via


Implementação do sistema de arquivos IPropertyStorage-NTFS

O NTFS versão 5.0 fornece uma implementação do IPropertyStorage interface para arquivos em um volume NTFS quando os arquivos não são arquivos compostos.

Para obter um ponteiro para a implementação do sistema de arquivos NTFS de IPropertySetStorage

  1. Chame IPropertySetStorage::Create usando a implementação NTFS do IPropertySetStorage.
  2. Chame IPropertySetStorage::Open usando a implementação NTFS do IPropertySetStorage.

Quando usar

Use IPropertyStorage para gerenciar propriedades dentro de um único conjunto de propriedades. Seus métodos suportam leitura, gravação e exclusão de propriedades e os nomes de cadeia de caracteres opcionais que podem ser associados a identificadores de propriedade. Outro método permite que você defina horários associados ao armazenamento de propriedade e outro permite a atribuição de um CLSID, usado para associar outro código, como código de interface do usuário (UI), com o conjunto de propriedades. Chamar o método Enum fornece um ponteiro para a implementação NTFS de IEnumSTATPROPSTG, que permite enumerar as propriedades no conjunto.

Comentários

A implementação NTFS fornece essencialmente os mesmos recursos que a implementação de arquivo composto. Para obter mais informações, consulte IPropertyStorage-Compound File Implementation.

Como o NTFS é um sistema de arquivos robusto, um conjunto de propriedades NTFS nunca será deixado em um estado incorreto. Quando o conteúdo de umNTFSIPropertyStorage é liberado para o arquivo NTFS subjacente, todo ou nenhum estado é gravado no arquivo como uma operação atômica, mesmo se houver uma falha durante a operação, como um encerramento anormal do processo. Para obter um comportamento semelhante com a implementação de arquivo composto, o pai interface IPropertySetStorage deve ser aberto no modo transacionado.

Esse nível de robustez só é possível ao acessar uma propriedade NTFS definida em um volume NTFS 5.0. É possível acessar conjuntos de propriedades NTFS em versões anteriores do NTFS (por exemplo, um computador executando no Windows NT ou Windows 2000 que acessa os conjuntos de propriedades em um computador servidor de arquivos executando no Windows NT 4.0), mas não é garantido que eles estejam em um estado correto no caso de uma falha inesperada.

Embora a implementação NTFS de IPropertySetStorage não ofereça suporte a transações, a implementação NTFS de IPropertyStorage oferece suporte a ela. Ou seja, STGM_TRANSACTED pode ser especificado no parâmetro grfMode para os métodos Create e Open do IPropertySetStorage. Como na implementação do arquivo composto, o modo transacionado só é possível para armazenamentos de propriedades não simples (especificando PROPSETFLAG_NONSIMPLE no parâmetro grfFlags).

IPropertyStorage

de implementação do sistema de arquivosIPropertySetStorage-NTFS