riched20/tests: Use an iface instead of a vtbl pointer in ITextHostTestImpl.

This commit is contained in:
Michael Stefaniuc 2010-12-09 10:27:13 +01:00 committed by Alexandre Julliard
parent 4038523b4e
commit 0acf4a297b
1 changed files with 50 additions and 45 deletions

View File

@ -75,15 +75,20 @@ static ITextServicesVtbl itextServicesStdcallVtbl;
typedef struct ITextHostTestImpl
{
ITextHostVtbl *lpVtbl;
ITextHost ITextHost_iface;
LONG refCount;
} ITextHostTestImpl;
static inline ITextHostTestImpl *impl_from_ITextHost(ITextHost *iface)
{
return CONTAINING_RECORD(iface, ITextHostTestImpl, ITextHost_iface);
}
static HRESULT WINAPI ITextHostImpl_QueryInterface(ITextHost *iface,
REFIID riid,
LPVOID *ppvObject)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
if (IsEqualIID(riid, &IID_IUnknown) || IsEqualIID(riid, &IID_ITextHost)) {
*ppvObject = This;
@ -96,14 +101,14 @@ static HRESULT WINAPI ITextHostImpl_QueryInterface(ITextHost *iface,
static ULONG WINAPI ITextHostImpl_AddRef(ITextHost *iface)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
ULONG refCount = InterlockedIncrement(&This->refCount);
return refCount;
}
static ULONG WINAPI ITextHostImpl_Release(ITextHost *iface)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
ULONG refCount = InterlockedDecrement(&This->refCount);
if (!refCount)
@ -117,7 +122,7 @@ static ULONG WINAPI ITextHostImpl_Release(ITextHost *iface)
static HDC WINAPI ITextHostImpl_TxGetDC(ITextHost *iface)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxGetDC(%p)\n", This);
return NULL;
}
@ -125,7 +130,7 @@ static HDC WINAPI ITextHostImpl_TxGetDC(ITextHost *iface)
static INT WINAPI ITextHostImpl_TxReleaseDC(ITextHost *iface,
HDC hdc)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxReleaseDC(%p)\n", This);
return 0;
}
@ -134,7 +139,7 @@ static BOOL WINAPI ITextHostImpl_TxShowScrollBar(ITextHost *iface,
INT fnBar,
BOOL fShow)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxShowScrollBar(%p, fnBar=%d, fShow=%d)\n",
This, fnBar, fShow);
return FALSE;
@ -144,7 +149,7 @@ static BOOL WINAPI ITextHostImpl_TxEnableScrollBar(ITextHost *iface,
INT fuSBFlags,
INT fuArrowflags)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxEnableScrollBar(%p, fuSBFlags=%d, fuArrowflags=%d)\n",
This, fuSBFlags, fuArrowflags);
return FALSE;
@ -156,7 +161,7 @@ static BOOL WINAPI ITextHostImpl_TxSetScrollRange(ITextHost *iface,
INT nMaxPos,
BOOL fRedraw)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxSetScrollRange(%p, fnBar=%d, nMinPos=%d, nMaxPos=%d, fRedraw=%d)\n",
This, fnBar, nMinPos, nMaxPos, fRedraw);
return FALSE;
@ -167,7 +172,7 @@ static BOOL WINAPI ITextHostImpl_TxSetScrollPos(ITextHost *iface,
INT nPos,
BOOL fRedraw)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxSetScrollPos(%p, fnBar=%d, nPos=%d, fRedraw=%d)\n",
This, fnBar, nPos, fRedraw);
return FALSE;
@ -177,14 +182,14 @@ static void WINAPI ITextHostImpl_TxInvalidateRect(ITextHost *iface,
LPCRECT prc,
BOOL fMode)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxInvalidateRect(%p, prc=%p, fMode=%d)\n",
This, prc, fMode);
}
static void WINAPI ITextHostImpl_TxViewChange(ITextHost *iface, BOOL fUpdate)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxViewChange(%p, fUpdate=%d)\n",
This, fUpdate);
}
@ -193,7 +198,7 @@ static BOOL WINAPI ITextHostImpl_TxCreateCaret(ITextHost *iface,
HBITMAP hbmp,
INT xWidth, INT yHeight)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxCreateCaret(%p, nbmp=%p, xWidth=%d, yHeight=%d)\n",
This, hbmp, xWidth, yHeight);
return FALSE;
@ -201,7 +206,7 @@ static BOOL WINAPI ITextHostImpl_TxCreateCaret(ITextHost *iface,
static BOOL WINAPI ITextHostImpl_TxShowCaret(ITextHost *iface, BOOL fShow)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxShowCaret(%p, fShow=%d)\n",
This, fShow);
return FALSE;
@ -210,7 +215,7 @@ static BOOL WINAPI ITextHostImpl_TxShowCaret(ITextHost *iface, BOOL fShow)
static BOOL WINAPI ITextHostImpl_TxSetCaretPos(ITextHost *iface,
INT x, INT y)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxSetCaretPos(%p, x=%d, y=%d)\n", This, x, y);
return FALSE;
}
@ -218,7 +223,7 @@ static BOOL WINAPI ITextHostImpl_TxSetCaretPos(ITextHost *iface,
static BOOL WINAPI ITextHostImpl_TxSetTimer(ITextHost *iface,
UINT idTimer, UINT uTimeout)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxSetTimer(%p, idTimer=%u, uTimeout=%u)\n",
This, idTimer, uTimeout);
return FALSE;
@ -226,7 +231,7 @@ static BOOL WINAPI ITextHostImpl_TxSetTimer(ITextHost *iface,
static void WINAPI ITextHostImpl_TxKillTimer(ITextHost *iface, UINT idTimer)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxKillTimer(%p, idTimer=%u)\n", This, idTimer);
}
@ -238,20 +243,20 @@ static void WINAPI ITextHostImpl_TxScrollWindowEx(ITextHost *iface,
LPRECT lprcUpdate,
UINT fuScroll)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxScrollWindowEx(%p, %d, %d, %p, %p, %p, %p, %d)\n",
This, dx, dy, lprcScroll, lprcClip, hRgnUpdate, lprcUpdate, fuScroll);
}
static void WINAPI ITextHostImpl_TxSetCapture(ITextHost *iface, BOOL fCapture)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxSetCapture(%p, fCapture=%d)\n", This, fCapture);
}
static void WINAPI ITextHostImpl_TxSetFocus(ITextHost *iface)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxSetFocus(%p)\n", This);
}
@ -259,7 +264,7 @@ static void WINAPI ITextHostImpl_TxSetCursor(ITextHost *iface,
HCURSOR hcur,
BOOL fText)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxSetCursor(%p, hcur=%p, fText=%d)\n",
This, hcur, fText);
}
@ -267,7 +272,7 @@ static void WINAPI ITextHostImpl_TxSetCursor(ITextHost *iface,
static BOOL WINAPI ITextHostImpl_TxScreenToClient(ITextHost *iface,
LPPOINT lppt)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxScreenToClient(%p, lppt=%p)\n", This, lppt);
return FALSE;
}
@ -275,7 +280,7 @@ static BOOL WINAPI ITextHostImpl_TxScreenToClient(ITextHost *iface,
static BOOL WINAPI ITextHostImpl_TxClientToScreen(ITextHost *iface,
LPPOINT lppt)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxClientToScreen(%p, lppt=%p)\n", This, lppt);
return FALSE;
}
@ -283,7 +288,7 @@ static BOOL WINAPI ITextHostImpl_TxClientToScreen(ITextHost *iface,
static HRESULT WINAPI ITextHostImpl_TxActivate(ITextHost *iface,
LONG *plOldState)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxActivate(%p, plOldState=%p)\n", This, plOldState);
return E_NOTIMPL;
}
@ -291,7 +296,7 @@ static HRESULT WINAPI ITextHostImpl_TxActivate(ITextHost *iface,
static HRESULT WINAPI ITextHostImpl_TxDeactivate(ITextHost *iface,
LONG lNewState)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxDeactivate(%p, lNewState=%d)\n", This, lNewState);
return E_NOTIMPL;
}
@ -299,7 +304,7 @@ static HRESULT WINAPI ITextHostImpl_TxDeactivate(ITextHost *iface,
static HRESULT WINAPI ITextHostImpl_TxGetClientRect(ITextHost *iface,
LPRECT prc)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxGetClientRect(%p, prc=%p)\n", This, prc);
return E_NOTIMPL;
}
@ -307,7 +312,7 @@ static HRESULT WINAPI ITextHostImpl_TxGetClientRect(ITextHost *iface,
static HRESULT WINAPI ITextHostImpl_TxGetViewInset(ITextHost *iface,
LPRECT prc)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxGetViewInset(%p, prc=%p)\n", This, prc);
return E_NOTIMPL;
}
@ -315,7 +320,7 @@ static HRESULT WINAPI ITextHostImpl_TxGetViewInset(ITextHost *iface,
static HRESULT WINAPI ITextHostImpl_TxGetCharFormat(ITextHost *iface,
const CHARFORMATW **ppCF)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxGetCharFormat(%p, ppCF=%p)\n", This, ppCF);
return E_NOTIMPL;
}
@ -323,7 +328,7 @@ static HRESULT WINAPI ITextHostImpl_TxGetCharFormat(ITextHost *iface,
static HRESULT WINAPI ITextHostImpl_TxGetParaFormat(ITextHost *iface,
const PARAFORMAT **ppPF)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxGetParaFormat(%p, ppPF=%p)\n", This, ppPF);
return E_NOTIMPL;
}
@ -331,7 +336,7 @@ static HRESULT WINAPI ITextHostImpl_TxGetParaFormat(ITextHost *iface,
static COLORREF WINAPI ITextHostImpl_TxGetSysColor(ITextHost *iface,
int nIndex)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxGetSysColor(%p, nIndex=%d)\n", This, nIndex);
return E_NOTIMPL;
}
@ -339,7 +344,7 @@ static COLORREF WINAPI ITextHostImpl_TxGetSysColor(ITextHost *iface,
static HRESULT WINAPI ITextHostImpl_TxGetBackStyle(ITextHost *iface,
TXTBACKSTYLE *pStyle)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxGetBackStyle(%p, pStyle=%p)\n", This, pStyle);
return E_NOTIMPL;
}
@ -347,7 +352,7 @@ static HRESULT WINAPI ITextHostImpl_TxGetBackStyle(ITextHost *iface,
static HRESULT WINAPI ITextHostImpl_TxGetMaxLength(ITextHost *iface,
DWORD *pLength)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxGetMaxLength(%p, pLength=%p)\n", This, pLength);
return E_NOTIMPL;
}
@ -355,7 +360,7 @@ static HRESULT WINAPI ITextHostImpl_TxGetMaxLength(ITextHost *iface,
static HRESULT WINAPI ITextHostImpl_TxGetScrollBars(ITextHost *iface,
DWORD *pdwScrollBar)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxGetScrollBars(%p, pdwScrollBar=%p)\n",
This, pdwScrollBar);
return E_NOTIMPL;
@ -364,7 +369,7 @@ static HRESULT WINAPI ITextHostImpl_TxGetScrollBars(ITextHost *iface,
static HRESULT WINAPI ITextHostImpl_TxGetPasswordChar(ITextHost *iface,
WCHAR *pch)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxGetPasswordChar(%p, pch=%p)\n", This, pch);
return E_NOTIMPL;
}
@ -372,7 +377,7 @@ static HRESULT WINAPI ITextHostImpl_TxGetPasswordChar(ITextHost *iface,
static HRESULT WINAPI ITextHostImpl_TxGetAcceleratorPos(ITextHost *iface,
LONG *pch)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxGetAcceleratorPos(%p, pch=%p)\n", This, pch);
return E_NOTIMPL;
}
@ -380,7 +385,7 @@ static HRESULT WINAPI ITextHostImpl_TxGetAcceleratorPos(ITextHost *iface,
static HRESULT WINAPI ITextHostImpl_TxGetExtent(ITextHost *iface,
LPSIZEL lpExtent)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxGetExtent(%p, lpExtent=%p)\n", This, lpExtent);
return E_NOTIMPL;
}
@ -388,7 +393,7 @@ static HRESULT WINAPI ITextHostImpl_TxGetExtent(ITextHost *iface,
static HRESULT WINAPI ITextHostImpl_OnTxCharFormatChange(ITextHost *iface,
const CHARFORMATW *pcf)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to OnTxCharFormatChange(%p, pcf=%p)\n", This, pcf);
return E_NOTIMPL;
}
@ -396,7 +401,7 @@ static HRESULT WINAPI ITextHostImpl_OnTxCharFormatChange(ITextHost *iface,
static HRESULT WINAPI ITextHostImpl_OnTxParaFormatChange(ITextHost *iface,
const PARAFORMAT *ppf)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to OnTxParaFormatChange(%p, ppf=%p)\n", This, ppf);
return E_NOTIMPL;
}
@ -407,7 +412,7 @@ static HRESULT WINAPI ITextHostImpl_TxGetPropertyBits(ITextHost *iface,
DWORD dwMask,
DWORD *pdwBits)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxGetPropertyBits(%p, dwMask=0x%08x, pdwBits=%p)\n",
This, dwMask, pdwBits);
*pdwBits = 0;
@ -417,21 +422,21 @@ static HRESULT WINAPI ITextHostImpl_TxGetPropertyBits(ITextHost *iface,
static HRESULT WINAPI ITextHostImpl_TxNotify(ITextHost *iface, DWORD iNotify,
void *pv)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxNotify(%p, iNotify=%d, pv=%p)\n", This, iNotify, pv);
return E_NOTIMPL;
}
static HIMC WINAPI ITextHostImpl_TxImmGetContext(ITextHost *iface)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxImmGetContext(%p)\n", This);
return 0;
}
static void WINAPI ITextHostImpl_TxImmReleaseContext(ITextHost *iface, HIMC himc)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxImmReleaseContext(%p, himc=%p)\n", This, himc);
}
@ -441,7 +446,7 @@ static void WINAPI ITextHostImpl_TxImmReleaseContext(ITextHost *iface, HIMC himc
static HRESULT WINAPI ITextHostImpl_TxGetSelectionBarWidth(ITextHost *iface,
LONG *lSelBarWidth)
{
ITextHostTestImpl *This = (ITextHostTestImpl *)iface;
ITextHostTestImpl *This = impl_from_ITextHost(iface);
TRACECALL("Call to TxGetSelectionBarWidth(%p, lSelBarWidth=%p)\n",
This, lSelBarWidth);
*lSelBarWidth = 0;
@ -604,14 +609,14 @@ static BOOL init_texthost(void)
skip("Insufficient memory to create ITextHost interface\n");
return FALSE;
}
dummyTextHost->lpVtbl = &itextHostVtbl;
dummyTextHost->ITextHost_iface.lpVtbl = &itextHostVtbl;
dummyTextHost->refCount = 1;
/* MSDN states that an IUnknown object is returned by
CreateTextServices which is then queried to obtain a
ITextServices object. */
pCreateTextServices = (void*)GetProcAddress(hmoduleRichEdit, "CreateTextServices");
result = (*pCreateTextServices)(NULL,(ITextHost*)dummyTextHost, &init);
result = (*pCreateTextServices)(NULL, &dummyTextHost->ITextHost_iface, &init);
ok(result == S_OK, "Did not return S_OK when created (result = %x)\n", result);
if (result != S_OK) {
CoTaskMemFree(dummyTextHost);