ole32: Avoid casts from the IMultiQI iface to the COM object.

Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Michael Stefaniuc 2016-07-06 08:46:56 +02:00 committed by Alexandre Julliard
parent a1f0d09ab3
commit 08e571cf95
1 changed files with 10 additions and 5 deletions

View File

@ -73,6 +73,11 @@ struct proxy_manager
void *dest_context_data; /* reserved context value (LOCK) */
};
static inline struct proxy_manager *impl_from_IMultiQI( IMultiQI *iface )
{
return CONTAINING_RECORD(iface, struct proxy_manager, IMultiQI_iface);
}
static inline struct proxy_manager *impl_from_IMarshal( IMarshal *iface )
{
return CONTAINING_RECORD(iface, struct proxy_manager, IMarshal_iface);
@ -231,16 +236,16 @@ static HRESULT WINAPI ClientIdentity_QueryInterface(IMultiQI * iface, REFIID rii
return hr;
}
static ULONG WINAPI ClientIdentity_AddRef(IMultiQI * iface)
static ULONG WINAPI ClientIdentity_AddRef(IMultiQI *iface)
{
struct proxy_manager * This = (struct proxy_manager *)iface;
struct proxy_manager *This = impl_from_IMultiQI(iface);
TRACE("%p - before %d\n", iface, This->refs);
return InterlockedIncrement(&This->refs);
}
static ULONG WINAPI ClientIdentity_Release(IMultiQI * iface)
static ULONG WINAPI ClientIdentity_Release(IMultiQI *iface)
{
struct proxy_manager * This = (struct proxy_manager *)iface;
struct proxy_manager *This = impl_from_IMultiQI(iface);
ULONG refs = InterlockedDecrement(&This->refs);
TRACE("%p - after %d\n", iface, refs);
if (!refs)
@ -250,7 +255,7 @@ static ULONG WINAPI ClientIdentity_Release(IMultiQI * iface)
static HRESULT WINAPI ClientIdentity_QueryMultipleInterfaces(IMultiQI *iface, ULONG cMQIs, MULTI_QI *pMQIs)
{
struct proxy_manager * This = (struct proxy_manager *)iface;
struct proxy_manager *This = impl_from_IMultiQI(iface);
REMQIRESULT *qiresults = NULL;
ULONG nonlocal_mqis = 0;
ULONG i;