Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

78 lines
2.4 KiB

//
// utb.h
//
#ifndef UTB_H
#define UTB_H
#include "private.h"
#ifndef ASFW_ANY
#define ASFW_ANY ((DWORD)-1)
#endif
typedef void (*REGISTERSYSTEMTHREAD)(DWORD dw, DWORD reserve);
typedef BOOL (*ALLOWSETFOREGROUNDWINDOW)(DWORD dw);
ALLOWSETFOREGROUNDWINDOW EnsureAllowSetForeground();
REGISTERSYSTEMTHREAD EnsureRegSys();
HRESULT RegisterLangBarNotifySink(ITfLangBarEventSink *pSink, HWND hwnd, DWORD dwFlags, DWORD *pdwCookie);
HRESULT UnregisterLangBarNotifySink(DWORD dwCookie);
BOOL CALLBACK EnumChildWndProc(HWND hwnd, LPARAM lParam);
BOOL FindTrayEtc();
BOOL IsNotifyTrayWnd(HWND hWnd);
void LangBarClosed();
//////////////////////////////////////////////////////////////////////////////
//
// CLangBarMgr
//
//////////////////////////////////////////////////////////////////////////////
// If we ever go crazy for perf, this class could be a single static instance,
// since it has no state. We need to get rid of the ATL CComCoClass and
// CComObjectRoot to do this.
class CLangBarMgr :
public ITfLangBarMgr_P,
public CComObjectRoot_CreateInstance<CLangBarMgr>
{
public:
CLangBarMgr();
~CLangBarMgr();
BEGIN_COM_MAP_IMMX(CLangBarMgr)
COM_INTERFACE_ENTRY(ITfLangBarMgr)
COM_INTERFACE_ENTRY(ITfLangBarMgr_P)
END_COM_MAP_IMMX()
//
// ITfLangBarManager
//
STDMETHODIMP AdviseEventSink(ITfLangBarEventSink *pSink, HWND hwnd, DWORD dwFlags, DWORD *pdwCookie);
STDMETHODIMP UnadviseEventSink(DWORD dwCookie);
STDMETHODIMP GetThreadMarshalInterface(DWORD dwThreadId, DWORD dwType, REFIID riid, IUnknown **ppunk);
STDMETHODIMP GetThreadLangBarItemMgr(DWORD dwThreadId, ITfLangBarItemMgr **pplbi, DWORD *pdwThreadId) ;
STDMETHODIMP GetInputProcessorProfiles(DWORD dwThreadId, ITfInputProcessorProfiles **ppaip, DWORD *pdwThreadId) ;
STDMETHODIMP RestoreLastFocus(DWORD *pdwThreadId, BOOL fPrev);
STDMETHODIMP SetModalInput(ITfLangBarEventSink *pSink, DWORD dwThreadId, DWORD dwFlags);
STDMETHODIMP ShowFloating(DWORD dwFlags);
STDMETHODIMP GetShowFloatingStatus(DWORD *pdwFlags);
//
// ITfLangBarManager_P
//
STDMETHODIMP GetPrevShowFloatingStatus(DWORD *pdwFlags);
static HRESULT s_ShowFloating(DWORD dwFlags);
static HRESULT s_GetShowFloatingStatus(DWORD *pdwFlags);
private:
static BOOL CheckFloatingBits(DWORD dwBits);
DBG_ID_DECLARE;
};
#endif //UTB_H