inetcomm: COM cleanup for the IMimeSecurity iface.

This commit is contained in:
Michael Stefaniuc 2013-03-04 00:31:56 +01:00 committed by Alexandre Julliard
parent d50b3b2068
commit f44d66c617
1 changed files with 27 additions and 28 deletions

View File

@ -2592,54 +2592,53 @@ HRESULT WINAPI MimeOleCreateVirtualStream(IStream **ppStream)
typedef struct MimeSecurity typedef struct MimeSecurity
{ {
const IMimeSecurityVtbl *lpVtbl; IMimeSecurity IMimeSecurity_iface;
LONG ref;
LONG refs;
} MimeSecurity; } MimeSecurity;
static HRESULT WINAPI MimeSecurity_QueryInterface( static inline MimeSecurity *impl_from_IMimeSecurity(IMimeSecurity *iface)
IMimeSecurity* iface,
REFIID riid,
void** obj)
{ {
TRACE("(%p)->(%s, %p)\n", iface, debugstr_guid(riid), obj); return CONTAINING_RECORD(iface, MimeSecurity, IMimeSecurity_iface);
}
static HRESULT WINAPI MimeSecurity_QueryInterface(IMimeSecurity *iface, REFIID riid, void **ppv)
{
TRACE("(%p)->(%s, %p)\n", iface, debugstr_guid(riid), ppv);
if (IsEqualIID(riid, &IID_IUnknown) || if (IsEqualIID(riid, &IID_IUnknown) ||
IsEqualIID(riid, &IID_IMimeSecurity)) IsEqualIID(riid, &IID_IMimeSecurity))
{ {
*obj = iface; *ppv = iface;
IMimeSecurity_AddRef(iface); IMimeSecurity_AddRef(iface);
return S_OK; return S_OK;
} }
FIXME("no interface for %s\n", debugstr_guid(riid)); FIXME("no interface for %s\n", debugstr_guid(riid));
*obj = NULL; *ppv = NULL;
return E_NOINTERFACE; return E_NOINTERFACE;
} }
static ULONG WINAPI MimeSecurity_AddRef( static ULONG WINAPI MimeSecurity_AddRef(IMimeSecurity *iface)
IMimeSecurity* iface)
{ {
MimeSecurity *This = (MimeSecurity *)iface; MimeSecurity *This = impl_from_IMimeSecurity(iface);
TRACE("(%p)->()\n", iface); LONG ref = InterlockedIncrement(&This->ref);
return InterlockedIncrement(&This->refs);
TRACE("(%p) ref=%d\n", This, ref);
return ref;
} }
static ULONG WINAPI MimeSecurity_Release( static ULONG WINAPI MimeSecurity_Release(IMimeSecurity *iface)
IMimeSecurity* iface)
{ {
MimeSecurity *This = (MimeSecurity *)iface; MimeSecurity *This = impl_from_IMimeSecurity(iface);
ULONG refs; LONG ref = InterlockedDecrement(&This->ref);
TRACE("(%p)->()\n", iface); TRACE("(%p) ref=%d\n", This, ref);
refs = InterlockedDecrement(&This->refs); if (!ref)
if (!refs)
{
HeapFree(GetProcessHeap(), 0, This); HeapFree(GetProcessHeap(), 0, This);
}
return refs; return ref;
} }
static HRESULT WINAPI MimeSecurity_InitNew( static HRESULT WINAPI MimeSecurity_InitNew(
@ -2764,10 +2763,10 @@ HRESULT MimeSecurity_create(IUnknown *outer, void **obj)
This = HeapAlloc(GetProcessHeap(), 0, sizeof(*This)); This = HeapAlloc(GetProcessHeap(), 0, sizeof(*This));
if (!This) return E_OUTOFMEMORY; if (!This) return E_OUTOFMEMORY;
This->lpVtbl = &MimeSecurityVtbl; This->IMimeSecurity_iface.lpVtbl = &MimeSecurityVtbl;
This->refs = 1; This->ref = 1;
*obj = &This->lpVtbl; *obj = &This->IMimeSecurity_iface;
return S_OK; return S_OK;
} }