Metode IPropertyPage::SetObjects (ocidl.h)

Menyediakan halaman properti dengan array pointer ke objek yang terkait dengan halaman properti ini.

Ketika halaman properti menerima panggilan ke IPropertyPage::Apply, halaman properti harus mengirim perubahan nilai ke objek ini melalui antarmuka apa pun yang sesuai. Halaman properti harus meminta antarmuka tersebut. Metode ini dapat gagal jika objek tidak mendukung antarmuka yang diharapkan oleh halaman properti.

Sintaks

HRESULT SetObjects(
  [in] ULONG    cObjects,
  [in] IUnknown **ppUnk
);

Parameter

[in] cObjects

Jumlah pointer dalam array yang diacu oleh ppUnk. Jika parameter ini adalah 0, halaman properti harus merilis pointer apa pun yang sebelumnya diteruskan ke metode ini.

[in] ppUnk

Penunjuk ke array penunjuk antarmuka IUnknown di mana setiap pointer mengidentifikasi objek unik yang dipengaruhi oleh lembar properti tempat halaman properti ini (dan mungkin lainnya) ditampilkan. Halaman properti harus menyimpan pointer ini yang memanggil AddRef untuk setiap pointer pada saat itu. Array pointer ini sama dengan yang diteruskan ke OleCreatePropertyFrame atau OleCreatePropertyFrameIndirect untuk memanggil lembar properti.

Nilai kembali

Metode ini dapat mengembalikan nilai pengembalian standar E_FAIL, E_INVALIDARG, E_OUTOFMEMORY, dan E_UNEXPECTED, serta nilai berikut.

Menampilkan kode Deskripsi
S_OK
Halaman properti berhasil menyimpan pointer yang diperlukan.
E_NOINTERFACE
Salah satu objek di ppUnk tidak mendukung antarmuka yang diharapkan oleh halaman properti ini, sehingga halaman properti ini tidak dapat berkomunikasi dengannya.
E_POINTER
Alamat di ppUnk tidak valid. Misalnya, mungkin NULL.

Keterangan

Halaman properti diperlukan untuk menjaga pointer yang dikembalikan oleh metode ini atau yang lain dikueri melaluinya. Jika pointer IUnknown tertentu ini ditahan, halaman properti harus memanggil AddRef melalui masing-masing saat penembolokan, hingga waktu ketika SetObjects dipanggil dengan cObjects sama dengan 0. Pada saat itu, halaman properti harus memanggil Rilis melalui setiap pointer, merilis objek apa pun yang dipegangnya.

Pemanggil harus menyediakan halaman properti dengan objek ini sebelum memanggil IPropertyPage::Activate, dan harus memanggil SetObjects dengan nol sebagai parameter saat menonaktifkan halaman atau saat merilis objek sepenuhnya. Setiap panggilan ke SetObjects dengan parameter ppUnknon-NULL harus dicocokkan dengan panggilan selanjutnya ke SetObjects dengan 0 dalam parameter cObjects.

Catatan untuk Pelaksana

E_NOTIMPL bukan nilai pengembalian yang valid.

Persyaratan

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

Lihat juga

IPropertyPage