Estructura CIDA (shlobj_core.h)
Se usa con el formato del Portapapeles CFSTR_SHELLIDLIST para transferir el puntero a una lista de identificadores de elemento (PIDL) de uno o varios objetos de espacio de nombres shell.
Sintaxis
typedef struct _IDA {
UINT cidl;
UINT aoffset[1];
} CIDA, *LPIDA;
Miembros
cidl
Tipo: UINT
Número de PIDL que se transfieren, no incluida la carpeta primaria.
aoffset[1]
Tipo: UINT[1]
Matriz de desplazamientos, con respecto al principio de esta estructura. La matriz contiene elementos cidl+1. El primer elemento de aoffset contiene un desplazamiento al PIDL completo de una carpeta primaria. Si este PIDL está vacío, la carpeta primaria es el escritorio. Cada uno de los elementos restantes de la matriz contiene un desplazamiento a uno de los PIDL que se van a transferir. Todos estos PIDL son relativos al PIDL de la carpeta primaria.
Comentarios
Para usar esta estructura para recuperar un PIDL determinado, agregue el valor aoffset del PIDL a la dirección de la estructura. Las dos macros siguientes se pueden usar para recuperar los PIDL de la estructura. La primera recupera el PIDL de la carpeta primaria. El segundo recupera un PIDL, especificado por su índice de base cero.
#define HIDA_GetPIDLFolder(pida) (LPCITEMIDLIST)(((LPBYTE)pida)+(pida)->aoffset[0])
#define HIDA_GetPIDLItem(pida, i) (LPCITEMIDLIST)(((LPBYTE)pida)+(pida)->aoffset[i+1])
El valor devuelto por estas macros es un puntero a la estructura ITEMIDLIST . Dado que estas estructuras varían en longitud, debe determinar el final de la estructura mediante su análisis. Consulte NameSpace para obtener más información sobre las PIDL y la estructura ITEMIDLIST .
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Encabezado | shlobj_core.h (incluya Shlobj.h) |