Commit e86dff72 authored by Michael Stefaniuc's avatar Michael Stefaniuc Committed by Alexandre Julliard

quartz: Use an iface instead of a vtbl pointer in IEnumRegFiltersImpl.

parent 8e77be63
...@@ -28,13 +28,18 @@ WINE_DEFAULT_DEBUG_CHANNEL(quartz); ...@@ -28,13 +28,18 @@ WINE_DEFAULT_DEBUG_CHANNEL(quartz);
typedef struct IEnumRegFiltersImpl typedef struct IEnumRegFiltersImpl
{ {
const IEnumRegFiltersVtbl * lpVtbl; IEnumRegFilters IEnumRegFilters_iface;
LONG refCount; LONG refCount;
ULONG size; ULONG size;
REGFILTER* RegFilters; REGFILTER* RegFilters;
ULONG uIndex; ULONG uIndex;
} IEnumRegFiltersImpl; } IEnumRegFiltersImpl;
static inline IEnumRegFiltersImpl *impl_from_IEnumRegFilters(IEnumRegFilters *iface)
{
return CONTAINING_RECORD(iface, IEnumRegFiltersImpl, IEnumRegFilters_iface);
}
static const struct IEnumRegFiltersVtbl IEnumRegFiltersImpl_Vtbl; static const struct IEnumRegFiltersVtbl IEnumRegFiltersImpl_Vtbl;
HRESULT IEnumRegFiltersImpl_Construct(REGFILTER* pInRegFilters, const ULONG size, IEnumRegFilters ** ppEnum) HRESULT IEnumRegFiltersImpl_Construct(REGFILTER* pInRegFilters, const ULONG size, IEnumRegFilters ** ppEnum)
...@@ -79,13 +84,13 @@ HRESULT IEnumRegFiltersImpl_Construct(REGFILTER* pInRegFilters, const ULONG size ...@@ -79,13 +84,13 @@ HRESULT IEnumRegFiltersImpl_Construct(REGFILTER* pInRegFilters, const ULONG size
CopyMemory(pRegFilters[i].Name, pInRegFilters[i].Name, (strlenW(pInRegFilters[i].Name)+1)*sizeof(WCHAR)); CopyMemory(pRegFilters[i].Name, pInRegFilters[i].Name, (strlenW(pInRegFilters[i].Name)+1)*sizeof(WCHAR));
} }
pEnumRegFilters->lpVtbl = &IEnumRegFiltersImpl_Vtbl; pEnumRegFilters->IEnumRegFilters_iface.lpVtbl = &IEnumRegFiltersImpl_Vtbl;
pEnumRegFilters->refCount = 1; pEnumRegFilters->refCount = 1;
pEnumRegFilters->uIndex = 0; pEnumRegFilters->uIndex = 0;
pEnumRegFilters->RegFilters = pRegFilters; pEnumRegFilters->RegFilters = pRegFilters;
pEnumRegFilters->size = size; pEnumRegFilters->size = size;
*ppEnum = (IEnumRegFilters *)(&pEnumRegFilters->lpVtbl); *ppEnum = &pEnumRegFilters->IEnumRegFilters_iface;
return S_OK; return S_OK;
} }
...@@ -114,7 +119,7 @@ static HRESULT WINAPI IEnumRegFiltersImpl_QueryInterface(IEnumRegFilters * iface ...@@ -114,7 +119,7 @@ static HRESULT WINAPI IEnumRegFiltersImpl_QueryInterface(IEnumRegFilters * iface
static ULONG WINAPI IEnumRegFiltersImpl_AddRef(IEnumRegFilters * iface) static ULONG WINAPI IEnumRegFiltersImpl_AddRef(IEnumRegFilters * iface)
{ {
IEnumRegFiltersImpl *This = (IEnumRegFiltersImpl *)iface; IEnumRegFiltersImpl *This = impl_from_IEnumRegFilters(iface);
ULONG refCount = InterlockedIncrement(&This->refCount); ULONG refCount = InterlockedIncrement(&This->refCount);
TRACE("(%p)\n", iface); TRACE("(%p)\n", iface);
...@@ -124,7 +129,7 @@ static ULONG WINAPI IEnumRegFiltersImpl_AddRef(IEnumRegFilters * iface) ...@@ -124,7 +129,7 @@ static ULONG WINAPI IEnumRegFiltersImpl_AddRef(IEnumRegFilters * iface)
static ULONG WINAPI IEnumRegFiltersImpl_Release(IEnumRegFilters * iface) static ULONG WINAPI IEnumRegFiltersImpl_Release(IEnumRegFilters * iface)
{ {
IEnumRegFiltersImpl *This = (IEnumRegFiltersImpl *)iface; IEnumRegFiltersImpl *This = impl_from_IEnumRegFilters(iface);
ULONG refCount = InterlockedDecrement(&This->refCount); ULONG refCount = InterlockedDecrement(&This->refCount);
TRACE("(%p)\n", iface); TRACE("(%p)\n", iface);
...@@ -147,7 +152,7 @@ static ULONG WINAPI IEnumRegFiltersImpl_Release(IEnumRegFilters * iface) ...@@ -147,7 +152,7 @@ static ULONG WINAPI IEnumRegFiltersImpl_Release(IEnumRegFilters * iface)
static HRESULT WINAPI IEnumRegFiltersImpl_Next(IEnumRegFilters * iface, ULONG cFilters, REGFILTER ** ppRegFilter, ULONG * pcFetched) static HRESULT WINAPI IEnumRegFiltersImpl_Next(IEnumRegFilters * iface, ULONG cFilters, REGFILTER ** ppRegFilter, ULONG * pcFetched)
{ {
ULONG cFetched; ULONG cFetched;
IEnumRegFiltersImpl *This = (IEnumRegFiltersImpl *)iface; IEnumRegFiltersImpl *This = impl_from_IEnumRegFilters(iface);
unsigned int i; unsigned int i;
cFetched = min(This->size, This->uIndex + cFilters) - This->uIndex; cFetched = min(This->size, This->uIndex + cFilters) - This->uIndex;
...@@ -193,7 +198,7 @@ static HRESULT WINAPI IEnumRegFiltersImpl_Skip(IEnumRegFilters * iface, ULONG n) ...@@ -193,7 +198,7 @@ static HRESULT WINAPI IEnumRegFiltersImpl_Skip(IEnumRegFilters * iface, ULONG n)
static HRESULT WINAPI IEnumRegFiltersImpl_Reset(IEnumRegFilters * iface) static HRESULT WINAPI IEnumRegFiltersImpl_Reset(IEnumRegFilters * iface)
{ {
IEnumRegFiltersImpl *This = (IEnumRegFiltersImpl *)iface; IEnumRegFiltersImpl *This = impl_from_IEnumRegFilters(iface);
TRACE("(%p)\n", iface); TRACE("(%p)\n", iface);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment