Bagikan melalui


Fungsi SHGetDataFromIDListW (shlobj_core.h)

Mengambil data properti yang diperluas dari daftar pengidentifikasi relatif.

Sintaks

SHSTDAPI SHGetDataFromIDListW(
  [in]  IShellFolder    *psf,
  [in]  PCUITEMID_CHILD pidl,
        int             nFormat,
  [out] void            *pv,
        int             cb
);

Parameter

[in] psf

Jenis: IShellFolder*

Alamat antarmuka IShellFolder induk. Ini harus menjadi induk langsung dari struktur ITEMIDLIST yang dirujuk oleh parameter pidl .

[in] pidl

Jenis: PCUITEMID_CHILD

Penunjuk ke struktur ITEMIDLIST yang mengidentifikasi objek relatif terhadap folder yang ditentukan dalam psf.

nFormat

Jenis: int

Format di mana data diminta. Parameter ini harus diatur ke salah satu nilai berikut.

SHGDFIL_FINDDATA

Format yang digunakan untuk objek sistem file. Parameter pv adalah alamat struktur WIN32_FIND_DATA .

SHGDFIL_NETRESOURCE

Format yang digunakan untuk sumber daya jaringan. Parameter pv adalah alamat struktur NETRESOURCE .

SHGDFIL_DESCRIPTIONID

Versi 4.71. Format yang digunakan untuk sumber daya jaringan. Parameter pv adalah alamat struktur SHDESCRIPTIONID .

[out] pv

Jenis: void*

Penunjuk ke buffer yang, ketika fungsi ini berhasil dikembalikan, menerima data yang diminta. Format buffer ini ditentukan oleh nFormat.

Jika nFormatSHGDFIL_NETRESOURCE, ada dua kemungkinan kasus. Jika buffer cukup besar, informasi string sumber daya bersih (bidang untuk nama jaringan, nama lokal, penyedia, dan komentar) akan ditempatkan ke dalam buffer. Jika buffer tidak cukup besar, hanya struktur sumber daya bersih yang akan ditempatkan ke dalam buffer dan penunjuk informasi string akan null.

cb

Jenis: int

Ukuran buffer pada pv, dalam byte.

Mengembalikan nilai

Jenis: HRESULT

Mengembalikan S_OK jika berhasil, atau E_INVALIDARG sebaliknya.

Keterangan

Fungsi ini hanya mengekstrak informasi yang ada di penunjuk ke daftar pengidentifikasi item (PIDL). Karena konten PIDL tergantung pada objek folder yang membuat PIDL, tidak ada jaminan bahwa semua informasi yang diminta akan tersedia. Selain itu, informasi yang dikembalikan mencerminkan status objek pada saat PIDL dibuat. Status objek saat ini bisa berbeda. Misalnya, jika Anda mengatur nFormat ke SHGDFIL_FINDDATA, fungsi mungkin menetapkan nilai yang bermakna hanya untuk beberapa anggota struktur WIN32_FIND_DATA . Anggota yang tersisa akan diatur ke nol. Untuk mengambil informasi lengkap saat ini pada file atau folder sistem file, gunakan fungsi sistem file standar seperti GetFileTime atau FindFirstFile.

E_INVALIDARG dikembalikan jika parameter psf, pidl, pv, atau cb tidak cocok dengan parameter nFormat , atau jika nFormat bukan salah satu nilai SHGDFIL_ spesifik yang ditunjukkan di atas.

Catatan

Header shlobj_core.h mendefinisikan SHGetDataFromIDList sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

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 shlobj_core.h (termasuk Shlobj.h, Shlobj_core.h)
Pustaka Shell32.lib
DLL Shell32.dll (versi 4.0 atau yang lebih baru)
Set API ext-ms-win-shell-shell32-l1-2-1 (diperkenalkan dalam Windows 10, versi 10.0.10240)