diff --git a/dlls/fusion/asmcache.c b/dlls/fusion/asmcache.c index 3bee10914b8..68a8240684b 100644 --- a/dlls/fusion/asmcache.c +++ b/dlls/fusion/asmcache.c @@ -147,6 +147,32 @@ static const IAssemblyCacheVtbl AssemblyCacheVtbl = { IAssemblyCacheImpl_InstallAssembly }; +/****************************************************************** + * CreateAssemblyCache (FUSION.@) + */ +HRESULT WINAPI CreateAssemblyCache(IAssemblyCache **ppAsmCache, DWORD dwReserved) +{ + IAssemblyCacheImpl *cache; + + TRACE("(%p, %d)\n", ppAsmCache, dwReserved); + + if (!ppAsmCache) + return E_INVALIDARG; + + *ppAsmCache = NULL; + + cache = HeapAlloc(GetProcessHeap(), 0, sizeof(IAssemblyCacheImpl)); + if (!cache) + return E_OUTOFMEMORY; + + cache->lpIAssemblyCacheVtbl = &AssemblyCacheVtbl; + cache->ref = 1; + + *ppAsmCache = (IAssemblyCache *)cache; + + return S_OK; +} + /* IAssemblyCacheItem */ typedef struct { diff --git a/dlls/fusion/fusion.c b/dlls/fusion/fusion.c index 43f0d152b3d..999cb9200b0 100644 --- a/dlls/fusion/fusion.c +++ b/dlls/fusion/fusion.c @@ -53,15 +53,6 @@ HRESULT WINAPI CompareAssemblyIdentity(LPCWSTR pwzAssemblyIdentity1, BOOL fUnifi return E_NOTIMPL; } -/****************************************************************** - * CreateAssemblyCache (FUSION.@) - */ -HRESULT WINAPI CreateAssemblyCache(IAssemblyCache **ppAsmCache, DWORD dwReserved) -{ - FIXME("(%p, %d) stub!\n", ppAsmCache, dwReserved); - return E_NOTIMPL; -} - /****************************************************************** * CreateAssemblyEnum (FUSION.@) */