Konstanta PROPSETFLAG

Konstanta PROPSETFLAG mendefinisikan karakteristik set properti. Nilai, yang tercantum dalam tabel berikut, digunakan dalam parameter grfFlags metode IPropertySetStorage , fungsi StgCreatePropStg , dan fungsi StgOpenPropStg .

Konstanta/nilai Deskripsi
PROPSETFLAG_DEFAULT
0
Jika dibiarkan tidak ditentukan, secara default hanya nilai properti sederhana yang dapat ditulis ke kumpulan properti. Menggunakan nilai properti sederhana mencegah set properti ditransaksikan dalam file majemuk dan implementasi IPropertySetStorage yang berdiri sendiri. Nilai properti non-e harus digunakan untuk tujuan ini.
PROPSETFLAG_NONSIMPLE
1
Jika ditentukan, nilai properti nonsimple dapat ditulis ke kumpulan properti dan kumpulan properti disimpan dalam objek penyimpanan. Nilai properti yang tidak sederhana termasuk yang memiliki VARTYPE VT_STORAGE, VT_STREAM, VT_STORED_OBJECT, atau VT_STREAMED_OBJECT. Jika bendera ini tidak ditentukan, jenis yang tidak sederhana tidak dapat ditulis ke dalam set properti. Dalam file majemuk dan implementasi yang berdiri sendiri, set properti dapat ditransaksikan hanya jika PROPSETFLAG_NONSIMPLE ditentukan.
PROPSETFLAG_ANSI
2
Jika ditentukan, semua nilai string dalam kumpulan properti yang tidak secara eksplisit Unicode, yaitu, yang selain VT_LPWSTR, disimpan dengan halaman kode ANSI sistem saat ini. Untuk informasi selengkapnya, lihat GetACP. Penggunaan nilai ini tidak disarankan. Untuk informasi selengkapnya, lihat Keterangan.
Jika nilai ini tidak ada, nilai string dalam kumpulan properti baru disimpan di Unicode. Tingkat kontrol yang disediakan nilai ini diperlukan sehingga klien yang menggunakan antarmuka terkait properti dapat beroperasi dengan set properti standar seperti informasi ringkasan OLE2, yang mungkin ada di halaman kode ANSI.
PROPSETFLAG_UNBUFFERED
4
Hanya digunakan dengan fungsi StgCreatePropStg dan StgOpenPropStg ; yaitu, dalam implementasi antarmuka set properti yang berdiri sendiri. Jika ditentukan dalam fungsi ini, perubahan pada kumpulan properti tidak di-buffer. Sebaliknya, perubahan selalu ditulis langsung ke set properti. Panggilan ke set properti metode IPropertyStorage akan mengubahnya. Namun, secara default, perubahan di-buffer dalam cache set properti internal dan kemudian ditulis ke properti yang ditetapkan ketika metode IPropertyStorage::Commit dipanggil.
Pengaturan PROPSETFLAG_UNBUFFERED mengurangi performa karena buffer internal set properti secara otomatis dihapus setelah setiap perubahan pada kumpulan properti. Namun, menulis perubahan secara langsung akan mencegah masalah koordinasi. Misalnya, jika objek penyimpanan dibuka dalam mode bertransaksi, dan set properti di-buffer. Kemudian, jika Anda memanggil metode IStorage::Commit pada objek penyimpanan, perubahan set properti tidak akan diambil sebagai bagian dari transaksi, karena berada dalam buffer yang belum dihapus. Anda harus memanggil IPropertyStorage::Commit sebelum memanggil IStorage::Commit untuk menghapus buffer set properti sebelum melakukan perubahan pada penyimpanan. Sebagai alternatif untuk melakukan dua panggilan, Anda dapat mengatur PROPSETFLAG_UNBUFFERED sehingga perubahan selalu ditulis langsung ke set properti dan tidak pernah di-buffer di cache internal set properti. Kemudian, perubahan akan diambil ketika penyimpanan yang ditransaksikan dilakukan.
PROPSETFLAG_CASE_SENSITIVE
8
Jika ditentukan, nama properti peka huruf besar/kecil. Nama properti peka huruf besar/kecil hanya dimungkinkan dalam format serialisasi set properti versi 1. Untuk informasi selengkapnya, lihat Serialisasi Set Properti.

Keterangan

Nilai-nilai ini dapat diatur dan diperiksa menggunakan operasi bitwise yang menentukan bagaimana set properti dibuat dan dibuka. Set properti dibuat menggunakan IPropertySetStorage::Create method atau fungsi StgCreatePropStg . Mereka dibuka menggunakan metode IPropertySetStorage::Open atau fungsi StgOpenPropStg .

Disarankan agar set properti dibuat sebagai Unicode dengan tidak mengatur bendera PROPSETFLAG_ANSI di parameter grfFlags . Disarankan juga agar Anda menghindari penggunaan nilai VT_LPSTR, dan menggunakan nilai VT_LPWSTR sebagai gantinya. Saat halaman kode set properti adalah Unicode, nilai string VT_LPSTR dikonversi ke Unicode saat disimpan, dan dikonversi kembali ke nilai string multibyte saat diambil. Ketika halaman kode kumpulan properti bukan Unicode, nama properti, string VT_BSTR, dan nilai properti nonsimple dikonversi menjadi string multibyte saat disimpan, dan dikonversi kembali ke Unicode saat diambil, semuanya menggunakan halaman kode ANSI sistem saat ini.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung
Windows 2000 Server [hanya aplikasi desktop]
Header
Propidl.h

Lihat juga

FmtIdToPropStgName

IPropertySetStorage::Create

IPropertySetStorage::Open

PropStgNameToFmtId

StgCreatePropSetStg

StgCreatePropStg

StgOpenPropStg