Compartir a través de


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)