mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 23:22:57 +00:00
[FUSION] Sync with Wine Staging 1.7.37. CORE-9246
svn path=/trunk/; revision=66848
This commit is contained in:
parent
5930d62892
commit
9e40fb7db8
4 changed files with 35 additions and 18 deletions
|
@ -20,6 +20,19 @@
|
||||||
|
|
||||||
#include "fusionpriv.h"
|
#include "fusionpriv.h"
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
IAssemblyCache IAssemblyCache_iface;
|
||||||
|
|
||||||
|
LONG ref;
|
||||||
|
HANDLE lock;
|
||||||
|
} IAssemblyCacheImpl;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
IAssemblyCacheItem IAssemblyCacheItem_iface;
|
||||||
|
|
||||||
|
LONG ref;
|
||||||
|
} IAssemblyCacheItemImpl;
|
||||||
|
|
||||||
static const WCHAR cache_mutex_nameW[] =
|
static const WCHAR cache_mutex_nameW[] =
|
||||||
{'_','_','W','I','N','E','_','F','U','S','I','O','N','_','C','A','C','H','E','_','M','U','T','E','X','_','_',0};
|
{'_','_','W','I','N','E','_','F','U','S','I','O','N','_','C','A','C','H','E','_','M','U','T','E','X','_','_',0};
|
||||||
|
|
||||||
|
@ -120,13 +133,6 @@ static BOOL get_assembly_directory(LPWSTR dir, DWORD size, const char *version,
|
||||||
|
|
||||||
/* IAssemblyCache */
|
/* IAssemblyCache */
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
IAssemblyCache IAssemblyCache_iface;
|
|
||||||
|
|
||||||
LONG ref;
|
|
||||||
HANDLE lock;
|
|
||||||
} IAssemblyCacheImpl;
|
|
||||||
|
|
||||||
static inline IAssemblyCacheImpl *impl_from_IAssemblyCache(IAssemblyCache *iface)
|
static inline IAssemblyCacheImpl *impl_from_IAssemblyCache(IAssemblyCache *iface)
|
||||||
{
|
{
|
||||||
return CONTAINING_RECORD(iface, IAssemblyCacheImpl, IAssemblyCache_iface);
|
return CONTAINING_RECORD(iface, IAssemblyCacheImpl, IAssemblyCache_iface);
|
||||||
|
@ -330,16 +336,33 @@ done:
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const IAssemblyCacheItemVtbl AssemblyCacheItemVtbl;
|
||||||
|
|
||||||
static HRESULT WINAPI IAssemblyCacheImpl_CreateAssemblyCacheItem(IAssemblyCache *iface,
|
static HRESULT WINAPI IAssemblyCacheImpl_CreateAssemblyCacheItem(IAssemblyCache *iface,
|
||||||
DWORD dwFlags,
|
DWORD dwFlags,
|
||||||
PVOID pvReserved,
|
PVOID pvReserved,
|
||||||
IAssemblyCacheItem **ppAsmItem,
|
IAssemblyCacheItem **ppAsmItem,
|
||||||
LPCWSTR pszAssemblyName)
|
LPCWSTR pszAssemblyName)
|
||||||
{
|
{
|
||||||
FIXME("(%p, %d, %p, %p, %s) stub!\n", iface, dwFlags, pvReserved,
|
IAssemblyCacheItemImpl *item;
|
||||||
|
|
||||||
|
FIXME("(%p, %d, %p, %p, %s) semi-stub!\n", iface, dwFlags, pvReserved,
|
||||||
ppAsmItem, debugstr_w(pszAssemblyName));
|
ppAsmItem, debugstr_w(pszAssemblyName));
|
||||||
|
|
||||||
return E_NOTIMPL;
|
if (!ppAsmItem)
|
||||||
|
return E_INVALIDARG;
|
||||||
|
|
||||||
|
*ppAsmItem = NULL;
|
||||||
|
|
||||||
|
item = HeapAlloc(GetProcessHeap(), 0, sizeof(IAssemblyCacheItemImpl));
|
||||||
|
if (!item)
|
||||||
|
return E_OUTOFMEMORY;
|
||||||
|
|
||||||
|
item->IAssemblyCacheItem_iface.lpVtbl = &AssemblyCacheItemVtbl;
|
||||||
|
item->ref = 1;
|
||||||
|
|
||||||
|
*ppAsmItem = &item->IAssemblyCacheItem_iface;
|
||||||
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI IAssemblyCacheImpl_CreateAssemblyScavenger(IAssemblyCache *iface,
|
static HRESULT WINAPI IAssemblyCacheImpl_CreateAssemblyScavenger(IAssemblyCache *iface,
|
||||||
|
@ -539,12 +562,6 @@ HRESULT WINAPI CreateAssemblyCache(IAssemblyCache **ppAsmCache, DWORD dwReserved
|
||||||
|
|
||||||
/* IAssemblyCacheItem */
|
/* IAssemblyCacheItem */
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
IAssemblyCacheItem IAssemblyCacheItem_iface;
|
|
||||||
|
|
||||||
LONG ref;
|
|
||||||
} IAssemblyCacheItemImpl;
|
|
||||||
|
|
||||||
static inline IAssemblyCacheItemImpl *impl_from_IAssemblyCacheItem(IAssemblyCacheItem *iface)
|
static inline IAssemblyCacheItemImpl *impl_from_IAssemblyCacheItem(IAssemblyCacheItem *iface)
|
||||||
{
|
{
|
||||||
return CONTAINING_RECORD(iface, IAssemblyCacheItemImpl, IAssemblyCacheItem_iface);
|
return CONTAINING_RECORD(iface, IAssemblyCacheItemImpl, IAssemblyCacheItem_iface);
|
||||||
|
|
|
@ -482,7 +482,7 @@ HRESULT IAssemblyName_GetPath(IAssemblyName *iface, LPWSTR buf, ULONG *len)
|
||||||
if (*len <= buffer_size)
|
if (*len <= buffer_size)
|
||||||
lstrcpyW(buf, name->path);
|
lstrcpyW(buf, name->path);
|
||||||
else
|
else
|
||||||
return HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER);
|
return E_NOT_SUFFICIENT_BUFFER;
|
||||||
|
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
|
@ -148,7 +148,7 @@ HRESULT WINAPI GetCachePath(ASM_CACHE_FLAGS dwCacheFlags, LPWSTR pwzCachePath,
|
||||||
|
|
||||||
len++;
|
len++;
|
||||||
if (*pcchPath <= len || !pwzCachePath)
|
if (*pcchPath <= len || !pwzCachePath)
|
||||||
hr = HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER);
|
hr = E_NOT_SUFFICIENT_BUFFER;
|
||||||
else if (pwzCachePath)
|
else if (pwzCachePath)
|
||||||
strcpyW(pwzCachePath, path);
|
strcpyW(pwzCachePath, path);
|
||||||
|
|
||||||
|
|
|
@ -75,7 +75,7 @@ reactos/dll/win32/dciman32 # Synced to Wine-1.7.27
|
||||||
reactos/dll/win32/dwmapi # Synced to WineStaging-1.7.37
|
reactos/dll/win32/dwmapi # Synced to WineStaging-1.7.37
|
||||||
reactos/dll/win32/faultrep # Synced to Wine-1.7.27
|
reactos/dll/win32/faultrep # Synced to Wine-1.7.27
|
||||||
reactos/dll/win32/fltlib # Synced to Wine-1.7.27
|
reactos/dll/win32/fltlib # Synced to Wine-1.7.27
|
||||||
reactos/dll/win32/fusion # Synced to Wine-1.7.27
|
reactos/dll/win32/fusion # Synced to WineStaging-1.7.37
|
||||||
reactos/dll/win32/gdiplus # Synced to Wine-1.7.27
|
reactos/dll/win32/gdiplus # Synced to Wine-1.7.27
|
||||||
reactos/dll/win32/hhctrl.ocx # Synced to Wine-1.7.27
|
reactos/dll/win32/hhctrl.ocx # Synced to Wine-1.7.27
|
||||||
reactos/dll/win32/hlink # Synced to Wine-1.7.27
|
reactos/dll/win32/hlink # Synced to Wine-1.7.27
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue