Bagikan melalui


Struktur CIDA (shlobj_core.h)

Digunakan dengan format clipboard CFSTR_SHELLIDLIST untuk mentransfer penunjuk ke daftar pengidentifikasi item (PIDL) dari satu atau beberapa objek namespace Shell.

Sintaks

typedef struct _IDA {
  UINT cidl;
  UINT aoffset[1];
} CIDA, *LPIDA;

Anggota

cidl

Jenis: UINT

Jumlah PIDL yang sedang ditransfer, tidak termasuk folder induk.

aoffset[1]

Jenis: UINT[1]

Array offset, relatif terhadap awal struktur ini. Array berisi elemen cidl+1. Elemen pertama aoffset berisi offset ke PIDL yang sepenuhnya memenuhi syarat dari folder induk. Jika PIDL ini kosong, folder induk adalah desktop. Masing-masing elemen array yang tersisa berisi offset ke salah satu PIDL yang akan ditransfer. Semua PIDL ini relatif terhadap PIDL folder induk.

Keterangan

Untuk menggunakan struktur ini untuk mengambil PIDL tertentu, tambahkan nilai aoffset PIDL ke alamat struktur. Dua makro berikut dapat digunakan untuk mengambil PIDL dari struktur. Yang pertama mengambil PIDL folder induk. Yang kedua mengambil PIDL, yang ditentukan oleh indeks berbasis nol.

#define HIDA_GetPIDLFolder(pida) (LPCITEMIDLIST)(((LPBYTE)pida)+(pida)->aoffset[0])
#define HIDA_GetPIDLItem(pida, i) (LPCITEMIDLIST)(((LPBYTE)pida)+(pida)->aoffset[i+1])

Nilai yang dikembalikan oleh makro ini adalah penunjuk ke struktur ITEMIDLIST . Karena struktur ini bervariasi panjangnya, Anda harus menentukan akhir struktur dengan mengurainya. Lihat NameSpace untuk diskusi lebih lanjut tentang PIDL dan struktur ITEMIDLIST .

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Header shlobj_core.h (termasuk Shlobj.h)