Caratteristiche di prestazioni

Una chiamata all'implementazione del file composto COM dell'interfaccia IPropertySetStorage per creare un set di proprietà causa la creazione di un flusso o un'archiviazione tramite una chiamata a IStorage::CreateStream o IStorage::CreateStorage.:CreateStorage. Viene creato un set di proprietà predefinito in memoria, ma non scaricato su disco. Quando è presente una chiamata a IPropertyStorage::WriteMultiple, viene eseguita all'interno del buffer.

Quando viene aperto un set di proprietà, viene usato IStorage::OpenStream o IStorage::OpenStorage. L'intero flusso del set di proprietà viene letto in memoria contigua. Operazioni IPropertyStorage::ReadMultiple e quindi operano leggendo il buffer di memoria. Pertanto, il primo accesso è costoso in termini di tempo (a causa delle letture su disco), ma gli accessi successivi sono molto efficienti. Le scritture potrebbero essere leggermente più costose perché le operazioni SetSize nel flusso sottostante potrebbero essere necessarie per garantire che lo spazio su disco sia disponibile se i dati vengono aggiunti.

Non vengono fornite garanzie per verificare se IPropertyStorage::WriteMultiple scarica gli aggiornamenti. In generale, il client presuppone che IPropertyStorage::WriteMultiple aggiorni solo il buffer in memoria. Per scaricare i dati, è necessario chiamare IPropertyStorage::Commit o IUnknown::Release (ultima versione).

Questa progettazione significa che WriteMultiple può avere esito positivo, ma i dati non vengono effettivamente scritti in modo permanente.

Nota

Questa dimensione del flusso del set di proprietà non può superare i 256K byte.