IPropertySetStorage::Metode terbuka (propidl.h)

Metode Buka membuka kumpulan properti yang terkandung dalam objek penyimpanan set properti.

Sintaks

HRESULT Open(
  [in]  REFFMTID         rfmtid,
  [in]  DWORD            grfMode,
  [out] IPropertyStorage **ppprstg
);

Parameter

[in] rfmtid

Pengidentifikasi format (FMTID) properti yang diatur untuk dibuka. Untuk informasi selengkapnya tentang FMTID yang terkenal dan telah ditentukan sebelumnya di SDK Platform, lihat Pengidentifikasi Format Set Properti yang Telah Ditentukan sebelumnya.

[in] grfMode

Mode akses tempat kumpulan properti yang baru dibuat akan dibuka. Bendera ini diambil dari STGM Constants. Bendera yang dapat digunakan dan maknanya dalam konteks metode ini dijelaskan di bagian Keterangan berikut.

[out] ppprstg

Penunjuk ke variabel pointer IPropertyStorage yang menerima penunjuk antarmuka ke subobject penyimpanan properti yang diminta.

Nilai kembali

Metode ini mendukung nilai pengembalian standar E_UNEXPECTED, selain yang berikut ini:

Keterangan

Mode di mana set properti akan dibuka ditentukan dalam parameter grfMode. Bendera ini diambil dari Konstanta STGM, tetapi, untuk metode ini, nilai hukum dan maknanya adalah sebagai berikut (hanya kombinasi tertentu dari nilai bendera ini yang legal).

Nilai Makna
STGM_DIRECT Membuka kumpulan properti tanpa tingkat transaksi tambahan berlapis. Ini adalah default (perilaku jika tidak STGM_DIRECT atau STGM_TRANSACTED yang ditentukan).
STGM_TRANSACTED Membuka set properti dengan tingkat transaksi tambahan bersarang (di luar transaksi, jika ada, pada properti ini, set objek penyimpanan). Mode yang ditransaksikan hanya tersedia untuk set properti nonsimple. Perubahan dalam kumpulan properti harus dilakukan dengan panggilan ke IPropertyStorage::Commit sebelum terlihat oleh transaksi pada penyimpanan set properti ini.
STGM_READ Membuka kumpulan properti dengan akses baca. Izin baca diperlukan pada penyimpanan set properti.
STGM_WRITE Membuka set properti dengan akses tulis. Tidak semua implementasi IPropertyStorage mendukung mode ini.
STGM_READWRITE Membuka set properti dengan akses baca dan tulis. Ketahuilah bahwa bendera ini bukan biner ATAU dari nilai yang STGM_READ dan STGM_WRITE.
STGM_SHARE_DENY_NONE Pembukaan berikutnya dari kumpulan properti dari penyimpanan set properti ini tidak ditolak akses baca atau tulis. (Tidak tersedia di semua implementasi.)
STGM_SHARE_DENY_READ Pembukaan berikutnya dari kumpulan properti dari penyimpanan set properti ini ditolak akses baca. Tidak tersedia di semua implementasi.
STGM_SHARE_DENY_WRITE Pembukaan berikutnya dari kumpulan properti yang ditetapkan dari penyimpanan set properti ini ditolak akses tulis. Nilai ini biasanya digunakan dalam mode yang ditransaksikan untuk mencegah pembuatan salinan objek yang tidak perlu dibuka oleh beberapa pengguna. Artinya, jika STGM_TRANSACTED ditentukan, tetapi nilai ini tidak ditentukan, rekam jepret dibuat, apakah ada bukaan berikutnya atau tidak. Dengan demikian, Anda dapat meningkatkan performa dengan menentukan nilai ini. Tidak tersedia di semua implementasi.
STGM_SHARE_EXCLUSIVE Pembukaan properti berikutnya yang ditetapkan dari penyimpanan set properti ini tidak dimungkinkan. Ketahuilah bahwa nilai ini bukan biner sederhana ATAU dari elemen STGM_SHARE_DENY_READ dan STGM_SHARE_DENY_WRITE.
 

Metode ini tunduk pada batasan IStorage::OpenStream (untuk set properti sederhana) atau IStorage::OpenStorage (untuk set properti nonsimple). Untuk informasi selengkapnya tentang set properti sederhana dan nonsimple, lihat Penyimpanan dan Objek Stream untuk Kumpulan Properti. Misalnya, saat menggunakan Implementasi File IPropertySetStorage-Compound, Anda harus menentukan STGM_SHARE_EXCLUSIVE dalam parameter grfMode ke IPropertySetStorage::Open. Sebaliknya, jika menggunakan Implementasi IPropertySetStorage-Stand-alone, IPropertySetStorage::Open tunduk pada batasan yang berlaku untuk IStorage yang ditentukan pemanggil.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows 2000 Server [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header propidl.h (termasuk Objbase.h)
Pustaka Uuid.lib
DLL Ole32.dll

Lihat juga

Sampel EnumAll

IPropertySetStorage

IPropertySetStorage::Create

PROPVARIANT

Sampel

Sampel WriteRead