Objek Penyimpanan dan Aliran untuk Kumpulan Properti

Programmer menentukan apakah kumpulan properti disimpan dalam penyimpanan atau aliran saat kumpulan properti dibuat. Nilai enumerasi PROPSETFLAG_NONSIMPLE, diteruskan dalam parameter grfFlags ke metode IPropertySetStorage::Create , menunjukkan hal ini. Mengatur tempat kumpulan properti disimpan menyediakan kontrol aplikasi yang tepat untuk sepenuhnya beroperasi melalui antarmuka IPropertySetStorage dengan kumpulan properti COM.

Jika bendera PROPSETFLAG_NONSIMPLE diatur, kumpulan properti disimpan dalam objek penyimpanan, dan nilai properti nonsimple dapat ditulis ke dalamnya. Nilai nonsimple mencakup nilai dengan VARTYPE VT_STORAGE, VT_STREAM, VT_STORED_OBJECT, atau VT_STREAMED_OBJECT. Untuk informasi selengkapnya tentang nilai VARTYPE dan cara menggunakannya, lihat struktur PROPVARIANT .

Jika bendera PROPSETFLAG_NONSIMPLE tidak diatur, hanya nilai sederhana yang dapat ditulis ke kumpulan properti.

Dalam objek penyimpanan kumpulan properti nonsimple, aliran dibuat bernama Konten. Ini adalah aliran utama dari set properti, dan menyimpan semua nilai properti sederhana. Nilai properti nonsimple (aliran dan penyimpanan) disimpan di bawah objek penyimpanan utama properti yang ditetapkan sebagai sub-aliran dan penyimpanan. Artinya, nilai nonsimple ini disimpan sebagai saudara kandung ke aliran Konten. Nama aliran dan penyimpanan saudara ditentukan oleh implementasi, dan disimpan dalam aliran Konten yang mirip dengan cara properti string sederhana disimpan.