[Now Supported on Windows NT]
ShGetDataFromIDList函数从相对IDList中检索扩展属性数据。
HRESULT ShGetDataFromIDList(
LPSHELLFOLDER 【PSF】, | //指向父文件夹 |
LPCITEMIDLIST【PIDL】, | //指向项目标识符结构体 |
INT 【nFormat】, | //指定格式 |
PVOID 【pv】, | //指向结构的缓冲区 |
INT 【cb】 | //传入缓冲区的大小 |
); |
参数
【PSF】
指向父文件夹。
【PIDL】
指向ITEMIDLIST结构的相对于其父文件夹的子文件夹的指针。
【nFormat】
指定以下格式之一:
SHGDFIL_FINDDATA | 用于文件系统对象的格式。 |
SHGDFIL_NETRESOURCE | 用于网络资源的格式。 |
【pv】
指向WIN32_FIND_DATA或NET_RESOURCE结构的缓冲区,具体取决于【nFormat】参数的值。有关详细信息,请参阅下面的备注部分。
【cb】
传入缓冲区的大小该值应为SHGDFIL_FINDDATA的sizeof(WIN32_FIND_DATA),或者为检索SHGDFIL_NETRESOURCE结构的sizeof(NETRESOURCE)+ 1024。
返回值
如果支持格式并且函数成功,则返回值为NOERROR。如果【PSF】,【PIDL】,【pv】或【cb】参数与【nFormat】参数不匹配,或【nFormat】不是显示的特定SHGDFIL_值之一,则还会返回E_INVALIDARG。
备注
如果【nFormat】是SHGDFIL_NETRESURCE,则有两种可能的情况。如果缓冲区足够大,则净资源的字符串信息(网络名称,本地名称,提供者和注释的字段)将被放入缓冲区。如果缓冲区不够大,则仅将净资源结构放入缓冲区,并且字符串信息指针将为NULL。