Estrutura CIDA (shlobj_core.h)
Usado com o formato de área de transferência CFSTR_SHELLIDLIST para transferir o ponteiro para uma lista de identificadores de item (PIDL) de um ou mais objetos de namespace do Shell.
Sintaxe
typedef struct _IDA {
UINT cidl;
UINT aoffset[1];
} CIDA, *LPIDA;
Membros
cidl
Tipo: UINT
O número de PIDLs que estão sendo transferidos, não incluindo a pasta pai.
aoffset[1]
Tipo: UINT[1]
Uma matriz de deslocamentos, em relação ao início dessa estrutura. A matriz contém elementos cidl+1. O primeiro elemento de aoffset contém um deslocamento para o PIDL totalmente qualificado de uma pasta pai. Se esse PIDL estiver vazio, a pasta pai será a área de trabalho. Cada um dos elementos restantes da matriz contém um deslocamento para um dos PIDLs a serem transferidos. Todos esses PIDLs são relativos ao PIDL da pasta pai.
Comentários
Para usar essa estrutura para recuperar um PIDL específico, adicione o valor aoffset do PIDL ao endereço da estrutura. As duas macros a seguir podem ser usadas para recuperar PIDLs da estrutura. O primeiro recupera o PIDL da pasta pai. O segundo recupera um PIDL, especificado por seu índice baseado em zero.
#define HIDA_GetPIDLFolder(pida) (LPCITEMIDLIST)(((LPBYTE)pida)+(pida)->aoffset[0])
#define HIDA_GetPIDLItem(pida, i) (LPCITEMIDLIST)(((LPBYTE)pida)+(pida)->aoffset[i+1])
O valor retornado por essas macros é um ponteiro para a estrutura ITEMIDLIST . Como essas estruturas variam de comprimento, você deve determinar o final da estrutura analisando-a. Consulte NameSpace para obter mais discussões sobre PIDLs e a estrutura ITEMIDLIST .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Cabeçalho | shlobj_core.h (inclua Shlobj.h) |