Geoff Chappell - Software Analyst
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);
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} |
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.