Leistungsmerkmale

Ein Aufruf der COM-Verbunddateiimplementierung der IPropertySetStorage-Schnittstelle zum Erstellen einer Eigenschaftsmappe verursacht entweder einen Datenstrom oder einen Speicher, der über einen Aufruf von IStorage::CreateStream oder IStorage::CreateStorage erstellt wird. Ein Standardeigenschaftssatz wird im Arbeitsspeicher erstellt, aber nicht auf den Datenträger gespült. Wenn es einen Aufruf von IPropertyStorage::WriteMultiple gibt, wird er innerhalb des Puffers betrieben.

Wenn ein Eigenschaftssatz geöffnet wird, wird IStorage::OpenStream oder IStorage::OpenStorage verwendet. Der gesamte Eigenschaftensatzdatenstrom wird in zusammenhängendem Arbeitsspeicher gelesen. IPropertyStorage::ReadMultiple-Vorgänge funktionieren dann durch Lesen des Speicherpuffers. Daher ist der erste Zugriff in Bezug auf die Zeit (aufgrund von Datenträgerlesungen) teuer, aber nachfolgende Zugriffe sind sehr effizient. Schreibvorgänge sind möglicherweise etwas teurer, da SetSize-Vorgänge im zugrunde liegenden Stream möglicherweise erforderlich sind, um sicherzustellen, dass Speicherplatz verfügbar ist, wenn Daten hinzugefügt werden.

Es werden keine Garantien getroffen, ob IPropertyStorage::WriteMultiple Updates spült. Im Allgemeinen sollte der Client davon ausgehen, dass IPropertyStorage::WriteMultiple nur den Arbeitsspeicherpuffer aktualisiert. Um Daten zu löschen, sollte IPropertyStorage::Commit oder IUnknown::Release (letzte Version) aufgerufen werden.

Dieses Design bedeutet, dass WriteMultiple erfolgreich ist, aber die Daten werden nicht tatsächlich dauerhaft geschrieben.

Hinweis

Diese Größe des Eigenschaftensatzdatenstroms kann nicht über 256K-Bytes überschreiten.