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) |