Michael Stefaniuc : fusion: Standardize the COM usage in asmcache.c.
Alexandre Julliard
julliard at winehq.org
Sun Dec 5 12:10:07 CST 2010
Module: wine
Branch: master
Commit: 0d7b3247ca555d963983a2b3563355793391feae
URL: http://source.winehq.org/git/wine.git/?a=commit;h=0d7b3247ca555d963983a2b3563355793391feae
Author: Michael Stefaniuc <mstefani at redhat.de>
Date: Sat Dec 4 22:13:22 2010 +0100
fusion: Standardize the COM usage in asmcache.c.
---
dlls/fusion/asmcache.c | 30 ++++++++++++++++++++----------
1 files changed, 20 insertions(+), 10 deletions(-)
diff --git a/dlls/fusion/asmcache.c b/dlls/fusion/asmcache.c
index 82093f1..fe4e12a 100644
--- a/dlls/fusion/asmcache.c
+++ b/dlls/fusion/asmcache.c
@@ -123,15 +123,20 @@ static BOOL get_assembly_directory(LPWSTR dir, DWORD size, BYTE architecture)
/* IAssemblyCache */
typedef struct {
- const IAssemblyCacheVtbl *lpIAssemblyCacheVtbl;
+ IAssemblyCache IAssemblyCache_iface;
LONG ref;
} IAssemblyCacheImpl;
+static inline IAssemblyCacheImpl *impl_from_IAssemblyCache(IAssemblyCache *iface)
+{
+ return CONTAINING_RECORD(iface, IAssemblyCacheImpl, IAssemblyCache_iface);
+}
+
static HRESULT WINAPI IAssemblyCacheImpl_QueryInterface(IAssemblyCache *iface,
REFIID riid, LPVOID *ppobj)
{
- IAssemblyCacheImpl *This = (IAssemblyCacheImpl *)iface;
+ IAssemblyCacheImpl *This = impl_from_IAssemblyCache(iface);
TRACE("(%p, %s, %p)\n", This, debugstr_guid(riid), ppobj);
@@ -151,7 +156,7 @@ static HRESULT WINAPI IAssemblyCacheImpl_QueryInterface(IAssemblyCache *iface,
static ULONG WINAPI IAssemblyCacheImpl_AddRef(IAssemblyCache *iface)
{
- IAssemblyCacheImpl *This = (IAssemblyCacheImpl *)iface;
+ IAssemblyCacheImpl *This = impl_from_IAssemblyCache(iface);
ULONG refCount = InterlockedIncrement(&This->ref);
TRACE("(%p)->(ref before = %u)\n", This, refCount - 1);
@@ -161,7 +166,7 @@ static ULONG WINAPI IAssemblyCacheImpl_AddRef(IAssemblyCache *iface)
static ULONG WINAPI IAssemblyCacheImpl_Release(IAssemblyCache *iface)
{
- IAssemblyCacheImpl *This = (IAssemblyCacheImpl *)iface;
+ IAssemblyCacheImpl *This = impl_from_IAssemblyCache(iface);
ULONG refCount = InterlockedDecrement(&This->ref);
TRACE("(%p)->(ref before = %u)\n", This, refCount + 1);
@@ -364,10 +369,10 @@ HRESULT WINAPI CreateAssemblyCache(IAssemblyCache **ppAsmCache, DWORD dwReserved
if (!cache)
return E_OUTOFMEMORY;
- cache->lpIAssemblyCacheVtbl = &AssemblyCacheVtbl;
+ cache->IAssemblyCache_iface.lpVtbl = &AssemblyCacheVtbl;
cache->ref = 1;
- *ppAsmCache = (IAssemblyCache *)cache;
+ *ppAsmCache = &cache->IAssemblyCache_iface;
return S_OK;
}
@@ -375,15 +380,20 @@ HRESULT WINAPI CreateAssemblyCache(IAssemblyCache **ppAsmCache, DWORD dwReserved
/* IAssemblyCacheItem */
typedef struct {
- const IAssemblyCacheItemVtbl *lpIAssemblyCacheItemVtbl;
+ IAssemblyCacheItem IAssemblyCacheItem_iface;
LONG ref;
} IAssemblyCacheItemImpl;
+static inline IAssemblyCacheItemImpl *impl_from_IAssemblyCacheItem(IAssemblyCacheItem *iface)
+{
+ return CONTAINING_RECORD(iface, IAssemblyCacheItemImpl, IAssemblyCacheItem_iface);
+}
+
static HRESULT WINAPI IAssemblyCacheItemImpl_QueryInterface(IAssemblyCacheItem *iface,
REFIID riid, LPVOID *ppobj)
{
- IAssemblyCacheItemImpl *This = (IAssemblyCacheItemImpl *)iface;
+ IAssemblyCacheItemImpl *This = impl_from_IAssemblyCacheItem(iface);
TRACE("(%p, %s, %p)\n", This, debugstr_guid(riid), ppobj);
@@ -403,7 +413,7 @@ static HRESULT WINAPI IAssemblyCacheItemImpl_QueryInterface(IAssemblyCacheItem *
static ULONG WINAPI IAssemblyCacheItemImpl_AddRef(IAssemblyCacheItem *iface)
{
- IAssemblyCacheItemImpl *This = (IAssemblyCacheItemImpl *)iface;
+ IAssemblyCacheItemImpl *This = impl_from_IAssemblyCacheItem(iface);
ULONG refCount = InterlockedIncrement(&This->ref);
TRACE("(%p)->(ref before = %u)\n", This, refCount - 1);
@@ -413,7 +423,7 @@ static ULONG WINAPI IAssemblyCacheItemImpl_AddRef(IAssemblyCacheItem *iface)
static ULONG WINAPI IAssemblyCacheItemImpl_Release(IAssemblyCacheItem *iface)
{
- IAssemblyCacheItemImpl *This = (IAssemblyCacheItemImpl *)iface;
+ IAssemblyCacheItemImpl *This = impl_from_IAssemblyCacheItem(iface);
ULONG refCount = InterlockedDecrement(&This->ref);
TRACE("(%p)->(ref before = %u)\n", This, refCount + 1);
More information about the wine-cvs
mailing list