Condividi tramite


Caratteristiche delle prestazioni

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

Quando viene aperto un set di proprietà, viene utilizzato IStorage::OpenStream o IStorage::OpenStorage. L'intero flusso del set di proprietà viene letto in memoria contigua. operazioni IPropertyStorage::ReadMultiple quindi funzionano 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 possono essere leggermente più costose perché le operazioni SetSize nel flusso sottostante potrebbero essere necessarie per garantire che lo spazio su disco sia disponibile se vengono aggiunti dati.

Non vengono fornite garanzie per stabilire se IPropertyStorage::WriteMultiple scarica gli aggiornamenti. In generale, il client deve presupporre che IPropertyStorage::WriteMultiple aggiorna solo nel buffer di 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 256.000 byte.