Commit 10d256c6 authored by Robert Wilhelm's avatar Robert Wilhelm Committed by Alexandre Julliard

wshom.ocx: Added WshNetwork class factory implementation.

parent 8a18836e
......@@ -4,6 +4,7 @@ IMPORTS = uuid oleaut32 ole32 shell32 user32 advapi32 scrrun
EXTRADLLFLAGS = -Wb,--prefer-native
C_SRCS = \
network.c \
shell.c \
wshom_main.c
......
/*
* Copyright 2022 Robert Wilhelm
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "wshom_private.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(wshom);
HRESULT WINAPI WshNetworkFactory_CreateInstance(IClassFactory *iface, IUnknown *outer, REFIID riid, void **ppv)
{
FIXME("(%p %s %p)\n", outer, debugstr_guid(riid), ppv);
return E_NOINTERFACE;
}
......@@ -209,7 +209,16 @@ static const IClassFactoryVtbl WshShellFactoryVtbl = {
ClassFactory_LockServer
};
static const IClassFactoryVtbl WshNetworkFactoryVtbl = {
ClassFactory_QueryInterface,
ClassFactory_AddRef,
ClassFactory_Release,
WshNetworkFactory_CreateInstance,
ClassFactory_LockServer
};
static IClassFactory WshShellFactory = { &WshShellFactoryVtbl };
static IClassFactory WshNetworkFactory = { &WshNetworkFactoryVtbl };
/******************************************************************
* DllMain (wshom.ocx.@)
......@@ -241,6 +250,10 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
TRACE("(CLSID_WshShell %s %p)\n", debugstr_guid(riid), ppv);
return IClassFactory_QueryInterface(&WshShellFactory, riid, ppv);
}
else if(IsEqualGUID(&CLSID_WshNetwork, rclsid)) {
TRACE("(CLSID_WshNetwork %s %p)\n", debugstr_guid(riid), ppv);
return IClassFactory_QueryInterface(&WshNetworkFactory, riid, ppv);
}
FIXME("%s %s %p\n", debugstr_guid(rclsid), debugstr_guid(riid), ppv);
return CLASS_E_CLASSNOTAVAILABLE;
......
......@@ -47,3 +47,4 @@ struct provideclassinfo {
extern void init_classinfo(const GUID *guid, IUnknown *outer, struct provideclassinfo *classinfo) DECLSPEC_HIDDEN;
HRESULT WINAPI WshShellFactory_CreateInstance(IClassFactory*,IUnknown*,REFIID,void**) DECLSPEC_HIDDEN;
HRESULT WINAPI WshNetworkFactory_CreateInstance(IClassFactory*,IUnknown*,REFIID,void**) DECLSPEC_HIDDEN;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment