diff --git a/reactos/dll/shellext/netshell/lanconnectui.cpp b/reactos/dll/shellext/netshell/lanconnectui.cpp index 8a365119987..2d9b0734a47 100644 --- a/reactos/dll/shellext/netshell/lanconnectui.cpp +++ b/reactos/dll/shellext/netshell/lanconnectui.cpp @@ -25,9 +25,9 @@ typedef struct } NET_ITEM, *PNET_ITEM; class CNetConnectionPropertyUi final : + public INetConnectionConnectUi, public INetConnectionPropertyUi2, - public INetLanConnectionUiInfo, - public INetConnectionConnectUi + public INetLanConnectionUiInfo { public: CNetConnectionPropertyUi(); @@ -522,7 +522,6 @@ CNetConnectionPropertyUi::QueryInterface( REFIID iid, LPVOID *ppvObj) { - LPOLESTR pStr; *ppvObj = NULL; if (IsEqualIID (iid, IID_IUnknown) || @@ -546,9 +545,6 @@ CNetConnectionPropertyUi::QueryInterface( return S_OK; } - StringFromCLSID((CLSID)iid, &pStr); - MessageBoxW(NULL, pStr, L"INetConnectionPropertyUi_fnQueryInterface", MB_OK); - CoTaskMemFree(pStr); return E_NOINTERFACE; } diff --git a/reactos/dll/shellext/netshell/shfldr_netconnect.cpp b/reactos/dll/shellext/netshell/shfldr_netconnect.cpp index dce3afa6c87..c828f87c4d8 100644 --- a/reactos/dll/shellext/netshell/shfldr_netconnect.cpp +++ b/reactos/dll/shellext/netshell/shfldr_netconnect.cpp @@ -706,9 +706,6 @@ HRESULT WINAPI CNetConUiObject::QueryInterface(REFIID iid, LPVOID *ppvObject) return S_OK; } - //LPOLESTR pStr; - //StringFromCLSID(iid, &pStr); - //MessageBoxW(NULL, L"ISF_NetConnect_IContextMenu2_QueryInterface unhandled", pStr, MB_OK); return E_NOINTERFACE; } diff --git a/rostests/apitests/com/CMakeLists.txt b/rostests/apitests/com/CMakeLists.txt index 813a4218fee..1a29e20da36 100644 --- a/rostests/apitests/com/CMakeLists.txt +++ b/rostests/apitests/com/CMakeLists.txt @@ -4,6 +4,7 @@ add_definitions(-DWINE_NO_UNICODE_MACROS) list(APPEND SOURCE browseui.c ieframe.c + netcfgx.c netshell.c shdocvw.c shell32.c diff --git a/rostests/apitests/com/com_apitest.c b/rostests/apitests/com/com_apitest.c index 9dec3dfd946..9f8c3b0ce61 100644 --- a/rostests/apitests/com/com_apitest.c +++ b/rostests/apitests/com/com_apitest.c @@ -110,6 +110,9 @@ static KNOWN_INTERFACE KnownInterfaces[] = { ID_NAME(IID_IEnumExtraSearch) }, { ID_NAME(IID_IEnumGUID) }, { ID_NAME(IID_IEnumIDList) }, + //{ ID_NAME(IID_IEnumNetCfgBindingInterface) }, + //{ ID_NAME(IID_IEnumNetCfgBindingPath) }, + { ID_NAME(IID_IEnumNetCfgComponent), TRUE }, { ID_NAME(IID_IEnumNetConnection) }, { ID_NAME(IID_IEnumShellItems) }, { ID_NAME(IID_IEnumString) }, @@ -155,10 +158,20 @@ static KNOWN_INTERFACE KnownInterfaces[] = { ID_NAME(IID_IMultiQI), TRUE }, { ID_NAME(IID_INamespaceProxy), TRUE }, { ID_NAME(IID_INameSpaceTreeControl), TRUE }, + { ID_NAME(IID_INetCfg), TRUE }, + //{ ID_NAME(IID_INetCfgBindingInterface) }, + //{ ID_NAME(IID_INetCfgBindingPath) }, + { ID_NAME(IID_INetCfgComponent), TRUE }, + { ID_NAME(IID_INetCfgComponentBindings), TRUE }, + { ID_NAME(IID_INetCfgComponentControl), TRUE }, + { ID_NAME(IID_INetCfgComponentPropertyUi), TRUE }, + { ID_NAME(IID_INetCfgLock), TRUE }, + { ID_NAME(IID_INetCfgPnpReconfigCallback), TRUE }, { ID_NAME(IID_INetConnectionConnectUi), TRUE }, { ID_NAME(IID_INetConnectionPropertyUi), TRUE }, { ID_NAME(IID_INetConnectionPropertyUi2), TRUE }, { ID_NAME(IID_INetConnectionManager) }, + { ID_NAME(IID_INetLanConnectionUiInfo), TRUE }, { ID_NAME(IID_INewShortcutHookA), TRUE }, { ID_NAME(IID_INewShortcutHookW), TRUE }, { ID_NAME(IID_INSCTree), TRUE }, diff --git a/rostests/apitests/com/com_apitest.h b/rostests/apitests/com/com_apitest.h index 172edd6f8e7..be1df506fa4 100644 --- a/rostests/apitests/com/com_apitest.h +++ b/rostests/apitests/com/com_apitest.h @@ -24,6 +24,8 @@ #include #include #include +#include +#include #include #include #include diff --git a/rostests/apitests/com/netcfgx.c b/rostests/apitests/com/netcfgx.c new file mode 100644 index 00000000000..ef13b7d5cd5 --- /dev/null +++ b/rostests/apitests/com/netcfgx.c @@ -0,0 +1,31 @@ +/* + * PROJECT: ReactOS api tests + * LICENSE: LGPLv2.1+ - See COPYING.LIB in the top level directory + * PURPOSE: COM interface test for netcfgx classes + * PROGRAMMER: Thomas Faber + */ + +#include "com_apitest.h" + +#define NDEBUG +#include + +static const CLASS_AND_INTERFACES ExpectedInterfaces[] = +{ + { + ID_NAME(CLSID_CNetCfg), + { + { 0x0, &IID_INetCfg }, + { 0x0, &IID_IUnknown }, + { 0x4, &IID_INetCfgLock }, + { 0x10, &IID_INetCfgPnpReconfigCallback }, + }, + L"Both" + }, +}; +static const INT ExpectedInterfaceCount = RTL_NUMBER_OF(ExpectedInterfaces); + +START_TEST(netcfgx) +{ + TestClasses(L"netcfgx", ExpectedInterfaces, ExpectedInterfaceCount); +} diff --git a/rostests/apitests/com/netshell.c b/rostests/apitests/com/netshell.c index 616941618ff..2562d5e46d2 100644 --- a/rostests/apitests/com/netshell.c +++ b/rostests/apitests/com/netshell.c @@ -103,6 +103,7 @@ static const CLASS_AND_INTERFACES ExpectedInterfaces[] = { 0x0, &IID_IUnknown }, { 0x4, &IID_INetConnectionPropertyUi2 }, { 0x4, &IID_INetConnectionPropertyUi }, + { 0x10, &IID_INetLanConnectionUiInfo }, }, L"Both" }, diff --git a/rostests/apitests/com/shdocvw.c b/rostests/apitests/com/shdocvw.c index dfcdbca23a8..4ddd95a78ee 100644 --- a/rostests/apitests/com/shdocvw.c +++ b/rostests/apitests/com/shdocvw.c @@ -12,6 +12,27 @@ static const CLASS_AND_INTERFACES ExpectedInterfaces[] = { + { + ID_NAME(CLSID_AdminFolderShortcut), + { + { 0x0, &IID_IShellFolder2 }, + { 0x0, &IID_IShellFolder }, + { 0x0, &IID_IUnknown }, + { 0x4, &IID_IPersistFolder3 }, + { 0x4, &IID_IPersistFolder2 }, + { 0x4, &IID_IPersistFolder }, + { 0x4, &IID_IPersist }, + { 0x8, &IID_IShellLinkA }, + { 0xc, &IID_IShellLinkW }, + { 0x10, &IID_IPersistFile }, + { 0x14, &IID_IExtractIconW }, + { 0x18, &IID_IQueryInfo }, + { 0x20, &IID_IPersistStream }, + { 0x20, &IID_IPersistStreamInit }, + { 0x24, &IID_IPersistPropertyBag }, + { 0x28, &IID_IBrowserFrameOptions }, + } + }, { ID_NAME(CLSID_ExplorerBand), { diff --git a/rostests/apitests/com/testlist.c b/rostests/apitests/com/testlist.c index 9f8df8df0b9..71639d9da41 100644 --- a/rostests/apitests/com/testlist.c +++ b/rostests/apitests/com/testlist.c @@ -6,6 +6,7 @@ extern void func_browseui(void); extern void func_ieframe(void); extern void func_interfaces(void); +extern void func_netcfgx(void); extern void func_netshell(void); extern void func_shdocvw(void); extern void func_shell32(void); @@ -15,6 +16,7 @@ const struct test winetest_testlist[] = { "browseui", func_browseui }, { "ieframe", func_ieframe }, { "interfaces", func_interfaces }, + { "netcfgx", func_netcfgx }, { "netshell", func_netshell }, { "shdocvw", func_shdocvw }, { "shell32", func_shell32 },