关于shell namespace下的itemidlist的实现问题??
cmdn 2004-11-20 10:45:50 察看一下itemidlist这个结构体,她的定义如下:
typedef struct _ITEMIDLIST {
SHITEMID mkid;
} ITEMIDLIST;
其中的shitemid又是另外一个结构体:
typedef struct _SHITEMID {
USHORT cb;
BYTE abID[1];
} SHITEMID, * LPSHITEMID;
_SHITEMID 利用了struct的Unsized Arrays。使得abid可以相当于指向一个字符串。但是我就想不通为什么_ITEMIDLIST 经过系统后,可以相当于一个list(This structure is an ordered sequence of one or more item IDs, terminated by a two-byte NULL),我想知道的是:本来只是含有一个SHITEMID的他,是如何变成含有许多个SHITEMID的,是如何实现的???