IExtractIcon 

The IExtractIcon interface is used by the shell to retrieve icons for objects it displays.

The operating system provides default icons for file objects but you can specify custom icons by making appropriate registry entries and, in some cases, by using IExtractIcon.

When to Implement

You implement IExtractIcon to provide either instance-specific icons for objects in a particular class, or icons for subfolders that extend the Explorer s name space. These implementations are accomplished by writing handler code in an OLE in-process server COM DLL.

In addition, if you implement IShellFolder113Z9WE, you will need to provide an implementation of IExtractIcon that callers can obtain by using IShellFolder::GetUIObjectOf.

Shell extensions based on IExtractIcon must be initialized by using IPersistFile::Load5.TG8WP. You should also note that shell extensions do not work unless all appropriate registry entries are made.

When to Use

In most cases, you don t call this interface directly. It is usually called by the shell when an icon has been made available by a properly registered handler. However, you can call IExtractIcon directly if you want to delegate the task of icon extracting to another object.

Methods in Vtable Order

IUnknown Methods

Description

QueryInterface2Y54585

Returns pointers to supported interfaces.

AddRef1SHW0SS

Increments reference count.

ReleaseDUW01A

Decrements reference count.

 

IExtractIcon Methods

Description

 

GetIconLocationDUDL04

Retrieves the icon location for an object.

ExtractHDX87O

Extracts an icon from the specified location.