[Now Supported on Windows NT]
Retrieves an icon for an object inside a specific folder.
HRESULT GetIconOf(
| LPCITEMIDLIST pidl, | // Points to an item identifier list |
| UINT flags, | // Flags specifying the display state |
| LPINT lpIconIndex | // Points to where the icon index is to be returned |
| ); |
Parameters
pidl
Pointer to the ITEMIDLIST (item identifier list) structure that specifies the relative location of the folder.
flags
This parameter can be zero or one of the following values:
| Value | Meaning |
| GIL_FORSHELL | The icon is to be displayed in a shell folder. |
| GIL_OPENICON | The icon should be in the "open" state if both open- and closed-state images are available. If this flag is not specified the icon should be in the normal or "closed" state. This flag is typically used for folder objects. |
lpIconIndex
Pointer to the location where the icon index will be returned.
Return Values
Returns NOERROR if lpIconIndex contains the correct system imagelist index. S_FALSE is returned if an icon cannot be obtained for this object.
The following standard imagelist indexes can be returned:
| Value | Meaning |
| 0 | Document (blank page, not associated) |
| 1 | Document (with data on the page) |
| 2 | Application (file extension must be .exe, .com, .bat) |
| 3 | Folder (plain) |
| 4 | Folder (open) |
Remarks
If you are unable to get an icon for this object using GetIconOf, use IShellFolder::GetUIObjectOf to get an object that supports IExtractIcon::Extract.
Notes to Callers
The indexes returned are from the system image list.
Notes to Implementors
This method cannot be implemented external to the shell itself.
See Also