112 lines
3.0 KiB
C++
112 lines
3.0 KiB
C++
/**************************************************************************
|
|
THIS CODE AND INFORMATION IS PROVIDED 'AS IS' WITHOUT WARRANTY OF
|
|
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
|
|
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
|
|
PARTICULAR PURPOSE.
|
|
|
|
Copyright 2001 Microsoft Corporation. All Rights Reserved.
|
|
**************************************************************************/
|
|
|
|
/**************************************************************************
|
|
|
|
File: FuncProv.cpp
|
|
|
|
Description: ITfFunctionProvider implementation.
|
|
|
|
**************************************************************************/
|
|
|
|
/**************************************************************************
|
|
#include statements
|
|
**************************************************************************/
|
|
|
|
#include "TSFEdit.h"
|
|
#include "globals.h"
|
|
|
|
/**************************************************************************
|
|
|
|
CTSFEditWnd::GetType()
|
|
|
|
**************************************************************************/
|
|
|
|
STDMETHODIMP CTSFEditWnd::GetType(GUID *pguid)
|
|
{
|
|
*pguid = GUID_NULL;
|
|
|
|
return S_OK;
|
|
}
|
|
|
|
/**************************************************************************
|
|
|
|
CTSFEditWnd::GetDescription()
|
|
|
|
**************************************************************************/
|
|
|
|
STDMETHODIMP CTSFEditWnd::GetDescription(BSTR *pbstrDesc)
|
|
{
|
|
*pbstrDesc = SysAllocString(L"TSFApp Function Provider");
|
|
|
|
return *pbstrDesc ? S_OK : E_OUTOFMEMORY;
|
|
}
|
|
|
|
/**************************************************************************
|
|
|
|
CTSFEditWnd::GetFunction()
|
|
|
|
**************************************************************************/
|
|
|
|
STDMETHODIMP CTSFEditWnd::GetFunction(REFGUID rguid, REFIID riid, IUnknown **ppunk)
|
|
{
|
|
HRESULT hr = E_NOINTERFACE;
|
|
|
|
*ppunk = NULL;
|
|
|
|
if(IsEqualGUID(rguid, GUID_NULL))
|
|
{
|
|
}
|
|
|
|
return hr;
|
|
}
|
|
|
|
/**************************************************************************
|
|
|
|
CTSFEditWnd::_InitFunctionProvider()
|
|
|
|
**************************************************************************/
|
|
|
|
BOOL CTSFEditWnd::_InitFunctionProvider()
|
|
{
|
|
HRESULT hr = E_FAIL;
|
|
ITfSourceSingle *pSourceSingle;
|
|
|
|
hr = m_pThreadMgr->QueryInterface(&pSourceSingle);
|
|
if(SUCCEEDED(hr))
|
|
{
|
|
hr = pSourceSingle->AdviseSingleSink(m_tfClientID, IID_ITfFunctionProvider, (ITfFunctionProvider*)this);
|
|
|
|
pSourceSingle->Release();
|
|
}
|
|
|
|
return SUCCEEDED(hr);
|
|
}
|
|
|
|
/**************************************************************************
|
|
|
|
CTSFEditWnd::_UninitFunctionProvider()
|
|
|
|
**************************************************************************/
|
|
|
|
void CTSFEditWnd::_UninitFunctionProvider()
|
|
{
|
|
HRESULT hr;
|
|
ITfSourceSingle *pSourceSingle;
|
|
|
|
hr = m_pThreadMgr->QueryInterface(&pSourceSingle);
|
|
if(SUCCEEDED(hr))
|
|
{
|
|
hr = pSourceSingle->UnadviseSingleSink(m_tfClientID, IID_ITfFunctionProvider);
|
|
|
|
pSourceSingle->Release();
|
|
}
|
|
}
|
|
|