2 * PROJECT: ReactOS api tests
3 * LICENSE: GPLv2+ - See COPYING in the top level directory
4 * PURPOSE: COM interface test for shdocvw classes
5 * PROGRAMMER: Thomas Faber <thomas.faber@reactos.org>
8 #include "com_apitest.h"
13 static const CLASS_AND_INTERFACES ExpectedInterfaces
[] =
16 ID_NAME(CLSID_AdminFolderShortcut
),
18 { 0x0, &IID_IShellFolder2
},
19 { 0x0, &IID_IShellFolder
},
20 { 0x0, &IID_IUnknown
},
21 { 0x4, &IID_IPersistFolder3
},
22 { 0x4, &IID_IPersistFolder2
},
23 { 0x4, &IID_IPersistFolder
},
24 { 0x4, &IID_IPersist
},
25 { 0x8, &IID_IShellLinkA
},
26 { 0xc, &IID_IShellLinkW
},
27 { 0x10, &IID_IPersistFile
},
28 { 0x14, &IID_IExtractIconW
},
29 { 0x18, &IID_IQueryInfo
},
30 { 0x20, &IID_IPersistStream
},
31 { 0x20, &IID_IPersistStreamInit
},
32 { 0x24, &IID_IPersistPropertyBag
},
33 { 0x28, &IID_IBrowserFrameOptions
},
37 ID_NAME(CLSID_ExplorerBand
),
39 { -0xb4, &IID_IDeskBand
},
40 { -0xb4, &IID_IDockingWindow
},
41 { -0xb4, &IID_IOleWindow
},
42 { -0xb0, &IID_IObjectWithSite
},
43 { -0xa8, &IID_IInputObject
},
44 { -0xa4, &IID_IPersistStream
},
45 { -0xa4, &IID_IPersist
},
46 { -0xa0, &IID_IOleCommandTarget
},
47 { -0x9c, &IID_IServiceProvider
},
48 { -0x84, &IID_IContextMenu
},
49 { -0x80, &IID_IBandNavigate
},
50 { -0x7c, &IID_IWinEventHandler
},
51 { -0x78, &IID_INamespaceProxy
},
52 { 0x0, &IID_IDispatch
},
53 { 0x0, &IID_IUnknown
},
57 ID_NAME(CLSID_FontsFolderShortcut
),
59 { 0x0, &IID_IShellFolder2
},
60 { 0x0, &IID_IShellFolder
},
61 { 0x0, &IID_IUnknown
},
62 { 0x4, &IID_IPersistFolder3
},
63 { 0x4, &IID_IPersistFolder2
},
64 { 0x4, &IID_IPersistFolder
},
65 { 0x4, &IID_IPersist
},
66 { 0x8, &IID_IShellLinkA
},
67 { 0xc, &IID_IShellLinkW
},
68 { 0x10, &IID_IPersistFile
},
69 { 0x14, &IID_IExtractIconW
},
70 { 0x18, &IID_IQueryInfo
},
71 { 0x20, &IID_IPersistStream
},
72 { 0x20, &IID_IPersistStreamInit
},
73 { 0x24, &IID_IPersistPropertyBag
},
74 { 0x28, &IID_IBrowserFrameOptions
},
77 #if 0 // E_OUTOFMEMORY?
79 ID_NAME(CLSID_ShellDispatchInproc
),
81 { 0x0, &IID_IUnknown
},
86 ID_NAME(CLSID_MruLongList
),
88 { 0x0, &IID_IUnknown
},
92 ID_NAME(CLSID_TaskbarList
),
94 { 0x0, &IID_ITaskbarList2
},
95 { 0x0, &IID_ITaskbarList
},
96 { 0x0, &IID_IUnknown
},
100 static const INT ExpectedInterfaceCount
= RTL_NUMBER_OF(ExpectedInterfaces
);
104 TestClasses(L
"shdocvw", ExpectedInterfaces
, ExpectedInterfaceCount
);