IExtractIcon::GetIconLocation

【勇芳软件工作室】汉化HomePreviousNext

[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。

也可以看看

IExtractIcon, IExtractIcon::Extract