Geoff Chappell - Software Analyst
The SeparateExplorerFactory class is registered by EXPLORER.EXE through the CoRegisterClassObject function while EXPLORER runs as a separate process from the shell process that creates the desktop and taskbar. While such a process is running, other programs can get an instance of this class created for them by using such well-documented COM functions as CoCreateInstance, treating EXPLORER as a local server, and giving it the following CLSID:
CLSID_SeparateExplorerFactory | {CEFF45EE-C862-41DE-AEE2-A022C81EDA92} |
The instance so obtained is an ExplorerFactoryServer implemented by ExplorerFrame.dll in the separate EXPLORER process. It implements only one interface: IExplorerFactory.