2025-04-27 07:49:33 -04:00

47 lines
985 B
C++

//
// ats.h
//
// Generic ITfActiveLanguageProfileNotifySink object
//
#ifndef ATS_H
#define ATS_H
#include "private.h"
#define ALS_INVALID_COOKIE ((DWORD)(-1))
typedef HRESULT (*ALSCALLBACK)(REFCLSID clsid, REFGUID guidProfile, BOOL fActivated, void *pv);
class CActiveLanguageProfileNotifySink : public ITfActiveLanguageProfileNotifySink
{
public:
CActiveLanguageProfileNotifySink(ALSCALLBACK pfn, void *pv);
//
// IUnknown methods
//
STDMETHODIMP QueryInterface(REFIID riid, void **ppvObj);
STDMETHODIMP_(ULONG) AddRef(void);
STDMETHODIMP_(ULONG) Release(void);
//
// ITfActiveLanguageProfileNotifySink
//
STDMETHODIMP OnActivated(REFCLSID clsid, REFGUID guidProfile, BOOL bActivated);
HRESULT _Advise(ITfThreadMgr *ptim);
HRESULT _Unadvise();
private:
long _cRef;
ITfThreadMgr *_ptim;
DWORD _dwCookie;
ALSCALLBACK _pfn;
void *_pv;
};
#endif // ATS_H