Implementación del sistema de archivos IPropertyStorage-NTFS

La versión NTFS 5.0 proporciona una implementación de la interfaz IPropertyStorage para los archivos de un volumen NTFS cuando los archivos no son archivos compuestos.

Para obtener un puntero a la implementación del sistema de archivos NTFS de IPropertySetStorage

  1. Llame a IPropertySetStorage::Create mediante la implementación NTFS de IPropertySetStorage.
  2. Llame a IPropertySetStorage::Open mediante la implementación NTFS de IPropertySetStorage.

Casos en los que se debe usar

Use IPropertyStorage para administrar las propiedades dentro de un único conjunto de propiedades. Sus métodos admiten la lectura, escritura y eliminación de propiedades y los nombres de cadena opcionales que se pueden asociar a los identificadores de propiedad. Otro método permite establecer las horas asociadas al almacenamiento de propiedades y otra permite la asignación de un CLSID, que se usa para asociar otro código, como el código de interfaz de usuario (UI) con el conjunto de propiedades. Al llamar al método Enum , se proporciona un puntero a la implementación NTFS de IEnumSTATPROPSTG, que permite enumerar las propiedades del conjunto.

Comentarios

La implementación ntfs proporciona esencialmente las mismas características que la implementación de archivos compuestos. Para obtener más información, vea IPropertyStorage-Compound File Implementation( Implementación de archivos compuestos de IPropertyStorage).

Dado que NTFS es un sistema de archivos sólido, un conjunto de propiedades NTFS nunca se dejará en un estado incorrecto. Cuando el contenido de un IPropertyStorage NTFS se vacía en el archivo NTFS subyacente, todo o ninguno del estado se escribe en el archivo como una operación atómica, incluso si se produce un error durante la operación, como una terminación de proceso anómala. Para lograr un comportamiento similar con la implementación del archivo compuesto, la interfaz IPropertySetStorage primaria debe abrirse en modo de transacción.

Este nivel de solidez solo es posible cuando se accede a una propiedad NTFS establecida en un volumen NTFS 5.0. Es posible acceder a los conjuntos de propiedades NTFS en versiones anteriores de NTFS (por ejemplo, un equipo que se ejecuta en Windows NT o Windows 2000 que tenga acceso a los conjuntos de propiedades en un equipo de servidor de archivos que se ejecuta en Windows NT 4.0), pero no se garantiza que estén en un estado correcto en caso de un error inesperado.

Aunque la implementación NTFS de IPropertySetStorage no admite transacciones, la implementación NTFS de IPropertyStorage la admite. Es decir, STGM_TRANSACTED se pueden especificar en el parámetro grfMode para los métodos Create y Open de IPropertySetStorage. Como en la implementación de archivos compuestos, el modo transaccionado solo es posible para los almacenamientos de propiedades nomples (especificando PROPSETFLAG_NONSIMPLE en el parámetro grfFlags ).

IPropertyStorage

Implementación del sistema de archivos IPropertySetStorage-NTFS