Características de rendimiento
Una llamada a la implementación del archivo compuesto COM de la interfaz IPropertySetStorage para crear un conjunto de propiedades hace que se cree una secuencia o un almacenamiento mediante una llamada a IStorage::CreateStream o IStorage::CreateStorage. Se crea un conjunto de propiedades predeterminado en memoria, pero no se vacía en el disco. Cuando hay una llamada a IPropertyStorage::WriteMultiple, funciona dentro del búfer.
Cuando se abre un conjunto de propiedades, se usa IStorage::OpenStream o IStorage::OpenStorage . Toda la secuencia del conjunto de propiedades se lee en memoria contigua. Las operaciones IPropertyStorage::ReadMultiple funcionan leyendo el búfer de memoria. Por lo tanto, el primer acceso es costoso en términos de tiempo (debido a las lecturas de disco), pero los accesos posteriores son muy eficaces. Las escrituras pueden ser ligeramente más costosas, ya que es posible que se necesiten operaciones SetSize en la secuencia subyacente para garantizar que el espacio en disco esté disponible si se agregan datos.
No se garantiza si IPropertyStorage::WriteMultiple vaciará las actualizaciones. En general, el cliente debe suponer que IPropertyStorage::WriteMultiple solo actualiza el búfer en memoria. Para vaciar los datos, se debe llamar a IPropertyStorage::Commit o IUnknown::Release (última versión).
Este diseño significa que WriteMultiple puede tener éxito, pero los datos no se escriben de forma persistente.
Nota
Este tamaño de la secuencia del conjunto de propiedades no puede superar los 256 000 bytes.