SDL_msctf.h
Go to the documentation of this file.
/*
Simple DirectMedia Layer
Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
*/
#ifndef _SDL_msctf_h
#define _SDL_msctf_h
#include <unknwn.h>
#define TF_INVALID_COOKIE (0xffffffff)
#define TF_IPSINK_FLAG_ACTIVE 0x0001
#define TF_TMAE_UIELEMENTENABLEDONLY 0x00000004
typedef struct ITfThreadMgr ITfThreadMgr;
typedef struct ITfDocumentMgr ITfDocumentMgr;
typedef struct ITfClientId ITfClientId;
typedef struct IEnumTfDocumentMgrs IEnumTfDocumentMgrs;
typedef struct IEnumTfFunctionProviders IEnumTfFunctionProviders;
typedef struct ITfFunctionProvider ITfFunctionProvider;
typedef struct ITfCompartmentMgr ITfCompartmentMgr;
typedef struct ITfContext ITfContext;
typedef struct IEnumTfContexts IEnumTfContexts;
typedef struct ITfUIElementSink ITfUIElementSink;
typedef struct ITfUIElement ITfUIElement;
typedef struct ITfUIElementMgr ITfUIElementMgr;
typedef struct IEnumTfUIElements IEnumTfUIElements;
typedef struct ITfThreadMgrEx ITfThreadMgrEx;
typedef struct ITfCandidateListUIElement ITfCandidateListUIElement;
typedef struct ITfReadingInformationUIElement ITfReadingInformationUIElement;
typedef struct ITfInputProcessorProfileActivationSink ITfInputProcessorProfileActivationSink;
typedef struct ITfSource ITfSource;
typedef DWORD TfClientId;
typedef DWORD TfEditCookie;
typedef struct ITfThreadMgrVtbl
{
HRESULT (STDMETHODCALLTYPE *QueryInterface)(ITfThreadMgr *, REFIID, void **);
ULONG (STDMETHODCALLTYPE *AddRef)(ITfThreadMgr *);
ULONG (STDMETHODCALLTYPE *Release)(ITfThreadMgr *);
HRESULT (STDMETHODCALLTYPE *Activate)(ITfThreadMgr *, TfClientId *);
HRESULT (STDMETHODCALLTYPE *Deactivate)(ITfThreadMgr *);
HRESULT (STDMETHODCALLTYPE *CreateDocumentMgr)(ITfThreadMgr *);
HRESULT (STDMETHODCALLTYPE *EnumDocumentMgrs)(ITfThreadMgr *, IEnumTfDocumentMgrs **);
HRESULT (STDMETHODCALLTYPE *GetFocus)(ITfThreadMgr *, ITfDocumentMgr **);
HRESULT (STDMETHODCALLTYPE *SetFocus)(ITfThreadMgr *, ITfDocumentMgr *);
HRESULT (STDMETHODCALLTYPE *AssociateFocus)(ITfThreadMgr *, HWND, ITfDocumentMgr *, ITfDocumentMgr **);
HRESULT (STDMETHODCALLTYPE *IsThreadFocus)(ITfThreadMgr *, BOOL *);
HRESULT (STDMETHODCALLTYPE *GetFunctionProvider)(ITfThreadMgr *, REFCLSID, ITfFunctionProvider **);
HRESULT (STDMETHODCALLTYPE *EnumFunctionProviders)(ITfThreadMgr *, IEnumTfFunctionProviders **);
HRESULT (STDMETHODCALLTYPE *GetGlobalCompartment)(ITfThreadMgr *, ITfCompartmentMgr **);
} ITfThreadMgrVtbl;
struct ITfThreadMgr
{
const struct ITfThreadMgrVtbl *lpVtbl;
};
typedef struct ITfThreadMgrExVtbl
{
HRESULT (STDMETHODCALLTYPE *QueryInterface)(ITfThreadMgrEx *, REFIID, void **);
ULONG (STDMETHODCALLTYPE *AddRef)(ITfThreadMgrEx *);
ULONG (STDMETHODCALLTYPE *Release)(ITfThreadMgrEx *);
HRESULT (STDMETHODCALLTYPE *Activate)(ITfThreadMgrEx *, TfClientId *);
HRESULT (STDMETHODCALLTYPE *Deactivate)(ITfThreadMgrEx *);
HRESULT (STDMETHODCALLTYPE *CreateDocumentMgr)(ITfThreadMgrEx *, ITfDocumentMgr **);
HRESULT (STDMETHODCALLTYPE *EnumDocumentMgrs)(ITfThreadMgrEx *, IEnumTfDocumentMgrs **);
HRESULT (STDMETHODCALLTYPE *GetFocus)(ITfThreadMgrEx *, ITfDocumentMgr **);
HRESULT (STDMETHODCALLTYPE *SetFocus)(ITfThreadMgrEx *, ITfDocumentMgr *);
HRESULT (STDMETHODCALLTYPE *AssociateFocus)(ITfThreadMgrEx *, ITfDocumentMgr *, ITfDocumentMgr **);
HRESULT (STDMETHODCALLTYPE *IsThreadFocus)(ITfThreadMgrEx *, BOOL *);
HRESULT (STDMETHODCALLTYPE *GetFunctionProvider)(ITfThreadMgrEx *, REFCLSID, ITfFunctionProvider **);
HRESULT (STDMETHODCALLTYPE *EnumFunctionProviders)(ITfThreadMgrEx *, IEnumTfFunctionProviders **);
HRESULT (STDMETHODCALLTYPE *GetGlobalCompartment)(ITfThreadMgrEx *, ITfCompartmentMgr **);
HRESULT (STDMETHODCALLTYPE *ActivateEx)(ITfThreadMgrEx *, TfClientId *, DWORD);
HRESULT (STDMETHODCALLTYPE *GetActiveFlags)(ITfThreadMgrEx *, DWORD *);
} ITfThreadMgrExVtbl;
struct ITfThreadMgrEx
{
const struct ITfThreadMgrExVtbl *lpVtbl;
};
typedef struct ITfDocumentMgrVtbl
{
HRESULT (STDMETHODCALLTYPE *QueryInterface)(ITfDocumentMgr *, REFIID, void **);
ULONG (STDMETHODCALLTYPE *AddRef)(ITfDocumentMgr *);
ULONG (STDMETHODCALLTYPE *Release)(ITfDocumentMgr *);
HRESULT (STDMETHODCALLTYPE *CreateContext)(ITfDocumentMgr *, TfClientId, DWORD, IUnknown *, ITfContext **, TfEditCookie *);
HRESULT (STDMETHODCALLTYPE *Push)(ITfDocumentMgr *, ITfContext *);
HRESULT (STDMETHODCALLTYPE *Pop)(ITfDocumentMgr *);
HRESULT (STDMETHODCALLTYPE *GetTop)(ITfDocumentMgr *, ITfContext **);
HRESULT (STDMETHODCALLTYPE *GetBase)(ITfDocumentMgr *, ITfContext **);
HRESULT (STDMETHODCALLTYPE *EnumContexts)(ITfDocumentMgr *, IEnumTfContexts **);
} ITfDocumentMgrVtbl;
struct ITfDocumentMgr
{
const struct ITfDocumentMgrVtbl *lpVtbl;
};
typedef struct ITfUIElementSinkVtbl
{
HRESULT (STDMETHODCALLTYPE *QueryInterface)(ITfUIElementSink *, REFIID, void **);
ULONG (STDMETHODCALLTYPE *AddRef)(ITfUIElementSink *);
ULONG (STDMETHODCALLTYPE *Release)(ITfUIElementSink *);
HRESULT (STDMETHODCALLTYPE *BeginUIElement)(ITfUIElementSink *, DWORD, BOOL *);
HRESULT (STDMETHODCALLTYPE *UpdateUIElement)(ITfUIElementSink *, DWORD);
HRESULT (STDMETHODCALLTYPE *EndUIElement)(ITfUIElementSink *, DWORD);
} ITfUIElementSinkVtbl;
struct ITfUIElementSink
{
const struct ITfUIElementSinkVtbl *lpVtbl;
};
typedef struct ITfUIElementMgrVtbl
{
HRESULT (STDMETHODCALLTYPE *QueryInterface)(ITfUIElementMgr *, REFIID, void **);
ULONG (STDMETHODCALLTYPE *AddRef)(ITfUIElementMgr *);
ULONG (STDMETHODCALLTYPE *Release)(ITfUIElementMgr *);
HRESULT (STDMETHODCALLTYPE *BeginUIElement)(ITfUIElementMgr *, ITfUIElement *, BOOL *, DWORD *);
HRESULT (STDMETHODCALLTYPE *UpdateUIElement)(ITfUIElementMgr *, DWORD);
HRESULT (STDMETHODCALLTYPE *EndUIElement)(ITfUIElementMgr *, DWORD);
HRESULT (STDMETHODCALLTYPE *GetUIElement)(ITfUIElementMgr *, DWORD, ITfUIElement **);
HRESULT (STDMETHODCALLTYPE *EnumUIElements)(ITfUIElementMgr *, IEnumTfUIElements **);
} ITfUIElementMgrVtbl;
struct ITfUIElementMgr
{
const struct ITfUIElementMgrVtbl *lpVtbl;
};
typedef struct ITfCandidateListUIElementVtbl
{
HRESULT (STDMETHODCALLTYPE *QueryInterface)(ITfCandidateListUIElement *, REFIID, void **);
ULONG (STDMETHODCALLTYPE *AddRef)(ITfCandidateListUIElement *);
ULONG (STDMETHODCALLTYPE *Release)(ITfCandidateListUIElement *);
HRESULT (STDMETHODCALLTYPE *GetDescription)(ITfCandidateListUIElement *, BSTR *);
HRESULT (STDMETHODCALLTYPE *GetGUID)(ITfCandidateListUIElement *, GUID *);
HRESULT (STDMETHODCALLTYPE *Show)(ITfCandidateListUIElement *, BOOL);
HRESULT (STDMETHODCALLTYPE *IsShown)(ITfCandidateListUIElement *, BOOL *);
HRESULT (STDMETHODCALLTYPE *GetUpdatedFlags)(ITfCandidateListUIElement *, DWORD *);
HRESULT (STDMETHODCALLTYPE *GetDocumentMgr)(ITfCandidateListUIElement *, ITfDocumentMgr **);
HRESULT (STDMETHODCALLTYPE *GetCount)(ITfCandidateListUIElement *, UINT *);
HRESULT (STDMETHODCALLTYPE *GetSelection)(ITfCandidateListUIElement *, UINT *);
HRESULT (STDMETHODCALLTYPE *GetString)(ITfCandidateListUIElement *, UINT, BSTR *);
HRESULT (STDMETHODCALLTYPE *GetPageIndex)(ITfCandidateListUIElement *, UINT *, UINT, UINT *);
HRESULT (STDMETHODCALLTYPE *SetPageIndex)(ITfCandidateListUIElement *, UINT *, UINT);
HRESULT (STDMETHODCALLTYPE *GetCurrentPage)(ITfCandidateListUIElement *, UINT *);
} ITfCandidateListUIElementVtbl;
struct ITfCandidateListUIElement
{
const struct ITfCandidateListUIElementVtbl *lpVtbl;
};
typedef struct ITfReadingInformationUIElementVtbl
{
HRESULT (STDMETHODCALLTYPE *QueryInterface)(ITfReadingInformationUIElement *, REFIID, void **);
ULONG (STDMETHODCALLTYPE *AddRef)(ITfReadingInformationUIElement *);
ULONG (STDMETHODCALLTYPE *Release)(ITfReadingInformationUIElement *);
HRESULT (STDMETHODCALLTYPE *GetDescription)(ITfReadingInformationUIElement *, BSTR *);
HRESULT (STDMETHODCALLTYPE *GetGUID)(ITfReadingInformationUIElement *, GUID *);
HRESULT (STDMETHODCALLTYPE *Show)(ITfReadingInformationUIElement *, BOOL);
HRESULT (STDMETHODCALLTYPE *IsShown)(ITfReadingInformationUIElement *, BOOL *);
HRESULT (STDMETHODCALLTYPE *GetUpdatedFlags)(ITfReadingInformationUIElement *, DWORD *);
HRESULT (STDMETHODCALLTYPE *GetContext)(ITfReadingInformationUIElement *, ITfContext **);
HRESULT (STDMETHODCALLTYPE *GetString)(ITfReadingInformationUIElement *, BSTR *);
HRESULT (STDMETHODCALLTYPE *GetMaxReadingStringLength)(ITfReadingInformationUIElement *, UINT *);
HRESULT (STDMETHODCALLTYPE *GetErrorIndex)(ITfReadingInformationUIElement *, UINT *);
HRESULT (STDMETHODCALLTYPE *IsVerticalOrderPreferred)(ITfReadingInformationUIElement *, BOOL *);
} ITfReadingInformationUIElementVtbl;
struct ITfReadingInformationUIElement
{
const struct ITfReadingInformationUIElementVtbl *lpVtbl;
};
typedef struct ITfUIElementVtbl
{
HRESULT (STDMETHODCALLTYPE *QueryInterface)(ITfUIElement *, REFIID, void **);
ULONG (STDMETHODCALLTYPE *AddRef)(ITfUIElement *);
ULONG (STDMETHODCALLTYPE *Release)(ITfUIElement *);
HRESULT (STDMETHODCALLTYPE *GetDescription)(ITfUIElement *, BSTR *);
HRESULT (STDMETHODCALLTYPE *GetGUID)(ITfUIElement *, GUID *);
HRESULT (STDMETHODCALLTYPE *Show)(ITfUIElement *, BOOL);
HRESULT (STDMETHODCALLTYPE *IsShown)(ITfUIElement *, BOOL *);
} ITfUIElementVtbl;
struct ITfUIElement
{
const struct ITfUIElementVtbl *lpVtbl;
};
typedef struct ITfInputProcessorProfileActivationSinkVtbl
{
HRESULT (STDMETHODCALLTYPE *QueryInterface)(ITfInputProcessorProfileActivationSink *, REFIID, void **);
ULONG (STDMETHODCALLTYPE *AddRef)(ITfInputProcessorProfileActivationSink *);
ULONG (STDMETHODCALLTYPE *Release)(ITfInputProcessorProfileActivationSink *);
HRESULT (STDMETHODCALLTYPE *OnActivated)(ITfInputProcessorProfileActivationSink *, DWORD, LANGID, REFCLSID, REFGUID, REFGUID, HKL, DWORD);
} ITfInputProcessorProfileActivationSinkVtbl;
struct ITfInputProcessorProfileActivationSink
{
const struct ITfInputProcessorProfileActivationSinkVtbl *lpVtbl;
};
typedef struct ITfSourceVtbl
{
HRESULT (STDMETHODCALLTYPE *QueryInterface)(ITfSource *, REFIID, void **);
ULONG (STDMETHODCALLTYPE *AddRef)(ITfSource *);
ULONG (STDMETHODCALLTYPE *Release)(ITfSource *);
HRESULT (STDMETHODCALLTYPE *AdviseSink)(ITfSource *, REFIID, IUnknown *, DWORD *);
HRESULT (STDMETHODCALLTYPE *UnadviseSink)(ITfSource *, DWORD);
} ITfSourceVtbl;
struct ITfSource
{
const struct ITfSourceVtbl *lpVtbl;
};
#endif /* _SDL_msctf_h */
ITfThreadMgrExVtbl::REFCLSID
ITfDocumentMgr IEnumTfDocumentMgrs ITfDocumentMgr ITfDocumentMgr ITfDocumentMgr ITfDocumentMgr BOOL REFCLSID
Definition: SDL_msctf.h:90
IEnumTfContexts
struct IEnumTfContexts IEnumTfContexts
Definition: SDL_msctf.h:40
ITfDocumentMgrVtbl::TfClientId
TfClientId
Definition: SDL_msctf.h:107
ITfUIElementVtbl
Definition: SDL_msctf.h:198
ITfUIElement
Definition: SDL_msctf.h:209
ITfCandidateListUIElementVtbl::UINT
BOOL DWORD ITfDocumentMgr UINT UINT BSTR UINT UINT
Definition: SDL_msctf.h:166
ITfFunctionProvider
struct ITfFunctionProvider ITfFunctionProvider
Definition: SDL_msctf.h:37
ITfCandidateListUIElementVtbl::UINT
BOOL DWORD ITfDocumentMgr UINT UINT BSTR UINT UINT UINT UINT
Definition: SDL_msctf.h:167
ITfCandidateListUIElementVtbl::REFIID
REFIID
Definition: SDL_msctf.h:154
ITfUIElementSinkVtbl::DWORD
DWORD
Definition: SDL_msctf.h:125
ITfThreadMgrExVtbl
Definition: SDL_msctf.h:77
ITfUIElementSinkVtbl
Definition: SDL_msctf.h:120
ITfThreadMgrEx
Definition: SDL_msctf.h:97
ITfThreadMgrVtbl::HWND
IEnumTfDocumentMgrs ITfDocumentMgr ITfDocumentMgr HWND
Definition: SDL_msctf.h:65
ITfThreadMgrExVtbl::REFIID
REFIID
Definition: SDL_msctf.h:79
ITfCandidateListUIElementVtbl::BOOL
BSTR GUID BOOL
Definition: SDL_msctf.h:159
ITfThreadMgrEx::lpVtbl
const struct ITfThreadMgrExVtbl * lpVtbl
Definition: SDL_msctf.h:99
ITfDocumentMgr
Definition: SDL_msctf.h:115
ITfUIElementMgrVtbl::DWORD
DWORD
Definition: SDL_msctf.h:142
ITfSource::lpVtbl
const struct ITfSourceVtbl * lpVtbl
Definition: SDL_msctf.h:239
ITfThreadMgrVtbl::ULONG
void ** ULONG(STDMETHODCALLTYPE *AddRef)(ITfThreadMgr *)
ITfInputProcessorProfileActivationSinkVtbl
Definition: SDL_msctf.h:214
ITfSourceVtbl
Definition: SDL_msctf.h:228
ITfUIElementSink
Definition: SDL_msctf.h:130
ITfDocumentMgrVtbl::REFIID
REFIID
Definition: SDL_msctf.h:104
ITfThreadMgr::lpVtbl
const struct ITfThreadMgrVtbl * lpVtbl
Definition: SDL_msctf.h:74
ITfUIElementMgrVtbl
Definition: SDL_msctf.h:135
ITfReadingInformationUIElementVtbl::BOOL
BSTR GUID BOOL
Definition: SDL_msctf.h:183
ITfInputProcessorProfileActivationSink
Definition: SDL_msctf.h:223
TfEditCookie
DWORD TfEditCookie
Definition: SDL_msctf.h:52
ITfThreadMgrVtbl::REFCLSID
IEnumTfDocumentMgrs ITfDocumentMgr ITfDocumentMgr ITfDocumentMgr ITfDocumentMgr BOOL REFCLSID
Definition: SDL_msctf.h:67
ITfUIElementVtbl::REFIID
REFIID
Definition: SDL_msctf.h:200
ITfCompartmentMgr
struct ITfCompartmentMgr ITfCompartmentMgr
Definition: SDL_msctf.h:38
ITfThreadMgrVtbl::REFIID
REFIID
Definition: SDL_msctf.h:56
ITfSourceVtbl::REFIID
REFIID
Definition: SDL_msctf.h:230
IEnumTfUIElements
struct IEnumTfUIElements IEnumTfUIElements
Definition: SDL_msctf.h:44
ITfReadingInformationUIElementVtbl
Definition: SDL_msctf.h:176
ITfDocumentMgr::lpVtbl
const struct ITfDocumentMgrVtbl * lpVtbl
Definition: SDL_msctf.h:117
TfClientId
DWORD TfClientId
Definition: SDL_msctf.h:51
ITfDocumentMgrVtbl
Definition: SDL_msctf.h:102
ITfInputProcessorProfileActivationSinkVtbl::REFIID
REFIID
Definition: SDL_msctf.h:216
ITfCandidateListUIElement
Definition: SDL_msctf.h:171
ITfReadingInformationUIElementVtbl::REFIID
REFIID
Definition: SDL_msctf.h:178
ITfUIElementSinkVtbl::REFIID
REFIID
Definition: SDL_msctf.h:122
ITfInputProcessorProfileActivationSink::lpVtbl
const struct ITfInputProcessorProfileActivationSinkVtbl * lpVtbl
Definition: SDL_msctf.h:225
ITfUIElementSinkVtbl::DWORD
BOOL DWORD
Definition: SDL_msctf.h:126
ITfUIElementMgr
Definition: SDL_msctf.h:147
ITfUIElementMgrVtbl::REFIID
REFIID
Definition: SDL_msctf.h:137
ITfCandidateListUIElement::lpVtbl
const struct ITfCandidateListUIElementVtbl * lpVtbl
Definition: SDL_msctf.h:173
IEnumTfFunctionProviders
struct IEnumTfFunctionProviders IEnumTfFunctionProviders
Definition: SDL_msctf.h:36
ITfCandidateListUIElementVtbl::UINT
BOOL DWORD ITfDocumentMgr UINT UINT UINT
Definition: SDL_msctf.h:165
ITfThreadMgrVtbl::HRESULT
HRESULT(STDMETHODCALLTYPE *QueryInterface)(ITfThreadMgr *
ITfUIElement::lpVtbl
const struct ITfUIElementVtbl * lpVtbl
Definition: SDL_msctf.h:211
ITfSource
Definition: SDL_msctf.h:237
ITfClientId
struct ITfClientId ITfClientId
Definition: SDL_msctf.h:33
ITfSourceVtbl::DWORD
IUnknown DWORD DWORD
Definition: SDL_msctf.h:234
ITfReadingInformationUIElement
Definition: SDL_msctf.h:193
ITfThreadMgrExVtbl::DWORD
ITfDocumentMgr IEnumTfDocumentMgrs ITfDocumentMgr ITfDocumentMgr ITfDocumentMgr ITfDocumentMgr BOOL ITfFunctionProvider IEnumTfFunctionProviders ITfCompartmentMgr TfClientId DWORD
Definition: SDL_msctf.h:93
ITfUIElementSink::lpVtbl
const struct ITfUIElementSinkVtbl * lpVtbl
Definition: SDL_msctf.h:132
ITfUIElementMgrVtbl::DWORD
ITfUIElement BOOL DWORD DWORD
Definition: SDL_msctf.h:141
ITfUIElementVtbl::BOOL
BSTR GUID BOOL
Definition: SDL_msctf.h:205
ITfThreadMgrVtbl
Definition: SDL_msctf.h:54
ITfCandidateListUIElementVtbl
Definition: SDL_msctf.h:152
ITfContext
struct ITfContext ITfContext
Definition: SDL_msctf.h:39
ITfInputProcessorProfileActivationSinkVtbl::REFGUID
REFGUID
Definition: SDL_msctf.h:219
ITfReadingInformationUIElement::lpVtbl
const struct ITfReadingInformationUIElementVtbl * lpVtbl
Definition: SDL_msctf.h:195
IEnumTfDocumentMgrs
struct IEnumTfDocumentMgrs IEnumTfDocumentMgrs
Definition: SDL_msctf.h:35
ITfThreadMgr
Definition: SDL_msctf.h:72
ITfUIElementMgr::lpVtbl
const struct ITfUIElementMgrVtbl * lpVtbl
Definition: SDL_msctf.h:149