Module: wine Branch: master Commit: 823640fc2faf80ef478989032ce631638ee30f15 URL: http://source.winehq.org/git/wine.git/?a=commit;h=823640fc2faf80ef478989032c...
Author: James Hawkins jhawkins@codeweavers.com Date: Tue Mar 25 00:04:57 2008 -0500
fusion: Implement CreateAssemblyCache.
---
dlls/fusion/asmcache.c | 26 ++++++++++++++++++++++++++ dlls/fusion/fusion.c | 9 --------- 2 files changed, 26 insertions(+), 9 deletions(-)
diff --git a/dlls/fusion/asmcache.c b/dlls/fusion/asmcache.c index 3bee109..68a8240 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 43f0d15..999cb92 100644 --- a/dlls/fusion/fusion.c +++ b/dlls/fusion/fusion.c @@ -54,15 +54,6 @@ HRESULT WINAPI CompareAssemblyIdentity(LPCWSTR pwzAssemblyIdentity1, BOOL fUnifi }
/****************************************************************** - * CreateAssemblyCache (FUSION.@) - */ -HRESULT WINAPI CreateAssemblyCache(IAssemblyCache **ppAsmCache, DWORD dwReserved) -{ - FIXME("(%p, %d) stub!\n", ppAsmCache, dwReserved); - return E_NOTIMPL; -} - -/****************************************************************** * CreateAssemblyEnum (FUSION.@) */ HRESULT WINAPI CreateAssemblyEnum(IAssemblyEnum **pEnum, IUnknown *pUnkReserved,