IExplorerFactory

IID_IExplorerFactory {A86304A7-17CA-4595-99AB-523043A9C4AC}

The IExplorerFactory methods are (as ordered in the virtual function table after the IUnknown methods):

Offset Method
0x0C ShowWindow

with prototype:

HRESULT ShowWindow (PCIDLIST_ABSOLUTE, int, DWORD, DWORD, POINT);

Implementation

There are several known implementations. Two are by ExplorerFrame.dll for the ExplorerFactory and ExplorerFactoryServer classes, which are each creatable (as in-process servers) from a CLSID:

CLSID_ExplorerFactory {78428474-473B-4660-9068-F2AA7F6CB227}
CLSID_ExplorerFactoryServer {93A56381-E0CD-485A-B60E-67819E12F81B}

Another two are the DesktopExplorerFactory and SeparateExplorerFactory, which are registered by EXPLORER. These are just re-dressings of ExplorerFactoryServer, but the effect is of two more classes that are creatable from a CLSID:

CLSID_DesktopExplorerFactory {682159D9-C321-47CA-B3F1-30E36B2EC8B9}
CLSID_SeparateExplorerFactory {CEFF45EE-C862-41DE-AEE2-A022C81EDA92}

Availability

The IExplorerFactory interface is implemented by the ExplorerFrame.dll version 6.0 from Windows Vista.

Though new for Windows Vista, this interface is not documented by Microsoft in the January 2007 edition of the Software Development Kit (SDK) for Windows Vista.