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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk