CIDA-Struktur (shlobj_core.h)

Wird mit dem CFSTR_SHELLIDLIST Zwischenablageformat verwendet, um den Zeiger auf eine Elementbezeichnerliste (PIDL) eines oder mehrerer Shell-Namespaceobjekte zu übertragen.

Syntax

typedef struct _IDA {
  UINT cidl;
  UINT aoffset[1];
} CIDA, *LPIDA;

Member

cidl

Typ: UINT

Die Anzahl der PIDLs, die übertragen werden, ohne den übergeordneten Ordner.

aoffset[1]

Typ: UINT[1]

Ein Array von Offsets relativ zum Anfang dieser Struktur. Das Array enthält cidl+1-Elemente. Das erste Element von aoffset enthält einen Offset zur vollqualifizierten PIDL eines übergeordneten Ordners. Wenn diese PIDL leer ist, ist der übergeordnete Ordner der Desktop. Jedes der verbleibenden Elemente des Arrays enthält einen Offset zu einer der zu übertragenden PIDLs. Alle diese PIDLs sind relativ zur PIDL des übergeordneten Ordners.

Hinweise

Um diese Struktur zum Abrufen einer bestimmten PIDL zu verwenden, fügen Sie den aoffset-Wert der PIDL der Adresse der -Struktur hinzu. Die folgenden beiden Makros können verwendet werden, um PIDLs aus der -Struktur abzurufen. Die erste ruft die PIDL des übergeordneten Ordners ab. Die zweite ruft eine PIDL ab, die durch den nullbasierten Index angegeben wird.

#define HIDA_GetPIDLFolder(pida) (LPCITEMIDLIST)(((LPBYTE)pida)+(pida)->aoffset[0])
#define HIDA_GetPIDLItem(pida, i) (LPCITEMIDLIST)(((LPBYTE)pida)+(pida)->aoffset[i+1])

Der Wert, der von diesen Makros zurückgegeben wird, ist ein Zeiger auf die ITEMIDLIST-Struktur . Da diese Strukturen in der Länge variieren, müssen Sie das Ende der Struktur bestimmen, indem Sie sie analysieren. Weitere Informationen zu PIDLs und der ITEMIDLIST-Struktur finden Sie unter NameSpace.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Kopfzeile shlobj_core.h (shlobj.h einschließen)