Características de rendimiento
Una llamada a la implementación de archivos compuestos COM de la interfaz deIPropertySetStorage 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 la 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 de de IPropertyStorage::ReadMultiple y, a continuación, 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 eficientes. Las escrituras pueden ser ligeramente más costosas, ya que es posible que se requieran 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 de memoria. Para vaciar los datos, se debe llamar a IPropertyStorage::Commit o IUnknown::Release (última versión).
Este diseño significa que WriteMultiple puede realizarse correctamente, 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.