IPropertySetStorage::Create method (propidl.h)

Metode Buat membuat dan membuka properti baru yang diatur dalam objek penyimpanan set properti.

Sintaks

HRESULT Create(
  [in]  REFFMTID         rfmtid,
  [in]  const CLSID      *pclsid,
  [in]  DWORD            grfFlags,
  [in]  DWORD            grfMode,
  [out] IPropertyStorage **ppprstg
);

Parameter

[in] rfmtid

FMTID properti yang akan dibuat. Untuk informasi tentang FMTID yang terkenal dan telah ditentukan sebelumnya di SDK Platform, lihat Pengidentifikasi Format Set Properti yang Telah Ditentukan sebelumnya.

[in] pclsid

Penunjuk ke pengidentifikasi kelas awal CLSID untuk kumpulan properti ini. Mungkin NULL, dalam hal ini diatur ke semua nol. CLSID adalah CLSID dari kelas yang menampilkan dan/atau menyediakan akses terprogram ke nilai properti. Jika tidak ada kelas seperti itu, disarankan agar FMTID digunakan.

[in] grfFlags

Nilai dari PROPSETFLAG Constants.

[in] grfMode

Mode akses tempat kumpulan properti yang baru dibuat akan dibuka, diambil dari nilai STGM_Constants tertentu, seperti yang dijelaskan di bagian Keterangan berikut.

[out] ppprstg

Penunjuk ke variabel output yang menerima penunjuk antarmuka IPropertyStorage .

Nilai kembali

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

Keterangan

IPropertySetStorage::Create membuat dan membuka subobject set properti baru (mendukung antarmuka IPropertyStorage ) yang terkandung dalam objek penyimpanan set properti ini. Kumpulan properti secara otomatis berisi halaman kode dan properti ID lokal. Ini masing-masing diatur ke Unicode dan default pengguna saat ini.

Parameter grfFlags adalah kombinasi nilai yang diambil dari PROPSETFLAG Constants. Jika nilai PROPSETFLAG_ANSI dari enumerasi ini digunakan, halaman kode diatur ke default sistem saat ini, bukan Unicode.

Parameter grfMode menentukan mode akses tempat set yang baru dibuat akan dibuka. Nilai untuk parameter ini adalah seperti dalam parameter grfMode ke IPropertySetStorage::Open, dengan penambahan nilai yang tercantum dalam tabel berikut.

Nilai Makna
STGM_FAILIFTHERE Jika properti lain yang diatur dengan parameter fmtid yang ditentukan ada, panggilan gagal. Ini adalah tindakan default; yaitu, kecuali STGM_CREATE ditentukan, STGM_FAILIFTHERE tersirat.
STGM_CREATE Jika properti lain yang diatur dengan parameter fmtid yang ditentukan sudah ada, properti tersebut dihapus dan diganti dengan yang baru ini.
 

Kumpulan properti yang dibuat sederhana secara default, tetapi pemanggil dapat meminta properti nonsimple yang ditetapkan dengan menentukan nilai PROPSETFLAG_NONSIMPLE dalam parameter grfFlags . Untuk informasi selengkapnya tentang set properti sederhana dan nonsimple, lihat Penyimpanan dan Objek Stream untuk Kumpulan Properti.

Metode ini tunduk pada batasan IStorage::CreateStream (untuk set properti sederhana) atau IStorage::CreateStorage (untuk set properti nonsimple). Misalnya, saat menggunakan Implementasi File IPropertySetStorage-Compound, tentukan STGM_SHARE_EXCLUSIVE dalam parameter grfMode ke IPropertySetStorage::Create. Sebaliknya, jika menggunakan Implementasi IPropertySetStorage-Stand-alone, IPropertySetStorage::Create 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

IPropertySetStorage

IPropertySetStorage::Open

Konstanta PROPSETFLAG

Sampel

Sampel StgCreatePropSetStg

Sampel WriteRead