Geoff Chappell - Software Analyst
SKETCH OF HOW RESEARCH MIGHT CONTINUE AND RESULTS BE PRESENTED
SHDOCVW exposes very many classes through its exported DllGetClassObject function. Given that they are properly listed in the registry, these are the SHDOCVW classes for which anyone who knows the corresponding CLSID may obtain a class factory by calling the well-documented OLE32 function CoGetClassObject or get an instance of the class created in one step by calling the CoCreateInstance function. Put another way, these are the SHDOCVW classes that would not have noncreatable in their IDL declarations.
The table below is this study’s master list of creatable COM classes that are implemented in any known version of SHDOCVW. It gives for each class the CLSID together with whatever symbolic name is known, then a summary of the applicable SHDOCVW versions. Additional explanatory notes follow the table.
CLSID | Class | Applicable Versions |
---|---|---|
{0002DF09-0000-0000-C000-000000000046} | StdHyperLink | 4.70 before Windows 95 OSR2 |
{00BB2763-6A77-11D0-A535-00C04FD7D062} | AutoComplete | 4.71 and 4.72; later in BROWSEUI |
{00BB2764-6A77-11D0-A535-00C04FD7D062} | ACLHistory | 4.71 and 4.72; later in BROWSEUI |
{00BB2765-6A77-11D0-A535-00C04FD7D062} | ACLMulti | 4.71 and 4.72; later in BROWSEUI |
{01E04581-4EEE-11D0-BFE9-00AA005B4383} | AddressBand | 4.71 and 4.72; later in BROWSEUI |
{03C036F1-A186-11D0-824A-00AA005B4383} | ACListISF | 4.71 and 4.72; later in BROWSEUI |
{0E5CBF21-D15F-11D0-8301-00AA005B4383} | QuickLinks | 4.71 and 4.72; later in BROWSEUI |
{131A6951-7F78-11D0-A979-00C04FD705A2} | ChannelOC | 4.71 to 6.0 before Windows Vista |
{13709620-C279-11CE-A49E-444553540000} | Shell | 4.71 and 4.72 |
{1820FED0-473E-11D0-A96C-00C04FD705A2} | WebViewFolderContents | 4.71 and 4.72 |
{1FBA04EE-3024-11D2-8F1F-0000F87ABD16} | ToolbarExtExec | 5.0 to 6.0 before Windows Vista |
{20C46560-8491-11CF-960C-0080C7F4EE85} | unknown | 4.70 from Windows 95 OSR2 and higher, only |
{22BF0C20-6DA7-11D0-B373-00A0C9034938} | BrandBand | 4.71 and 4.72; later in BROWSEUI |
{2B4F54B1-3D6D-11D0-8258-00C04FD5AE38} | CStubBindStatusCallback | 4.71 to 6.0; later in IEFRAME |
{30D02401-6A81-11D0-8274-00C04FD5AE38} | SearchBand | 4.71 and 4.72; later in BROWSEUI and IEFRAME (as IE_SearchBand) |
{3C374A40-BAE4-11CF-BF7D-00AA006946EE} | CUrlHistory | 4.70 from Windows 95 OSR2 to 6.0 before Windows Vista; later in IEFRAME |
{3CCF8A41-5C85-11D0-9796-00AA00B90ADDF} | DeskBarApp | 4.71 and 4.72; later in BROWSEUI |
{3DC7A020-0ACD-11CF-A9BB-00AA004AE837} | CURLFolder | 4.70 to 6.0 before Windows Vista; later in IEFRAME |
{3F4EEF80-BFE8-11D0-A3A5-00C04FD706EC} | ImageListCache | 4.71 and 4.72; later in BROWSEUI |
{3FC0B520-68A9-11D0-8D77-00C04FD70822} | unknown | 4.71 and 4.72 |
{4125DD96-E03A-4103-8F70-E0597D803B9C} | AttachmentServices | 6.0 from Windows Vista, and higher; later in IEFRAME |
{42AEDC87-2188-41FD-B9A3-0C966FEABEC1} | MruPidlList | 6.0 before Windows Vista |
{438C0EA0-5731-11CF-9AF8-0020AF73AD51} | unknown | 4.70 |
{43A8F463-4222-11D2-B641-006097DF5BD4} | NSCTree | 5.0 to 6.0 before Windows Vista; later in IEFRAME |
{4622AD11-FF23-11D0-8D34-00A0C90F2719} | unknown | 4.71 and 4.72 |
{4D5C8C2A-D075-11D0-B416-00C04FB90376} | CommBand | 4.71 and 4.72; later in BROWSEUI and IEFRAME |
{4F748358-CD6B-11D0-9816-00C04FD91972} | unknown | 4.71 |
{53BD6B4E-3780-4693-AFC3-7161C2F3EE9C} | MruLongList | 6.0 before Windows Vista |
{568804CA-CBD7-11D0-9816-00C04FD91972} | unknown | 4.71 and 4.72 |
{56FDF344-FD6D-11D0-958A-006097C9A090} | TaskbarList | 4.71 to 6.0 |
{57651662-CE3E-11D0-8D77-00C04FC99D61} | unknown | 4.71 and 4.72 |
{5984FFE0-28D4-11CF-AE66-08002B2E1262} | unknown | 4.70 |
{5B4DAE26-B807-11D0-9815-00C04FD91972} | MenuBand | 4.71 and 4.72; later in BROWSEUI |
{5E6AB780-7743-11CF-A12B-00AA004AE837} | InternetToolbar | 4.70 from Windows 95 OSR2 to 4.72 only; later in BROWSEUI |
{603D3800-BD81-11D0-A3A5-00C04FD706EC} | ShellTaskScheduler | 4.71 and 4.72; later in BROWSEUI |
{603D3801-BD81-11D0-A3A5-00C04FD706EC} | SharedTaskScheduler | 4.71 and 4.72; later in BROWSEUI |
{62112AA1-EBE4-11CF-A5FB-0020AFE7292D} | ShellFolderView | 4.71 and 4.72 |
{64AB4BB7-111E-11D1-8F79-00C04FC2FBE1} | ShellUIHelper | 4.71 to 6.0 before Windows Vista; later in IEFRAME |
{6667E240-0F9D-11CF-A9BB-00AA004AE837} | unknown | 4.70 to 4.72 |
{6756A641-DE71-11D0-831B-00AA005B4383} | ACLMRU | 4.71 and 4.72; later in BROWSEUI |
{67EA19A0-CCEF-11D0-8024-00C04FD75D13} | CDFCopyHook | 4.71 to 6.0 before Windows Vista |
{7057E952-BD1B-11D1-8919-00C04FC2C836} | DocHostUIHandler | 5.0 to 6.0 before Windows Vista; later in IEFRAME |
{72267F6A-A6F9-11D0-BC94-00C04FB67863} | unknown | 4.71 and 4.72 |
{733AC4CB-F1A4-11D0-B951-00A0C90312E1} | unknown | 4.71 and 4.72 |
{7376D660-C583-11D0-A3A5-00C04FD706EC} | ImgCtxThumbnailExtractor | 4.71 and 4.72; later in BROWSEUI |
{7487CD30-F71A-11D0-9EA7-00805F714772} | Thumbnail | 4.71 and 4.72; later in BROWSEUI |
{75048700-EF1F-11D0-9888-006097DEACF9} | unknown | 4.71 and 4.72 |
{7BA4C740-9E81-11CF-99D3-00AA004AE837} | unknown | 4.70 from Windows 95 OSR2 to 4.72 |
{7BA4C741-9E81-11CF-99D3-00AA004AE837} | unknown | 4.71 and 4.72 |
{7BA4C742-9E81-11CF-99D3-00AA004AE837} | BrowserBand | 4.71 and 4.72; later in BROWSEUI |
{7BD29E00-76C1-11CF-9DD0-00A0C9034933} | CacheFolder | 4.71 to 6.0 before Windows Vista; later in IEFRAME |
{7BD29E01-76C1-11CF-9DD0-00A0C9034933} | CacheFolder2 | 6.0 before Windows Vista; later in IEFRAME |
{83799FE0-1F5A-11D1-95C7-00609797EA4F} | DocFileInfoTip | 4.71 to 6.0 before Windows Vista |
{871C5380-42A0-1069-A2EA-08002B30309D} | Internet | 5.0 to 6.0 before Windows Vista; later in IEFRAME |
{8856F961-340A-11D0-A96B-00C04FD705A2} | WebBrowser | 4.71 to 6.0 before Windows Vista; later in IEFRAME |
{8E6E6079-0CB7-11D2-8F10-0000F87ABD16} | OfflinePagesCacheCleaner | 5.0 to 6.0 before Windows Vista; later in IEFRAME |
{91EA3F8B-C99B-11D0-9815-00C04FD91972} | AugmentedShellFolder | 4.71 and 4.72; later in BROWSEUI |
{9B0EFD60-F7B0-11D0-BAEF-00C04FC308C9} | InternetCacheCleaner | 4.71 to 6.0 before Windows Vista; later in IEFRAME |
{9BA05971-F6A8-11CF-A442-00A0C90A8F39} | ShellFolderViewOC | 4.71 and 4.72 |
{A08C11D2-A228-11D0-825B-00AA005B4383} | AddressEditBox | 4.71 and 4.72; later in BROWSEUI |
{A2B0DD40-CC59-11D0-A3A5-00C04FD706EC} | IESplashScreen | 4.71 to 6.0 before Windows Vista |
{A5E46E3A-8849-11D1-9D8C-00C04FC99D61} | CBaseBrowser | 5.0 to 6.0 |
{AE054212-3535-4430-83ED-D501AA6680E6} | NamespaceTreeControl | 6.0 from Windows Vista |
{AF4F6510-F982-11D0-8595-00AA004CD6D8} | CRegTreeOptions | 4.71 and 4.72; later in BROWSEUI |
{B091E540-83E3-11CF-A713-0020AFD79762} | unknown | 4.71 and 4.72 |
{CFBFAE00-17A6-11D0-99CB-00C04FD64497} | CURLSearchHook | 4.71 to 6.0 before Windows Vista; later in IEFRAME |
{D82BE2B0-5764-11D0-A96E-00C04FD705A2} | ISFBand | 4.71 and 4.72; later in BROWSEUI |
{D969A300-E7FF-11D0-A93B-00A0C90F2719} | unknown | 4.71 and 4.72 |
{DDB008FE-048D-11D1-B9CD-00C04FC2C1D2} | unknown | 4.71 and 4.72 |
{E0DD6CAB-2D10-11D2-8F1A-0000F87ABD16} | ToolbarExtBand | 5.0 to 6.0 before Windows Vista |
{E13EF4E4-D2F2-11D0-9816-00C04FD91972} | MenuBandSite | 4.71 and 4.72; later in BROWSEUI |
{E69FD98D-7EBE-4C01-BFED-67B4E4616A49} | BrowserThreadHandshake | 6.0 from Windows Vista |
{E7D3DB4E-199C-11D1-9828-00C04FD91972} | unknown | 4.71 and 4.72 |
{E7E4BC40-E76A-11CE-A9BB-00AA004AE837} | CDocObjectFolder | 4.70 to 6.0 before Windows Vista; later in IEFRAME |
{EAB22AC3-30C1-11CF-A7EB-0000C05BAE0B} | WebBrowser | 4.70 |
WebBrowser_V1 | 4.71 to 6.0 before Windows Vista; later in IEFRAME |
|
{EAB22AC6-30C1-11CF-A7EB-0000C05BAE0B} | SHItemOC | 4.70 before Windows 95 OSR2 |
{ECD4FC4C-521C-11D0-B792-00A0C90312E1} | DeskBar | 4.71 and 4.72; later in BROWSEUI |
{ECD4FC4D-521C-11D0-B792-00A0C90312E1} | RebarBandSite | 4.71 and 4.72; later in BROWSEUI |
{ECD4FC4E-521C-11D0-B792-00A0C90312E1} | BandSiteMenu | 4.71 and 4.72; later in BROWSEUI |
{ECD4FC4F-521C-11D0-B792-00A0C90312E1} | MenuDeskBar | 4.71 and 4.72; later in BROWSEUI |
{EF4D1E1A-1C87-4AA8-8934-E68E4367468D} | WebCheck | 6.1 and higher |
{EFA24E61-B078-11D0-89E4-00C04FC9E26E} | FavBand | 4.71 to 6.0 before Windows Vista |
{EFA24E62-B078-11D0-89E4-00C04FC9E26E} | HistBand | 4.71 to 6.0 before Windows Vista |
{EFA24E63-B078-11D0-89E4-00C04FC9E26E} | unknown | 4.71 and 4.72 |
{EFA24E64-B078-11D0-89E4-00C04FC9E26E} | ExplorerBand | 6.0 before Windows Vista; earlier in BROWSEUI |
{F3368374-CF19-11D0-B93D-00A0C90312E1} | OrderListExport | 4.71 and 4.72; later in BROWSEUI |
{F61FFEC1-754F-11D0-80CA-00AA005B4383} | BandProxy | 4.71 and 4.72; later in BROWSEUI |
{FBF23B40-E3F0-101B-8488-00AA003E56F8} | InternetShortcut | 4.71 to 6.0 before Windows Vista; later in IEFRAME |
{FBF23B41-E3F0-101B-8488-00AA003E56F8} | unknown | 4.71 and 4.72 |
{FF393560-C2A7-11CF-BFF4-444553540000} | HistFolder | 4.71 to 6.0 before Windows Vista; later in IEFRAME |
{FFDC1A80-D527-11D0-A32C-34AF06C10000} | WinListShellProc | 4.71 to 6.0 before Windows Vista |
Class names are taken from the corresponding CLSID_classname symbol if found in symbol files that Microsoft supplies for customer support. Where a class is implemented only in versions for which Microsoft is not known to publish symbol files, a name may instead be found from the type library in the SHDOCVW executable. Since not all classes are so declared, it does not seem possible to discover Microsoft’s names for several of the classes that date from Internet Explorer 4.0 but which did not survive to Windows 2000.
The SHDOCVW versions shown for each class are inferred from a study of known releases, making reasonable assumptions about likely continuity, especially to suppose that a class exists in all (released) builds of a version if no counter-example is yet known.
This study refers to applicable products and service packs in ascending order of versions and build numbers. Be aware that this is not chronological order.
Large numbers of classes have sometimes moved from SHDOCVW to other modules. First, the large increase in SHDOCVW for Internet Explorer 4.0 was followed by a roughly even split for version 5.0. Many classes that might have survived to SHDOCVW version 5.0 are instead implemented in BROWSEUI version 5.0. These are indicated by the note “later in BROWSEUI”. For the subsequent development of any such class, look for the class in the separate list of BROWSEUI classes.
The second movement of classes from SHDOCVW comes from what appears to be some attempt at separating Internet Explorer from Windows in time for Windows Vista. The new core of Internet Explorer is IEFRAME. It must have been created from most of SHDOCVW and BROWSEUI. Presumably, all of SHDOCVW that was solely for Internet Explorer is now in IEFRAME and what remains in SHDOCVW version 6.0 from Windows Vista is needed for the Shell. Inevitably, much is needed for both, such that some classes continue their existence in both the later builds of SHDOCVW version 6.0 and the first builds of IEFRAME version 7.0. The note “later in IEFRAME” indicates that the class is either moved to IEFRAME or duplicated into IEFRAME using the same CLSID from earlier SHDOCVW versions. For subsequent development of such classes, look in the separate list of IEFRAME classes. Be aware that several classes are moved or duplicated less obviously, by assigning a new CLSID for the implementation in IEFRAME, though not necessarily a new name.
As oddities, note that two classes have made the whole journey, first to BROWSEUI and then to IEFRAME, and one class moved the other way, starting in BROWSEUI and moving to SHDOCVW (though without continuing to IEFRAME).