diff --git a/dlls/oleaut32/usrmarshal.c b/dlls/oleaut32/usrmarshal.c index 2414a9ec8e3..495c2574036 100644 --- a/dlls/oleaut32/usrmarshal.c +++ b/dlls/oleaut32/usrmarshal.c @@ -2242,8 +2242,17 @@ HRESULT CALLBACK IClassFactory2_CreateInstanceLic_Proxy( BSTR bstrKey, PVOID *ppvObj) { - FIXME("not implemented\n"); - return E_NOTIMPL; + TRACE("(%p, %s, %p)\n", pUnkOuter, debugstr_guid(riid), ppvObj); + + *ppvObj = NULL; + + if (pUnkOuter) + { + ERR("aggregation is not allowed on remote objects\n"); + return CLASS_E_NOAGGREGATION; + } + + return IClassFactory2_RemoteCreateInstanceLic_Proxy(This, riid, bstrKey, (IUnknown**)ppvObj); } HRESULT __RPC_STUB IClassFactory2_CreateInstanceLic_Stub( @@ -2252,8 +2261,8 @@ HRESULT __RPC_STUB IClassFactory2_CreateInstanceLic_Stub( BSTR bstrKey, IUnknown **ppvObj) { - FIXME("not implemented\n"); - return E_NOTIMPL; + TRACE("(%s, %p)\n", debugstr_guid(riid), ppvObj); + return IClassFactory2_CreateInstanceLic(This, NULL, NULL, riid, bstrKey, (void**)ppvObj); } HRESULT CALLBACK IEnumConnections_Next_Proxy(