共用方式為


CIDA 結構 (shlobj_core.h)

CFSTR_SHELLIDLIST 剪貼簿格式搭配使用,將指標傳送至一或多個 Shell 命名空間物件的 PIDL) 清單 (PIDL 清單。

語法

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

成員

cidl

類型: UINT

正在傳輸的 PIDL 數目,不包括父資料夾。

aoffset[1]

類型: UINT[1]

位移的陣列,相對於這個結構的開頭。 陣列包含 cidl+1 元素。 aoffset 的第一個專案包含父資料夾的完整 PIDL 位移。 如果這個 PIDL 是空的,父資料夾就是桌面。 數位的每個剩餘元素都包含要傳輸之其中一個 PIDL 的位移。 所有這些 PIDL 都相對於父資料夾的 PIDL。

備註

若要使用此結構來擷取特定的 PIDL,請將 PIDL 的 aoffset 值新增至 結構的位址。 下列兩個宏可用來從 結構擷取 PIDL。 第一個會擷取父資料夾的PIDL。 第二個會擷取以零起始的索引所指定的PIDL。

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

這些宏所傳回的值是 ITEMIDLIST 結構的指標。 由於這些結構會隨著長度而有所不同,因此您必須剖析結構結尾。 如需 PIDR 和 ITEMIDLIST 結構的進一步討論,請參閱 NameSpace

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
標頭 shlobj_core.h (包含 Shlobj.h)