Struttura CIDA (shlobj_core.h)
Usato con il formato CFSTR_SHELLIDLIST appunti per trasferire il puntatore a un elenco di elementi (PIDL) di uno o più oggetti dello spazio dei nomi shell.
Sintassi
typedef struct _IDA {
UINT cidl;
UINT aoffset[1];
} CIDA, *LPIDA;
Members
cidl
Tipo: UINT
Numero di URL che vengono trasferiti, non incluse la cartella padre.
aoffset[1]
Tipo: UINT[1]
Matrice di offset, rispetto all'inizio di questa struttura. La matrice contiene elementi cidl+1. Il primo elemento di aoffset contiene un offset per il PIDL completo di una cartella padre. Se questo PIDL è vuoto, la cartella padre è il desktop. Ognuno degli elementi rimanenti della matrice contiene un offset a uno dei PIDL da trasferire. Tutti questi PIDL sono relativi al PIDL della cartella padre.
Commenti
Per usare questa struttura per recuperare un determinato PIDL, aggiungere il valore aoffset del PIDL all'indirizzo della struttura. Le due macro seguenti possono essere usate per recuperare i PIDL dalla struttura. Il primo recupera il PIDL della cartella padre. Il secondo recupera un PIDL, specificato dal relativo indice in base zero.
#define HIDA_GetPIDLFolder(pida) (LPCITEMIDLIST)(((LPBYTE)pida)+(pida)->aoffset[0])
#define HIDA_GetPIDLItem(pida, i) (LPCITEMIDLIST)(((LPBYTE)pida)+(pida)->aoffset[i+1])
Il valore restituito da queste macro è un puntatore alla struttura ITEMIDLIST . Poiché queste strutture variano in lunghezza, è necessario determinare la fine della struttura analizzandola. Per altre discussioni sui PIDL e sulla struttura ITEMIDLIST, vedere NameSpace.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Intestazione | shlobj_core.h (include Shlobj.h) |