STDMETHODIMP CCicLibMenu::QueryInterface(REFIID riid, LPVOID *ppvObj)
{
- if (IsEqualIID(riid, IID_IUnknown) || IsEqualIID(riid, IID_ITfMenu))
+ static const QITAB c_tab[] =
{
- *ppvObj = this;
- AddRef();
- return S_OK;
- }
- return E_NOINTERFACE;
+ QITABENT(CCicLibMenu, ITfMenu),
+ { NULL }
+ };
+ return ::QISearch(this, c_tab, riid, ppvObj);
}
STDMETHODIMP_(ULONG) CCicLibMenu::AddRef()
REFIID riid,
void **ppvObject)
{
- if (IsEqualIID(riid, IID_IUnknown) ||
- IsEqualIID(riid, IID_IDispatch) ||
- IsEqualIID(riid, IID_IAccessible))
+ static const QITAB c_tab[] =
{
- *ppvObject = this;
- AddRef();
- return S_OK;
- }
- return E_NOINTERFACE;
+ QITABENT(CTipbarAccessible, IDispatch),
+ QITABENT(CTipbarAccessible, IAccessible),
+ { NULL }
+ };
+ return ::QISearch(this, c_tab, riid, ppvObject);
}
STDMETHODIMP_(ULONG) CTipbarAccessible::AddRef()
STDMETHODIMP CLBarItemButtonBase::QueryInterface(REFIID riid, void **ppvObject)
{
- if (IsEqualIID(riid, IID_IUnknown) || IsEqualIID(riid, IID_ITfLangBarItem))
+ static const QITAB c_tab[] =
{
- *ppvObject = static_cast<ITfLangBarItem*>(this);
- AddRef();
- return S_OK;
- }
- if (IsEqualIID(riid, IID_ITfLangBarItemButton))
- {
- *ppvObject = static_cast<ITfLangBarItemButton*>(this);
- AddRef();
- return S_OK;
- }
- if (IsEqualIID(riid, IID_ITfSource))
- {
- *ppvObject = static_cast<ITfSource*>(this);
- AddRef();
- return S_OK;
- }
- return E_NOINTERFACE;
+ QITABENT(CLBarItemButtonBase, ITfLangBarItem),
+ QITABENT(CLBarItemButtonBase, ITfLangBarItemButton),
+ QITABENT(CLBarItemButtonBase, ITfSource),
+ { NULL }
+ };
+ return ::QISearch(this, c_tab, riid, ppvObject);
}
STDMETHODIMP_(ULONG) CLBarItemButtonBase::AddRef()
STDMETHODIMP CTipbarWnd::QueryInterface(REFIID riid, void **ppvObj)
{
- if (IsEqualIID(riid, IID_IUnknown) || IsEqualIID(riid, IID_ITfLangBarEventSink))
- {
- *ppvObj = this;
- AddRef();
- return S_OK;
- }
- if (IsEqualIID(riid, IID_ITfLangBarEventSink_P))
+ static const QITAB c_tab[] =
{
- *ppvObj = static_cast<ITfLangBarEventSink_P*>(this);
- AddRef();
- return S_OK;
- }
- return E_NOINTERFACE;
+ QITABENT(CTipbarWnd, ITfLangBarEventSink),
+ QITABENT(CTipbarWnd, ITfLangBarEventSink_P),
+ { NULL }
+ };
+ return ::QISearch(this, c_tab, riid, ppvObj);
}
STDMETHODIMP_(ULONG) CTipbarWnd::AddRef()