Karakteristik Performa

Panggilan ke implementasi file majemuk COM dari antarmuka IPropertySetStorage untuk membuat kumpulan properti menyebabkan aliran atau penyimpanan dibuat melalui panggilan ke IStorage::CreateStream atau IStorage::CreateStorage. Kumpulan properti default dibuat dalam memori, tetapi tidak dibersihkan ke disk. Ketika ada panggilan ke IPropertyStorage::WriteMultiple, ia beroperasi dalam buffer.

Saat kumpulan properti dibuka, IStorage::OpenStream atau IStorage::OpenStorage digunakan. Seluruh aliran set properti dibaca ke dalam memori yang berdampingan. Operasi IPropertyStorage::ReadMultiple kemudian beroperasi dengan membaca buffer memori. Oleh karena itu, akses pertama mahal dalam hal waktu (karena pembacaan disk) tetapi akses berikutnya sangat efisien. Penulisan mungkin sedikit lebih mahal karena operasi SetSize pada aliran yang mendasar mungkin diperlukan untuk menjamin bahwa ruang disk tersedia jika data ditambahkan.

Tidak ada jaminan yang dibuat untuk apakah IPropertyStorage::WriteMultiple akan menghapus pembaruan. Secara umum, klien harus mengasumsikan bahwa IPropertyStorage::WriteMultiple hanya memperbarui buffer dalam memori. Untuk menghapus data, IPropertyStorage::Commit atau IUnknown::Release (rilis terakhir) harus dipanggil.

Desain ini berarti bahwa WriteMultiple mungkin berhasil tetapi data sebenarnya tidak ditulis secara terus-menerus.

Catatan

Ukuran aliran set properti ini tidak boleh melebihi 256K byte.