[Now Supported on Windows NT]
检索图标的位置和索引。
HRESULT GetIconLocation(
UINT 【uFlags】, | //状态值 |
LPSTR 【szIconFile】, | //缓冲区接收图标位置的地址 |
INT 【cchMax】, | //缓冲区接收图标位置的大小 |
INT*【piIndex】, | //接收图标索引的指针 |
UINT *【pwFlags】 | //指向零个或多个值 |
); |
参数
【uFlags】
标志。该参数可以为零或以下值:
GIL_FORSHELL | 该图标将显示在一个shell文件夹中。 |
GIL_OPENICON | 如果打开和关闭状态图像都可用,图标应处于“打开”状态。如果未指定此标志,则图标应处于正常或“关闭”状态。此标志通常用于文件夹对象。 |
【szIconFile】和【cchMax】
接收图标位置的缓冲区的地址。图标位置是一个空值终止的字符串,用于标识图标的位置。
【cchMax】
接收图标位置的缓冲区的大小。
【piIndex】
指向接收图标索引的整数的指针,进一步描述图标位置。
【pwFlags】
指向接收零个或多个以下值的无符号整数的指针:
GIL_DONTCACHE | 该图标的物理映像位不应由调用者缓存。这个区别是重要的,因为GIL_DONTCACHELOCATION标志可能会在将来版本的shell中引入。 |
GIL_NOTFILENAME | 位置不是文件名/索引对。决定从该位置提取图标的来电者必须调用此对象的IExtractIcon::Extract方法来获取所需的图标图像。 |
GIL_PERCLASS | 这个类的所有对象都有相同的图标。该标志由shell内部使用。IExtractIcon的典型实现不需要此标志,因为它意味着不需要图标处理程序来解决每个对象的图标。推荐的实现每个类图标的方法是为该类注册一个DefaultIcon。 |
GIL_PERINSTANCE | 这个类的每个对象都有自己的图标。在内部使用shell来处理类似于setup.exe的情况,其中可以通过shell了解具有相同名称的多个对象并具有不同的图标。IExtractIcon的典型实现不需要此标志。 |
GIL_SIMULATEDOC | 呼叫者应使用指定的图标创建文档图标。 |
返回值
如果函数返回一个有效的位置,则返回NOERROR,如果shell应该使用默认图标,则返回S_FALSE。
也可以看看