Metode IShellFolder::GetUIObjectOf (shobjidl_core.h)

Mendapatkan objek yang dapat digunakan untuk melakukan tindakan pada objek atau folder file yang ditentukan.

Sintaks

HRESULT GetUIObjectOf(
  [in]      HWND                  hwndOwner,
  [in]      UINT                  cidl,
  [in]      PCUITEMID_CHILD_ARRAY apidl,
  [in]      REFIID                riid,
  [in, out] UINT                  *rgfReserved,
  [out]     void                  **ppv
);

Parameter

[in] hwndOwner

Jenis: HWND

Handel ke jendela pemilik yang harus ditentukan klien jika menampilkan kotak dialog atau kotak pesan.

[in] cidl

Jenis: UINT

Jumlah objek file atau subfolder yang ditentukan dalam parameter apidl .

[in] apidl

Jenis: PCUITEMID_CHILD_ARRAY

Alamat array pointer ke struktur ITEMIDLIST , yang masing-masing secara unik mengidentifikasi objek file atau subfolder relatif terhadap folder induk. Setiap daftar pengidentifikasi item harus berisi tepat satu struktur SHITEMID diikuti dengan nol yang mengakhiri.

[in] riid

Jenis: REFIID

Referensi ke IID antarmuka untuk diambil melalui ppv. Ini bisa menjadi pengidentifikasi antarmuka yang valid yang dapat dibuat untuk item. Pengidentifikasi paling umum yang digunakan oleh Shell tercantum dalam komentar di akhir referensi ini.

[in, out] rgfReserved

Jenis: UINT*

Dicadangkan.

[out] ppv

Jenis: void**

Ketika metode ini berhasil dikembalikan, berisi pointer antarmuka yang diminta dalam riid.

Nilai kembali

Jenis: HRESULT

Jika metode ini berhasil, metode ini mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan.

Keterangan

Jika cidl lebih besar dari satu, implementasi IShellFolder::GetUIObjectOf seharusnya hanya berhasil jika dapat membuat satu objek untuk semua item yang ditentukan dalam apidl. Jika implementasi tidak dapat membuat satu objek untuk semua item, metode ini akan gagal.

Berikut ini adalah pengidentifikasi antarmuka yang paling umum yang digunakan Shell saat meminta antarmuka dari metode ini. Daftar ini juga menunjukkan apakah cidl dapat lebih besar dari satu untuk antarmuka yang diminta.

Pengidentifikasi Antarmuka Nilai cidl yang diizinkan
IContextMenu Parameter cidl bisa lebih besar dari atau sama dengan satu.
IContextMenu2 Parameter cidl bisa lebih besar dari atau sama dengan satu.
IDataObject Parameter cidl bisa lebih besar dari atau sama dengan satu.
IDropTarget Parameter cidl hanya bisa satu.
IExtractIcon Parameter cidl hanya bisa satu.
IQueryInfo Parameter cidl hanya bisa satu.
 

Kami menyarankan agar Anda menggunakan makro IID_PPV_ARGS , yang ditentukan dalam Objbase.h, untuk mengemas parameter riid dan ppv . Makro ini menyediakan IID yang benar berdasarkan antarmuka yang ditunjukkan oleh nilai dalam ppv, yang menghilangkan kemungkinan kesalahan pengkodian dalam riid yang dapat menyebabkan hasil yang tidak terduga.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header shobjidl_core.h (termasuk Shobjidl.h)
DLL Shell32.dll (versi 4.0 atau yang lebih baru)

Lihat juga

IShellFolder

IShellFolder2