Fungsi SHCreateDataObject (shlobj_core.h)
Membuat objek data dalam folder induk.
Sintaks
SHSTDAPI SHCreateDataObject(
[in, optional] PCIDLIST_ABSOLUTE pidlFolder,
[in] UINT cidl,
[in, optional] PCUITEMID_CHILD_ARRAY apidl,
[in, optional] IDataObject *pdtInner,
[in] REFIID riid,
[out] void **ppv
);
Parameter
[in, optional] pidlFolder
Jenis: PCIDLIST_ABSOLUTE
Penunjuk ke ITEMIDLIST (PIDL) dari folder induk yang berisi objek data.
[in] cidl
Jenis: UINT
Jumlah objek file atau subfolder yang ditentukan dalam parameter apidl .
[in, optional] apidl
Jenis: PCUITEMID_CHILD_ARRAY
Array pointer ke struktur ITEMIDLIST konstan, 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, optional] pdtInner
Jenis: IDataObject*
Penunjuk ke antarmuka IDataObject. Parameter ini bisa NULL. Tentukan pdtInner hanya jika objek data yang dibuat perlu mendukung format clipboard FORMATETC tambahan di luar format default yang ditetapkan saat pembuatan. Atau, berikan dukungan untuk mengisi objek data yang dibuat menggunakan format clipboard non-default dengan memanggil metode IDataObject::SetData dan menentukan format dalam struktur FORMATETC yang diteruskan dalam parameter pFormatetc.
[in] riid
Jenis: REFIID
Referensi ke IID antarmuka untuk diambil melalui ppv. Ini harus IID_IDataObject.
[out] ppv
Jenis: void**
Ketika metode ini berhasil dikembalikan, berisi penunjuk antarmuka IDataObject yang diminta dalam riid.
Nilai kembali
Jenis: HRESULT
Jika fungsi ini berhasil, fungsi akan mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan.
Keterangan
Fungsi ini biasanya dipanggil saat menerapkan metode IShellFolder::GetUIObjectOf. Ketika penunjuk antarmuka ID antarmuka IID_IDataObject diminta (menggunakan parameter riid), pelaksana dapat mengembalikan penunjuk antarmuka pada objek yang dibuat dengan SHCreateDataObject sebagai respons.
Fungsi ini mendukung format clipboard CFSTR_SHELLIDLIST (juga dikenal sebagai HIDA) dan juga memiliki dukungan generik untuk format clipboard arbitrer melalui IDataObject::SetData. Untuk informasi selengkapnya tentang format clipboard, lihat Format Clipboard Shell.
Objek data baru dimaksudkan untuk digunakan dalam operasi seperti seret dan letakkan, di mana data disimpan di clipboard dengan format tertentu.
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 Vista [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | shlobj_core.h (termasuk Shlobj.h) |
DLL | Shell32.dll |
Set API | ext-ms-win-shell-shell32-l1-2-2 (diperkenalkan dalam Windows 10, versi 10.0.14393) |