[COM_APITEST]
authorThomas Faber <thomas.faber@reactos.org>
Sat, 13 Jul 2013 08:07:42 +0000 (08:07 +0000)
committerThomas Faber <thomas.faber@reactos.org>
Sat, 13 Jul 2013 08:07:42 +0000 (08:07 +0000)
- Add additional classes and interfaces

svn path=/trunk/; revision=59466

rostests/apitests/com/browseui.c
rostests/apitests/com/com_apitest.c
rostests/apitests/com/com_apitest.h
rostests/apitests/com/shdocvw.c
rostests/apitests/com/shell32.c

index 5bff33e..c980bc2 100644 (file)
 static const CLASS_AND_INTERFACES ExpectedInterfaces[] =
 {
     {
-        ID_NAME(CLSID_RebarBandSite),
+        ID_NAME(CLSID_ACLMulti),
+        {
+            {    0x0,   &IID_IEnumString },
+            {    0x0,       &IID_IUnknown },
+            {    0x4,   &IID_IObjMgr },
+            {    0x8,   &IID_IACList },
+        }
+    },
+    {
+        ID_NAME(CLSID_AddressEditBox),
+        {
+            {    0x0,   &IID_IWinEventHandler },
+            {    0x0,       &IID_IUnknown },
+            {    0x4,   &IID_IDispatch },
+            {    0x8,   &IID_IAddressBand },
+            {    0xc,   &IID_IAddressEditBox },
+            {   0x10,   &IID_IOleCommandTarget },
+            {   0x14,   &IID_IPersistStream },
+            {   0x18,   &IID_IShellService },
+        }
+    },
+    {
+        ID_NAME(CLSID_BandProxy),
         {
+            {    0x0,   &IID_IBandProxy },
             {    0x0,       &IID_IUnknown },
+        }
+    },
+    {
+        ID_NAME(CLSID_BrandBand),
+        {
+            {    0x0,   &IID_IDeskBand },
+            {    0x0,       &IID_IDockingWindow },
+            {    0x0,           &IID_IOleWindow },
+            {    0x0,               &IID_IUnknown },
+            {    0x4,   &IID_IObjectWithSite },
+            {    0xc,   &IID_IInputObject },
+            {   0x10,   &IID_IPersistStream },
+            {   0x10,       &IID_IPersist },
+            {   0x14,   &IID_IOleCommandTarget },
+            {   0x18,   &IID_IServiceProvider },
+            {   0x30,   &IID_IWinEventHandler },
+            {   0x34,   &IID_IDispatch },
+        }
+    },
+    {
+        ID_NAME(CLSID_BandSiteMenu),
+        {
+            {    0x0,   &IID_IContextMenu3 },
+            {    0x0,       &IID_IContextMenu2 },
+            {    0x0,           &IID_IContextMenu },
+            {    0x0,               &IID_IUnknown },
+            {    0x4,   &IID_IShellService },
+        }
+    },
+    {
+        ID_NAME(CLSID_CCommonBrowser),
+        {
+            {    0x0,   &IID_IUnknown },
+            {    0xc,   &IID_IShellBrowser },
+            {    0xc,       &IID_IOleWindow },
+            {   0x10,   &IID_IBrowserService3 },
+            {   0x10,       &IID_IBrowserService2 },
+            {   0x10,           &IID_IBrowserService },
+            {   0x14,   &IID_IServiceProvider },
+            {   0x18,   &IID_IOleCommandTarget },
+            {   0x1c,   &IID_IDockingWindowSite },
+            {   0x20,   &IID_IDockingWindowFrame },
+            {   0x24,   &IID_IInputObjectSite },
+            {   0x28,   &IID_IDropTarget },
+            {   0x2c,   &IID_IShellBrowserService },
+        }
+    },
+    {
+        ID_NAME(CLSID_CRegTreeOptions),
+        {
+            {    0x0,   &IID_IRegTreeOptions },
+            {    0x0,       &IID_IUnknown },
+            {    0x4,   &IID_IObjectWithSite },
+        }
+    },
+    {
+        ID_NAME(CLSID_DeskBar),
+        {
+            {  -0xb8,   &IID_IOleCommandTarget },
+            {  -0xb4,   &IID_IServiceProvider },
+            {  -0xb0,   &IID_IDeskBar },
+            {  -0xb0,       &IID_IOleWindow },
+            {  -0xac,   &IID_IInputObjectSite },
+            {  -0xa8,   &IID_IInputObject },
+            {  -0x70,   &IID_IDockingWindow },
+            {  -0x6c,   &IID_IObjectWithSite },
+            {  -0x68,   &IID_IPersistStreamInit },
+            {  -0x68,   &IID_IPersistStream },
+            {  -0x68,       &IID_IPersist },
+            {  -0x64,   &IID_IPersistPropertyBag },
+            {    0x0,   &IID_IUnknown },
+        }
+    },
+    {
+        ID_NAME(CLSID_DeskBarApp),
+        {
+            {  -0xb8,   &IID_IOleCommandTarget },
+            {  -0xb4,   &IID_IServiceProvider },
+            {  -0xb0,   &IID_IDeskBar },
+            {  -0xb0,       &IID_IOleWindow },
+            {  -0xac,   &IID_IInputObjectSite },
+            {  -0xa8,   &IID_IInputObject },
+            {  -0x70,   &IID_IDockingWindow },
+            {  -0x6c,   &IID_IObjectWithSite },
+            {  -0x68,   &IID_IPersistStreamInit },
+            {  -0x68,   &IID_IPersistStream },
+            {  -0x68,       &IID_IPersist },
+            {  -0x64,   &IID_IPersistPropertyBag },
+            {    0x0,   &IID_IUnknown },
+            {    0x8,   &IID_IContextMenu3 },
+            {    0x8,       &IID_IContextMenu2 },
+            {    0x8,           &IID_IContextMenu },
+        }
+    },
+    {
+        ID_NAME(CLSID_GlobalFolderSettings),
+        {
+            {    0x0,   &IID_IGlobalFolderSettings },
+            {    0x0,       &IID_IUnknown },
+        },
+        L"Both"
+    },
+    {
+        ID_NAME(CLSID_InternetToolbar),
+        {
+            {  -0x54,   &IID_IOleCommandTarget },
+            {  -0x50,   &IID_IServiceProvider },
+            {  -0x4c,   &IID_IDeskBar },
+            {  -0x4c,       &IID_IOleWindow },
+            {  -0x48,   &IID_IInputObjectSite },
+            {  -0x44,   &IID_IInputObject },
+            {   -0xc,   &IID_IDockingWindow },
+            {   -0x8,   &IID_IObjectWithSite },
+            {   -0x4,   &IID_IExplorerToolbar },
+            {    0x0,   &IID_IDispatch },
+            {    0x0,       &IID_IUnknown },
+            {    0x4,   &IID_IPersistStreamInit },
+            {    0x8,   &IID_IShellChangeNotify },
+        }
+    },
+    {
+        ID_NAME(CLSID_RebarBandSite),
+        {
+            {    0x0,   &IID_IUnknown },
             {    0xc,   &IID_IBandSite },
             {   0x10,   &IID_IInputObjectSite },
             {   0x14,   &IID_IInputObject },
index 64e360d..2918b44 100644 (file)
@@ -31,33 +31,52 @@ static KNOWN_INTERFACE KnownInterfaces[] =
 {
     ID_NAME(IID_IACList),
     ID_NAME(IID_IACList2),
+    ID_NAME(IID_IADesktopP2),
     ID_NAME(IID_IAccessible),
+    ID_NAME(IID_IAccessControl),
+    ID_NAME(IID_IAccessor),
+    ID_NAME(IID_IActiveDesktop),
+    ID_NAME(IID_IActiveDesktopP),
+    ID_NAME(IID_IAddressBarParser),
     ID_NAME(IID_IAddressBand),
     ID_NAME(IID_IAddressEditBox),
+    ID_NAME(IID_IAutoComplete),
+    ID_NAME(IID_IAutoComplete2),
     ID_NAME(IID_IBandNavigate),
     ID_NAME(IID_IBandProxy),
     ID_NAME(IID_IBandSite),
     ID_NAME(IID_IBandSiteHelper),
     ID_NAME(IID_IBanneredBar),
     ID_NAME(IID_IBindCtx),
+    ID_NAME(IID_IBrowserFrameOptions),
     ID_NAME(IID_IBrowserService),
     ID_NAME(IID_IBrowserService2),
+    ID_NAME(IID_IBrowserService3),
     ID_NAME(IID_IClassFactory),
     ID_NAME(IID_IClassFactory2),
     ID_NAME(IID_IClassFactory3),
     ID_NAME(IID_IClientSecurity),
     ID_NAME(IID_IComThreadingInfo),
+    ID_NAME(IID_IContext),
     ID_NAME(IID_IContextMenu),
     ID_NAME(IID_IContextMenu2),
     ID_NAME(IID_IContextMenu3),
     ID_NAME(IID_IContextMenuCB),
     ID_NAME(IID_IContextMenuSite),
     ID_NAME(IID_IContinue),
+    ID_NAME(IID_IDVGetEnum),
     ID_NAME(IID_IDataObject),
+    ID_NAME(IID_IDefViewID),
     ID_NAME(IID_IDefViewFrame),
+    ID_NAME(IID_IDefViewFrame3),
+    ID_NAME(IID_IDefViewFrameGroup),
+    ID_NAME(IID_IDefViewSafety),
+    ID_NAME(IID_IDefViewScript),
     ID_NAME(IID_IDeskBand),
+    ID_NAME(IID_IDeskBandEx),
     ID_NAME(IID_IDeskBar),
     ID_NAME(IID_IDeskBarClient),
+    ID_NAME(IID_IDeskMovr),
     ID_NAME(IID_IDispatch),
     ID_NAME(IID_IDockingWindow),
     ID_NAME(IID_IDockingWindowFrame),
@@ -73,6 +92,7 @@ static KNOWN_INTERFACE KnownInterfaces[] =
     ID_NAME(IID_IEnumShellItems),
     ID_NAME(IID_IEnumString),
     ID_NAME(IID_IEnumUnknown),
+    ID_NAME(IID_IEnumVARIANT),
     ID_NAME(IID_IErrorLog),
     ID_NAME(IID_IExplorerToolbar),
     ID_NAME(IID_IExtractIconA),
@@ -83,6 +103,8 @@ static KNOWN_INTERFACE KnownInterfaces[] =
     ID_NAME(IID_IFileDialog2),
     ID_NAME(IID_IFileSearchBand),
     ID_NAME(IID_IFolderBandPriv),
+    ID_NAME(IID_IFolderFilter),
+    ID_NAME(IID_IFolderFilterSite),
     ID_NAME(IID_IFolderView),
     ID_NAME(IID_IFolderView2),
     ID_NAME(IID_IFolderViewOC),
@@ -96,6 +118,7 @@ static KNOWN_INTERFACE KnownInterfaces[] =
     ID_NAME(IID_IMenuBand),
     ID_NAME(IID_IMenuPopup),
     ID_NAME(IID_IMoniker),
+    ID_NAME(IID_IMultiMonitorDockingSite),
     ID_NAME(IID_IMultiQI),
     ID_NAME(IID_INamespaceProxy),
     ID_NAME(IID_INameSpaceTreeControl),
@@ -146,6 +169,8 @@ static KNOWN_INTERFACE KnownInterfaces[] =
     ID_NAME(IID_IShellDispatch3),
     ID_NAME(IID_IShellDispatch4),
     ID_NAME(IID_IShellDispatch5),
+    ID_NAME(IID_IShellExtInit),
+    ID_NAME(IID_IShellPropSheetExt),
     ID_NAME(IID_IShellIconOverlayIdentifier),
     ID_NAME(IID_IShellFolder),
     ID_NAME(IID_IShellFolder2),
@@ -167,6 +192,7 @@ static KNOWN_INTERFACE KnownInterfaces[] =
     ID_NAME(IID_IShellMenu2),
     ID_NAME(IID_IShellMenuAcc),
     ID_NAME(IID_IShellMenuCallback),
+    ID_NAME(IID_IShellNameSpace),
     ID_NAME(IID_IShellService),
     ID_NAME(IID_IShellView),
     ID_NAME(IID_IShellView2),
@@ -186,11 +212,13 @@ static KNOWN_INTERFACE KnownInterfaces[] =
     ID_NAME(IID_IUnknown),
     ID_NAME(IID_IViewObject),
     ID_NAME(IID_IViewObject2),
+    ID_NAME(IID_IViewObjectEx),
     ID_NAME(IID_IWinEventHandler),
 
     ID_NAME(IID_DFConstraint),
     ID_NAME(DIID_DShellFolderViewEvents),
 
+    ID_NAME(IID_CDefView),
     ID_NAME(IID_Folder),
     ID_NAME(IID_Folder2),
     ID_NAME(IID_Folder3),
@@ -201,6 +229,8 @@ static KNOWN_INTERFACE KnownInterfaces[] =
     ID_NAME(IID_FolderItems3),
     ID_NAME(IID_FolderItemVerb),
     ID_NAME(IID_FolderItemVerbs),
+
+    ID_NAME(CLSID_ShellDesktop)
 };
 static const INT KnownInterfaceCount = RTL_NUMBER_OF(KnownInterfaces);
 
index 34e0f6a..3ba030d 100644 (file)
@@ -65,6 +65,7 @@ TestClasses(
 #define FARAWY (-65535)
 
 // TODO: fix our headers... we really shouldn't need these here
+DEFINE_GUID(CLSID_ActiveDesktop,           0x75048700, 0xef1f, 0x11d0, 0x98, 0x88, 0x00, 0x60, 0x97, 0xde, 0xac, 0xf9);
 DEFINE_GUID(CLSID_CopyToMenu,              0xC2FBB630, 0x2971, 0x11D1, 0xA1, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0x5D, 0x13);
 DEFINE_GUID(CLSID_DeskMovr,                0x72267F6A, 0xA6F9, 0x11D0, 0xBC, 0x94, 0x00, 0xC0, 0x4F, 0xB6, 0x78, 0x63);
 DEFINE_GUID(CLSID_FadeTask,                0x7EB5FBE4, 0x2100, 0x49E6, 0x85, 0x93, 0x17, 0xE1, 0x30, 0x12, 0x2F, 0x91);
@@ -83,14 +84,33 @@ DEFINE_GUID(CLSID_ShellLinkObject,         0x11219420, 0x1768, 0x11d1, 0x95, 0xb
 DEFINE_GUID(CLSID_StartMenuPin,            0xa2a9545d, 0xa0c2, 0x42b4, 0x97, 0x08, 0xa0, 0xb2, 0xba, 0xdd, 0x77, 0xc8);
 DEFINE_GUID(CLSID_TrackShellMenu,          0x8278F931, 0x2A3E, 0x11d2, 0x83, 0x8F, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0xD0);
 
+DEFINE_GUID(IID_IADesktopP2,               0xb22754e2, 0x4574, 0x11d1, 0x98, 0x88, 0x00, 0x60, 0x97, 0xde, 0xac, 0xf9);
+DEFINE_GUID(IID_IAccessControl,            0xeedd23e0, 0x8410, 0x11ce, 0xa1, 0xc3, 0x08, 0x00, 0x2b, 0x2b, 0x8d, 0x8f);
+DEFINE_GUID(IID_IAccessor,                 0x0c733a8c, 0x2a1c, 0x11ce, 0xad, 0xe5, 0x00, 0xaa, 0x00, 0x44, 0x77, 0x3d);
+DEFINE_GUID(IID_IActiveDesktop,            0xf490eb00, 0x1240, 0x11d1, 0x98, 0x88, 0x00, 0x60, 0x97, 0xde, 0xac, 0xf9);
+DEFINE_GUID(IID_IActiveDesktopP,           0x52502ee0, 0xec80, 0x11d0, 0x89, 0xab, 0x00, 0xc0, 0x4f, 0xc2, 0x97, 0x2d);
+DEFINE_GUID(IID_IAddressBarParser,         0xc9d81948, 0x443a, 0x40c7, 0x94, 0x5c, 0x5e, 0x17, 0x1b, 0x8c, 0x66, 0xb4);
+DEFINE_GUID(IID_IBrowserFrameOptions,      0x10df43c8, 0x1dbe, 0x11d3, 0x8b, 0x34, 0x00, 0x60, 0x97, 0xdf, 0x5b, 0xd4);
+DEFINE_GUID(IID_IContext,                  0x000001c0, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46);
+DEFINE_GUID(IID_IDVGetEnum,                0x70f55181, 0x5fea, 0x4900, 0xb6, 0xb8, 0x73, 0x43, 0xcb, 0x0a, 0x34, 0x8c);
+DEFINE_GUID(IID_IDefViewID,                0x985f64f0, 0xd410, 0x4e02, 0xbe, 0x22, 0xda, 0x07, 0xf2, 0xb5, 0xc5, 0xe1);
 DEFINE_GUID(IID_IDefViewFrame,             0x710EB7A0, 0x45ED, 0x11D0, 0x92, 0x4A, 0x00, 0x20, 0xAF, 0xC7, 0xAC, 0x4D);
+DEFINE_GUID(IID_IDefViewFrame3,            0x985f64f0, 0xd410, 0x4e02, 0xbe, 0x22, 0xda, 0x07, 0xf2, 0xb5, 0xc5, 0xe1);
+DEFINE_GUID(IID_IDefViewFrameGroup,        0xb4bf6da0, 0xbfba, 0x4cbf, 0xb0, 0x3a, 0x6c, 0x55, 0xfa, 0x20, 0xaf, 0x65);
+DEFINE_GUID(IID_IDefViewSafety,            0x9a93b3fb, 0x4e75, 0x4c74, 0x87, 0x1a, 0x2c, 0xda, 0x66, 0x7f, 0x39, 0xa5);
+DEFINE_GUID(IID_IDefViewScript,            0x4706b500, 0x09ef, 0x11d0, 0x99, 0xcb, 0x00, 0xc0, 0x4f, 0xd6, 0x44, 0x97);
+DEFINE_GUID(IID_IDeskBandEx,               0x5dd6b79a, 0x3ab7, 0x49c0, 0xab, 0x82, 0x6b, 0x2d, 0xa7, 0xd7, 0x8d, 0x75);
+DEFINE_GUID(IID_IDeskMovr,                 0x72267f69, 0xa6f9, 0x11d0, 0xbc, 0x94, 0x00, 0xc0, 0x4f, 0xb6, 0x78, 0x63);
 DEFINE_GUID(IID_IDocViewSite,              0x87D605E0, 0xC511, 0x11CF, 0x89, 0xA9, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x29);
 DEFINE_GUID(IID_IExtractImage,             0xbb2e617c, 0x0920, 0x11d1, 0x9a, 0x0b, 0x00, 0xc0, 0x4f, 0xc2, 0xd6, 0xc1);
 DEFINE_GUID(IID_IExtractImage2,            0x953bb1ee, 0x93b4, 0x11d1, 0x98, 0xa3, 0x00, 0xc0, 0x4f, 0xb6, 0x87, 0xda);
 DEFINE_GUID(IID_IFileSearchBand,           0x2d91eea1, 0x9932, 0x11d2, 0xbe, 0x86, 0x00, 0xa0, 0xc9, 0xa8, 0x3d, 0xa1);
 DEFINE_GUID(IID_IFolderBandPriv,           0x47c01f95, 0xe185, 0x412c, 0xb5, 0xc5, 0x4f, 0x27, 0xdf, 0x96, 0x5a, 0xea);
+DEFINE_GUID(IID_IFolderFilter,             0x9cc22886, 0xdc8e, 0x11d2, 0xb1, 0xd0, 0x00, 0xc0, 0x4f, 0x8e, 0xeb, 0x3e);
+DEFINE_GUID(IID_IFolderFilterSite,         0xc0a651f5, 0xb48b, 0x11d2, 0xb5, 0xed, 0x00, 0x60, 0x97, 0xc6, 0x86, 0xf6);
 DEFINE_GUID(IID_IFolderView2,              0x1af3a467, 0x214f, 0x4298, 0x90, 0x8e, 0x06, 0xb0, 0x3e, 0x0b, 0x39, 0xf9);
 DEFINE_GUID(IID_IFolderViewSettings,       0xae8c987d, 0x8797, 0x4ed3, 0xbe, 0x72, 0x2a, 0x47, 0xdd, 0x93, 0x8d, 0xb0);
+DEFINE_GUID(IID_IMultiMonitorDockingSite,  0x03879de0, 0xa205, 0x11d0, 0x99, 0xcb, 0x00, 0xc0, 0x4f, 0xd6, 0x55, 0xe1);
 DEFINE_GUID(IID_IShellDispatch3,           0x177160ca, 0xbb5a, 0x411c, 0x84, 0x1d, 0xbd, 0x38, 0xfa, 0xcd, 0xea, 0xa0);
 DEFINE_GUID(IID_IShellDispatch4,           0xefd84b2d, 0x4bcf, 0x4298, 0xbe, 0x25, 0xeb, 0x54, 0x2a, 0x59, 0xfb, 0xda);
 DEFINE_GUID(IID_IShellDispatch5,           0x866738b9, 0x6cf2, 0x4de8, 0x87, 0x67, 0xf7, 0x94, 0xeb, 0xe7, 0x4f, 0x4e);
@@ -102,8 +122,10 @@ DEFINE_GUID(IID_IShellFolderViewDual2,     0x31c147b6, 0x0ade, 0x4a3c, 0xb5, 0x1
 DEFINE_GUID(IID_IShellLinkDual,            0x88a05c00, 0xf000, 0x11ce, 0x83, 0x50, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00);
 DEFINE_GUID(IID_IShellLinkDual2,           0x317ee249, 0xf12e, 0x11d2, 0xb1, 0xe4, 0x00, 0xc0, 0x4f, 0x8e, 0xeb, 0x3e);
 DEFINE_GUID(IID_IShellView3,               0xec39fa88, 0xf8af, 0x41c5, 0x84, 0x21, 0x38, 0xbe, 0xd2, 0x8f, 0x46, 0x73);
+DEFINE_GUID(IID_IViewObjectEx,             0x3af24292, 0x0c96, 0x11ce, 0xa0, 0xcf, 0x00, 0xaa, 0x00, 0x60, 0x0a, 0xb8);
 
 DEFINE_GUID(IID_DFConstraint,              0x403df050, 0x23bd, 0x11d2, 0x93, 0x9f, 0x00, 0xa0, 0xc9, 0x1e, 0xed, 0xba);
 
+DEFINE_GUID(IID_CDefView,                  0x4434ff80, 0xef4c, 0x11ce, 0xae, 0x65, 0x08, 0x00, 0x2b, 0xe2, 0x12, 0x62);
 DEFINE_GUID(IID_FolderItems2,              0xc94f0ad0, 0xf363, 0x11d2, 0xa3, 0x27, 0x00, 0xc0, 0x4f, 0x8e, 0xec, 0x7f);
 DEFINE_GUID(IID_FolderItems3,              0xeaa7c309, 0xbbec, 0x49d5, 0x82, 0x1d, 0x64, 0xd9, 0x66, 0xcb, 0x66, 0x7f);
index 62dfe32..68908c3 100644 (file)
 
 static const CLASS_AND_INTERFACES ExpectedInterfaces[] =
 {
+    {
+        ID_NAME(CLSID_ExplorerBand),
+        {
+            {  -0xb4,   &IID_IDeskBand },
+            {  -0xb4,       &IID_IDockingWindow },
+            {  -0xb4,           &IID_IOleWindow },
+            {  -0xb0,   &IID_IObjectWithSite },
+            {  -0xa8,   &IID_IInputObject },
+            {  -0xa4,   &IID_IPersistStream },
+            {  -0xa4,       &IID_IPersist },
+            {  -0xa0,   &IID_IOleCommandTarget },
+            {  -0x9c,   &IID_IServiceProvider },
+            {  -0x84,   &IID_IContextMenu },
+            {  -0x80,   &IID_IBandNavigate },
+            {  -0x7c,   &IID_IWinEventHandler },
+            {  -0x78,   &IID_INamespaceProxy },
+            {    0x0,   &IID_IDispatch },
+            {    0x0,       &IID_IUnknown },
+        }
+    },
     {
         ID_NAME(CLSID_FontsFolderShortcut),
         {
@@ -30,6 +50,7 @@ static const CLASS_AND_INTERFACES ExpectedInterfaces[] =
             {   0x20,   &IID_IPersistStream },
             {   0x20,   &IID_IPersistStreamInit },
             {   0x24,   &IID_IPersistPropertyBag },
+            {   0x28,   &IID_IBrowserFrameOptions },
         }
     },
 #if 0 // E_OUTOFMEMORY?
index c943a06..61698db 100644 (file)
@@ -19,18 +19,22 @@ static const CLASS_AND_INTERFACES ExpectedInterfaces[] =
             {    0x0,       &IID_IContextMenu2 },
             {    0x0,           &IID_IContextMenu },
             {    0x0,               &IID_IUnknown },
+            {    0x4,   &IID_IShellExtInit },
             {    0x8,   &IID_IObjectWithSite },
+            {   0x10,   &IID_IFolderFilter },
         }
     },
     {
         ID_NAME(CLSID_DeskMovr),
         {
             {    0x0,   &IID_IUnknown },
+            {   0x70,   &IID_IDeskMovr },
             {   0x74,   &IID_IOleObject },
             {   0x78,   &IID_IPersistPropertyBag },
             {   0x80,   &IID_IOleInPlaceActiveObject },
-            {   0x84,   &IID_IViewObject2 },
-            {   0x84,       &IID_IViewObject },
+            {   0x84,   &IID_IViewObjectEx },
+            {   0x84,       &IID_IViewObject2 },
+            {   0x84,           &IID_IViewObject },
             {   0x88,   &IID_IOleWindow },
             {   0x88,       &IID_IOleInPlaceObject },
             {   0x88,           &IID_IOleInPlaceObjectWindowless },
@@ -110,6 +114,7 @@ static const CLASS_AND_INTERFACES ExpectedInterfaces[] =
             {   0x20,   &IID_IPersistStream },
             {   0x20,   &IID_IPersistStreamInit },
             {   0x24,   &IID_IPersistPropertyBag },
+            {   0x28,   &IID_IBrowserFrameOptions },
         }
     },
     {
@@ -210,7 +215,9 @@ static const CLASS_AND_INTERFACES ExpectedInterfaces[] =
             {    0x0,       &IID_IContextMenu2 },
             {    0x0,           &IID_IContextMenu },
             {    0x0,               &IID_IUnknown },
+            {    0x4,   &IID_IShellExtInit },
             {    0x8,   &IID_IObjectWithSite },
+            {   0x10,   &IID_IFolderFilter },
         }
     },
     {
@@ -220,7 +227,8 @@ static const CLASS_AND_INTERFACES ExpectedInterfaces[] =
             {   -0x4,   &IID_IContextMenu3 },
             {   -0x4,       &IID_IContextMenu2 },
             {   -0x4,           &IID_IContextMenu },
-            {    0x0,   &IID_IUnknown },
+            {    0x0,   &IID_IShellExtInit },
+            {    0x0,       &IID_IUnknown },
         }
     },
     {
@@ -272,7 +280,8 @@ static const CLASS_AND_INTERFACES ExpectedInterfaces[] =
             {   -0x4,   &IID_IContextMenu3 },
             {   -0x4,       &IID_IContextMenu2 },
             {   -0x4,           &IID_IContextMenu },
-            {    0x0,   &IID_IUnknown },
+            {    0x0,   &IID_IShellExtInit },
+            {    0x0,       &IID_IUnknown },
             {    0x4,   &IID_IOleWindow },
         }
     },
@@ -292,7 +301,8 @@ static const CLASS_AND_INTERFACES ExpectedInterfaces[] =
     {
         ID_NAME(CLSID_ShellDesktop),
         {
-            {   -0x8,   &IID_IObjectWithSite },
+            {   -0x8,   &CLSID_ShellDesktop },
+            {   -0x8,       &IID_IObjectWithSite },
             {    0x0,   &IID_IUnknown },
             {    0x8,   &IID_IPersistFolder2 },
             {    0x8,       &IID_IPersistFolder },
@@ -322,7 +332,9 @@ static const CLASS_AND_INTERFACES ExpectedInterfaces[] =
     {
         ID_NAME(CLSID_ShellFldSetExt),
         {
-            {    0x0,   &IID_IUnknown },
+            {    0x0,   &IID_IShellPropSheetExt },
+            {    0x0,       &IID_IUnknown },
+            {    0x4,   &IID_IShellExtInit },
             {    0x8,   &IID_IObjectWithSite },
         }
     },
@@ -371,6 +383,7 @@ static const CLASS_AND_INTERFACES ExpectedInterfaces[] =
             {    0x4,   &IID_IShellLinkW },
             {    0x8,   &IID_IPersistStream },
             {    0xc,   &IID_IPersistFile },
+            {   0x10,   &IID_IShellExtInit },
             {   0x14,   &IID_IContextMenu3 },
             {   0x14,       &IID_IContextMenu2 },
             {   0x14,           &IID_IContextMenu },
@@ -412,7 +425,8 @@ static const CLASS_AND_INTERFACES ExpectedInterfaces[] =
     {
         ID_NAME(CLSID_StartMenuPin),
         {
-            {    0x0,   &IID_IUnknown },
+            {    0x0,   &IID_IShellExtInit },
+            {    0x0,       &IID_IUnknown },
             {    0x4,   &IID_IContextMenu },
             {    0xc,   &IID_IObjectWithSite },
         }