list(APPEND SOURCE
browseui.c
ieframe.c
+ netshell.c
shdocvw.c
shell32.c
com_apitest.c
{ ID_NAME(IID_IACList), TRUE },
{ ID_NAME(IID_IACList2), TRUE },
{ ID_NAME(IID_IADesktopP2), TRUE },
+ { ID_NAME(IID_IAccIdentity) },
+ { ID_NAME(IID_IAccPropServer) },
+ { ID_NAME(IID_IAccPropServices) },
{ ID_NAME(IID_IAccessible) },
+ { ID_NAME(IID_IAccessibleHandler) },
{ ID_NAME(IID_IAccessControl), TRUE },
{ ID_NAME(IID_IAccessor) },
{ ID_NAME(IID_IActiveDesktop), TRUE },
{ ID_NAME(IID_IDefViewFrameGroup) },
{ ID_NAME(IID_IDefViewSafety), },
{ ID_NAME(IID_IDefViewScript), TRUE },
+ { ID_NAME(IID_IDelayedRelease), TRUE },
{ ID_NAME(IID_IDeskBand) },
{ ID_NAME(IID_IDeskBandEx) },
{ ID_NAME(IID_IDeskBar), TRUE },
{ ID_NAME(IID_IEnumExtraSearch) },
{ ID_NAME(IID_IEnumGUID) },
{ ID_NAME(IID_IEnumIDList) },
+ { ID_NAME(IID_IEnumNetConnection) },
{ ID_NAME(IID_IEnumShellItems) },
{ ID_NAME(IID_IEnumString) },
{ ID_NAME(IID_IEnumUnknown) },
{ ID_NAME(IID_IFolderViewHost), TRUE },
{ ID_NAME(IID_IFolderViewOC) },
{ ID_NAME(IID_IFolderViewSettings) },
+ { ID_NAME(IID_IGetNameSpaceExtensionPointer),TRUE},
{ ID_NAME(IID_IGlobalFolderSettings), TRUE },
{ ID_NAME(IID_IHWEventHandler) },
{ ID_NAME(IID_IHWEventHandler2) },
{ ID_NAME(IID_IMultiQI), TRUE },
{ ID_NAME(IID_INamespaceProxy), TRUE },
{ ID_NAME(IID_INameSpaceTreeControl), TRUE },
+ { ID_NAME(IID_INetConnectionConnectUi), TRUE },
+ { ID_NAME(IID_INetConnectionPropertyUi), TRUE },
+ { ID_NAME(IID_INetConnectionPropertyUi2), TRUE },
+ { ID_NAME(IID_INetConnectionManager) },
+ { ID_NAME(IID_INewShortcutHookA), TRUE },
+ { ID_NAME(IID_INewShortcutHookW), TRUE },
{ ID_NAME(IID_INSCTree), TRUE },
{ ID_NAME(IID_INSCTree2), TRUE },
{ ID_NAME(IID_IObjMgr), TRUE },
{ ID_NAME(IID_IPersistFolder) },
{ ID_NAME(IID_IPersistFolder2) },
{ ID_NAME(IID_IPersistFolder3) },
+ { ID_NAME(IID_IPersistFreeThreadedObject), TRUE },
{ ID_NAME(IID_IPersistHistory) },
{ ID_NAME(IID_IPersistIDList) },
{ ID_NAME(IID_IPersistMemory) },
{ ID_NAME(IID_IProgressDialog), TRUE },
{ ID_NAME(IID_IPropertyBag) },
{ ID_NAME(IID_IPropertyBag2) },
+ { ID_NAME(IID_IPropSheetPage), TRUE },
{ ID_NAME(IID_IQueryAssociations), TRUE },
{ ID_NAME(IID_IQueryInfo), TRUE },
{ ID_NAME(IID_IRegTreeOptions), TRUE },
{ ID_NAME(IID_IShellBrowser) },
{ ID_NAME(IID_IShellBrowserService), TRUE },
{ ID_NAME(IID_IShellChangeNotify), TRUE },
+ { ID_NAME(IID_IShellCopyHookA), TRUE },
+ { ID_NAME(IID_IShellCopyHookW), TRUE },
{ ID_NAME(IID_IShellDesktopTray), TRUE },
{ ID_NAME(IID_IShellDetails), TRUE },
{ ID_NAME(IID_IShellDispatch) },
{ ID_NAME(IID_IShellDispatch3) },
{ ID_NAME(IID_IShellDispatch4) },
{ ID_NAME(IID_IShellDispatch5), TRUE },
+ { ID_NAME(IID_IShellExecuteHookA), TRUE },
+ { ID_NAME(IID_IShellExecuteHookW), TRUE },
{ ID_NAME(IID_IShellExtInit), TRUE },
- { ID_NAME(IID_IShellPropSheetExt), TRUE },
- { ID_NAME(IID_IShellIconOverlayIdentifier), TRUE },
{ ID_NAME(IID_IShellFolder) },
{ ID_NAME(IID_IShellFolder2) },
{ ID_NAME(IID_IShellFolderBand), TRUE },
{ ID_NAME(IID_ITrayPriv), TRUE },
{ ID_NAME(IID_ITrayPriv2), TRUE },
{ ID_NAME(IID_IUnknown) },
+ { ID_NAME(IID_IURLSearchHook), TRUE },
+ { ID_NAME(IID_IURLSearchHook2), TRUE },
{ ID_NAME(IID_IViewObject) },
{ ID_NAME(IID_IViewObject2) },
{ ID_NAME(IID_IViewObjectEx), TRUE },
#include <objsafe.h>
#include <oleacc.h>
#include <oaidl.h>
+#include <netcon.h>
#include <mshtmhst.h>
#include <perhist.h>
#include <shlguid.h>
DEFINE_GUID(IID_IFolderView2, 0x1af3a467, 0x214f, 0x4298, 0x90, 0x8e, 0x06, 0xb0, 0x3e, 0x0b, 0x39, 0xf9);
DEFINE_GUID(IID_IFolderViewHost, 0x1ea58f02, 0xd55a, 0x411d, 0xb0, 0x9e, 0x9e, 0x65, 0xac, 0x21, 0x60, 0x5b);
DEFINE_GUID(IID_IFolderViewSettings, 0xae8c987d, 0x8797, 0x4ed3, 0xbe, 0x72, 0x2a, 0x47, 0xdd, 0x93, 0x8d, 0xb0);
+DEFINE_GUID(IID_IGetNameSpaceExtensionPointer,0x287d4a71, 0x439f, 0x43a4, 0x8d, 0x5b, 0x0e, 0x0a, 0xe7, 0x1e, 0x84, 0xa9);
DEFINE_GUID(IID_IHWEventHandler, 0xc1fb73d0, 0xec3a, 0x4ba2, 0xb5, 0x12, 0x8c, 0xdb, 0x91, 0x87, 0xb6, 0xd1);
DEFINE_GUID(IID_IHWEventHandler2, 0xcfcc809f, 0x295d, 0x42e8, 0x9f, 0xfc, 0x42, 0x4b, 0x33, 0xc4, 0x87, 0xe6);
DEFINE_GUID(IID_IMultiMonitorDockingSite, 0x03879de0, 0xa205, 0x11d0, 0x99, 0xcb, 0x00, 0xc0, 0x4f, 0xd6, 0x55, 0xe1);
+DEFINE_GUID(IID_IPersistFreeThreadedObject,0xc7264bf0, 0xedb6, 0x11d1, 0x85, 0x46, 0x00, 0x60, 0x08, 0x05, 0x93, 0x68);
DEFINE_GUID(IID_IPreviewHandler, 0x8895b1c6, 0xb41f, 0x4c1c, 0xa5, 0x62, 0x0d, 0x56, 0x42, 0x50, 0x83, 0x6f);
DEFINE_GUID(IID_IPreviewHandlerFrame, 0xfec87aaf, 0x35f9, 0x447a, 0xad, 0xb7, 0x20, 0x23, 0x44, 0x91, 0x40, 0x1a);
DEFINE_GUID(IID_IPreviewHandlerVisuals, 0x196bf9a5, 0xb346, 0x4ef0, 0xaa, 0x1e, 0x5d, 0xcd, 0xb7, 0x67, 0x68, 0xb1);
{
ID_NAME(CLSID_ShellWindows),
{
- { -0xa0, &IID_IMarshal },
- { -0x20, &IID_IClientSecurity },
- { 0x0, &IID_IMultiQI },
+ { -0xa0, &IID_IMarshal },
+ { -0x20, &IID_IClientSecurity },
+ { 0x0, &IID_IMultiQI },
+ { 0x0, &IID_IUnknown },
+ { FARAWY, &IID_IShellWindows },
+ { FARAWY, &IID_IDispatch },
+ }
+ },
+ {
+ ID_NAME(CLSID_CURLSearchHook),
+ {
+ { 0x0, &IID_IURLSearchHook2 },
+ { 0x0, &IID_IURLSearchHook },
{ 0x0, &IID_IUnknown },
- { FARAWY, &IID_IShellWindows },
- { FARAWY, &IID_IDispatch },
}
},
};
--- /dev/null
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: LGPLv2.1+ - See COPYING.LIB in the top level directory
+ * PURPOSE: COM interface test for netshell classes
+ * PROGRAMMER: Thomas Faber <thomas.faber@reactos.org>
+ */
+
+#include "com_apitest.h"
+
+#define NDEBUG
+#include <debug.h>
+
+static const CLASS_AND_INTERFACES ExpectedInterfaces[] =
+{
+ {
+ ID_NAME(CLSID_ConnectionCommonUi),
+ {
+ { 0x0, &IID_IUnknown },
+ },
+ L"Both"
+ },
+ {
+ ID_NAME(CLSID_ConnectionFolder),
+ {
+ { 0x0, &IID_IPersistFolder2 },
+ { 0x0, &IID_IPersistFolder },
+ { 0x0, &IID_IPersist },
+ { 0x0, &IID_IUnknown },
+ { 0x4, &IID_IShellExtInit },
+ { 0x8, &IID_IShellFolder2 },
+ { 0x8, &IID_IShellFolder },
+ { 0xc, &IID_IOleCommandTarget },
+ { 0x10, &IID_IShellFolderViewCB },
+ },
+ L"Both"
+ },
+ {
+ ID_NAME(CLSID_ConnectionFolderEnum),
+ {
+ { 0x0, &IID_IEnumIDList },
+ { 0x0, &IID_IUnknown },
+ },
+ L"Both"
+ },
+#if 0
+ {
+ ID_NAME(CLSID_ConnectionManager),
+ {
+ { 0x0, &IID_IUnknown },
+ }
+ },
+#endif
+ {
+ ID_NAME(CLSID_ConnectionTray),
+ {
+ { 0x0, &IID_IOleCommandTarget },
+ { 0x0, &IID_IUnknown },
+ },
+ L"Both"
+ },
+ {
+ ID_NAME(CLSID_DialupConnectionUi),
+ {
+ { 0x0, &IID_INetConnectionConnectUi },
+ { 0x0, &IID_IUnknown },
+ { 0x4, &IID_INetConnectionPropertyUi2 },
+ //{ 0x4, &IID_INetConnectionPropertyUi },
+ },
+ L"Both"
+ },
+ {
+ ID_NAME(CLSID_DirectConnectionUi),
+ {
+ { 0x0, &IID_INetConnectionConnectUi },
+ { 0x0, &IID_IUnknown },
+ { 0x4, &IID_INetConnectionPropertyUi2 },
+ //{ 0x4, &IID_INetConnectionPropertyUi },
+ },
+ L"Both"
+ },
+ {
+ ID_NAME(CLSID_InboundConnectionUi),
+ {
+ { 0x0, &IID_INetConnectionPropertyUi2 },
+ { 0x0, &IID_IUnknown },
+ },
+ L"Both"
+ },
+ {
+ ID_NAME(CLSID_InternetConnectionUi),
+ {
+ { 0x0, &IID_INetConnectionConnectUi },
+ { 0x0, &IID_IUnknown },
+ { 0x4, &IID_INetConnectionPropertyUi2 },
+ //{ 0x4, &IID_INetConnectionPropertyUi },
+ },
+ L"Both"
+ },
+ {
+ ID_NAME(CLSID_LanConnectionUi),
+ {
+ { 0x0, &IID_INetConnectionConnectUi },
+ { 0x0, &IID_IUnknown },
+ { 0x4, &IID_INetConnectionPropertyUi2 },
+ { 0x4, &IID_INetConnectionPropertyUi },
+ },
+ L"Both"
+ },
+ {
+ ID_NAME(CLSID_NetConnectionUiUtilities),
+ {
+ { 0x0, &IID_IUnknown },
+ },
+ L"Both"
+ },
+ {
+ ID_NAME(CLSID_SharedAccessConnectionUi),
+ {
+ { 0x0, &IID_INetConnectionConnectUi },
+ { 0x0, &IID_IUnknown },
+ { 0x4, &IID_INetConnectionPropertyUi2 },
+ { 0x4, &IID_INetConnectionPropertyUi },
+ },
+ L"Both"
+ },
+ {
+ ID_NAME(CLSID_PPPoEUi),
+ {
+ { 0x0, &IID_INetConnectionConnectUi },
+ { 0x0, &IID_IUnknown },
+ { 0x4, &IID_INetConnectionPropertyUi2 },
+ //{ 0x4, &IID_INetConnectionPropertyUi },
+ },
+ L"Both"
+ },
+ {
+ ID_NAME(CLSID_VpnConnectionUi),
+ {
+ { 0x0, &IID_INetConnectionConnectUi },
+ { 0x0, &IID_IUnknown },
+ { 0x4, &IID_INetConnectionPropertyUi2 },
+ //{ 0x4, &IID_INetConnectionPropertyUi },
+ },
+ L"Both"
+ },
+};
+static const INT ExpectedInterfaceCount = RTL_NUMBER_OF(ExpectedInterfaces);
+
+START_TEST(netshell)
+{
+ TestClasses(L"netshell", ExpectedInterfaces, ExpectedInterfaceCount);
+}
{
ID_NAME(CLSID_ShellDispatchInproc),
{
- { 0x0, &IID_IUnknown },
+ { 0x0, &IID_IUnknown },
}
},
#endif
{ 0x10, &IID_IPersistFolder2 },
{ 0x10, &IID_IPersistFolder },
{ 0x10, &IID_IPersist },
+ { 0x10, &IID_IPersistFreeThreadedObject },
{ FARAWY, &IID_IShellIconOverlay },
{ FARAWY, &IID_IShellFolder2 },
{ FARAWY, &IID_IShellFolder },
{ 0x10, &IID_IPersistFolder2 },
{ 0x10, &IID_IPersistFolder },
{ 0x10, &IID_IPersist },
+ { 0x10, &IID_IPersistFreeThreadedObject },
{ FARAWY, &IID_IShellIconOverlay },
{ FARAWY, &IID_IShellFolder2 },
{ FARAWY, &IID_IShellFolder },
{ 0x18, &IID_IPersistFolder2 },
{ 0x18, &IID_IPersistFolder },
{ 0x18, &IID_IPersist },
+ { 0x18, &IID_IPersistFreeThreadedObject },
{ 0x1c, &IID_IStorage },
{ 0x2c, &IID_IContextMenuCB },
{ 0x34, &IID_IOleCommandTarget },
extern void func_browseui(void);
extern void func_ieframe(void);
extern void func_interfaces(void);
+extern void func_netshell(void);
extern void func_shdocvw(void);
extern void func_shell32(void);
{ "browseui", func_browseui },
{ "ieframe", func_ieframe },
{ "interfaces", func_interfaces },
+ { "netshell", func_netshell },
{ "shdocvw", func_shdocvw },
{ "shell32", func_shell32 },