ReactOS  0.4.14-dev-552-g2fad488
inputprocessor.c File Reference
#include <stdarg.h>
#include "wine/debug.h"
#include "windef.h"
#include "winbase.h"
#include "winreg.h"
#include "winuser.h"
#include "shlwapi.h"
#include "winerror.h"
#include "objbase.h"
#include "olectl.h"
#include "msctf.h"
#include "msctf_internal.h"
Include dependency graph for inputprocessor.c:

Go to the source code of this file.

Classes

struct  tagInputProcessorProfiles
 
struct  tagProfilesEnumGuid
 
struct  tagEnumTfLanguageProfiles
 
struct  EnumTfInputProcessorProfiles
 

Macros

#define COBJMACROS
 

Typedefs

typedef struct tagInputProcessorProfiles InputProcessorProfiles
 
typedef struct tagProfilesEnumGuid ProfilesEnumGuid
 
typedef struct tagEnumTfLanguageProfiles EnumTfLanguageProfiles
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (msctf)
 
static HRESULT ProfilesEnumGuid_Constructor (IEnumGUID **ppOut)
 
static HRESULT EnumTfLanguageProfiles_Constructor (LANGID langid, EnumTfLanguageProfiles **out)
 
static EnumTfInputProcessorProfilesimpl_from_IEnumTfInputProcessorProfiles (IEnumTfInputProcessorProfiles *iface)
 
static HRESULT WINAPI EnumTfInputProcessorProfiles_QueryInterface (IEnumTfInputProcessorProfiles *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI EnumTfInputProcessorProfiles_AddRef (IEnumTfInputProcessorProfiles *iface)
 
static ULONG WINAPI EnumTfInputProcessorProfiles_Release (IEnumTfInputProcessorProfiles *iface)
 
static HRESULT WINAPI EnumTfInputProcessorProfiles_Clone (IEnumTfInputProcessorProfiles *iface, IEnumTfInputProcessorProfiles **ret)
 
static HRESULT WINAPI EnumTfInputProcessorProfiles_Next (IEnumTfInputProcessorProfiles *iface, ULONG count, TF_INPUTPROCESSORPROFILE *profile, ULONG *fetch)
 
static HRESULT WINAPI EnumTfInputProcessorProfiles_Reset (IEnumTfInputProcessorProfiles *iface)
 
static HRESULT WINAPI EnumTfInputProcessorProfiles_Skip (IEnumTfInputProcessorProfiles *iface, ULONG count)
 
static InputProcessorProfilesimpl_from_ITfInputProcessorProfiles (ITfInputProcessorProfiles *iface)
 
static InputProcessorProfilesimpl_from_ITfSource (ITfSource *iface)
 
static ProfilesEnumGuidimpl_from_IEnumGUID (IEnumGUID *iface)
 
static EnumTfLanguageProfilesimpl_from_IEnumTfLanguageProfiles (IEnumTfLanguageProfiles *iface)
 
static void InputProcessorProfiles_Destructor (InputProcessorProfiles *This)
 
static void add_userkey (REFCLSID rclsid, LANGID langid, REFGUID guidProfile)
 
static HRESULT WINAPI InputProcessorProfiles_QueryInterface (ITfInputProcessorProfiles *iface, REFIID iid, void **ppv)
 
static ULONG WINAPI InputProcessorProfiles_AddRef (ITfInputProcessorProfiles *iface)
 
static ULONG WINAPI InputProcessorProfiles_Release (ITfInputProcessorProfiles *iface)
 
static HRESULT WINAPI InputProcessorProfiles_Register (ITfInputProcessorProfiles *iface, REFCLSID rclsid)
 
static HRESULT WINAPI InputProcessorProfiles_Unregister (ITfInputProcessorProfiles *iface, REFCLSID rclsid)
 
static HRESULT WINAPI InputProcessorProfiles_AddLanguageProfile (ITfInputProcessorProfiles *iface, REFCLSID rclsid, LANGID langid, REFGUID guidProfile, const WCHAR *pchDesc, ULONG cchDesc, const WCHAR *pchIconFile, ULONG cchFile, ULONG uIconIndex)
 
static HRESULT WINAPI InputProcessorProfiles_RemoveLanguageProfile (ITfInputProcessorProfiles *iface, REFCLSID rclsid, LANGID langid, REFGUID guidProfile)
 
static HRESULT WINAPI InputProcessorProfiles_EnumInputProcessorInfo (ITfInputProcessorProfiles *iface, IEnumGUID **ppEnum)
 
static HRESULT WINAPI InputProcessorProfiles_GetDefaultLanguageProfile (ITfInputProcessorProfiles *iface, LANGID langid, REFGUID catid, CLSID *pclsid, GUID *pguidProfile)
 
static HRESULT WINAPI InputProcessorProfiles_SetDefaultLanguageProfile (ITfInputProcessorProfiles *iface, LANGID langid, REFCLSID rclsid, REFGUID guidProfiles)
 
static HRESULT WINAPI InputProcessorProfiles_ActivateLanguageProfile (ITfInputProcessorProfiles *iface, REFCLSID rclsid, LANGID langid, REFGUID guidProfiles)
 
static HRESULT WINAPI InputProcessorProfiles_GetActiveLanguageProfile (ITfInputProcessorProfiles *iface, REFCLSID rclsid, LANGID *plangid, GUID *pguidProfile)
 
static HRESULT WINAPI InputProcessorProfiles_GetLanguageProfileDescription (ITfInputProcessorProfiles *iface, REFCLSID rclsid, LANGID langid, REFGUID guidProfile, BSTR *pbstrProfile)
 
static HRESULT WINAPI InputProcessorProfiles_GetCurrentLanguage (ITfInputProcessorProfiles *iface, LANGID *plangid)
 
static HRESULT WINAPI InputProcessorProfiles_ChangeCurrentLanguage (ITfInputProcessorProfiles *iface, LANGID langid)
 
static HRESULT WINAPI InputProcessorProfiles_GetLanguageList (ITfInputProcessorProfiles *iface, LANGID **ppLangId, ULONG *pulCount)
 
static HRESULT WINAPI InputProcessorProfiles_EnumLanguageProfiles (ITfInputProcessorProfiles *iface, LANGID langid, IEnumTfLanguageProfiles **ppEnum)
 
static HRESULT WINAPI InputProcessorProfiles_EnableLanguageProfile (ITfInputProcessorProfiles *iface, REFCLSID rclsid, LANGID langid, REFGUID guidProfile, BOOL fEnable)
 
static HRESULT WINAPI InputProcessorProfiles_IsEnabledLanguageProfile (ITfInputProcessorProfiles *iface, REFCLSID rclsid, LANGID langid, REFGUID guidProfile, BOOL *pfEnable)
 
static HRESULT WINAPI InputProcessorProfiles_EnableLanguageProfileByDefault (ITfInputProcessorProfiles *iface, REFCLSID rclsid, LANGID langid, REFGUID guidProfile, BOOL fEnable)
 
static HRESULT WINAPI InputProcessorProfiles_SubstituteKeyboardLayout (ITfInputProcessorProfiles *iface, REFCLSID rclsid, LANGID langid, REFGUID guidProfile, HKL hKL)
 
static InputProcessorProfilesimpl_from_ITfInputProcessorProfileMgr (ITfInputProcessorProfileMgr *iface)
 
static HRESULT WINAPI InputProcessorProfileMgr_QueryInterface (ITfInputProcessorProfileMgr *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI InputProcessorProfileMgr_AddRef (ITfInputProcessorProfileMgr *iface)
 
static ULONG WINAPI InputProcessorProfileMgr_Release (ITfInputProcessorProfileMgr *iface)
 
static HRESULT WINAPI InputProcessorProfileMgr_ActivateProfile (ITfInputProcessorProfileMgr *iface, DWORD dwProfileType, LANGID langid, REFCLSID clsid, REFGUID guidProfile, HKL hkl, DWORD dwFlags)
 
static HRESULT WINAPI InputProcessorProfileMgr_DeactivateProfile (ITfInputProcessorProfileMgr *iface, DWORD dwProfileType, LANGID langid, REFCLSID clsid, REFGUID guidProfile, HKL hkl, DWORD dwFlags)
 
static HRESULT WINAPI InputProcessorProfileMgr_GetProfile (ITfInputProcessorProfileMgr *iface, DWORD dwProfileType, LANGID langid, REFCLSID clsid, REFGUID guidProfile, HKL hkl, TF_INPUTPROCESSORPROFILE *pProfile)
 
static HRESULT WINAPI InputProcessorProfileMgr_EnumProfiles (ITfInputProcessorProfileMgr *iface, LANGID langid, IEnumTfInputProcessorProfiles **ppEnum)
 
static HRESULT WINAPI InputProcessorProfileMgr_ReleaseInputProcessor (ITfInputProcessorProfileMgr *iface, REFCLSID rclsid, DWORD dwFlags)
 
static HRESULT WINAPI InputProcessorProfileMgr_RegisterProfile (ITfInputProcessorProfileMgr *iface, REFCLSID rclsid, LANGID langid, REFGUID guidProfile, const WCHAR *pchDesc, ULONG cchDesc, const WCHAR *pchIconFile, ULONG cchFile, ULONG uIconIndex, HKL hklsubstitute, DWORD dwPreferredLayout, BOOL bEnabledByDefault, DWORD dwFlags)
 
static HRESULT WINAPI InputProcessorProfileMgr_UnregisterProfile (ITfInputProcessorProfileMgr *iface, REFCLSID rclsid, LANGID langid, REFGUID guidProfile, DWORD dwFlags)
 
static HRESULT WINAPI InputProcessorProfileMgr_GetActiveProfile (ITfInputProcessorProfileMgr *iface, REFGUID catid, TF_INPUTPROCESSORPROFILE *pProfile)
 
static HRESULT WINAPI IPPSource_QueryInterface (ITfSource *iface, REFIID iid, LPVOID *ppvOut)
 
static ULONG WINAPI IPPSource_AddRef (ITfSource *iface)
 
static ULONG WINAPI IPPSource_Release (ITfSource *iface)
 
static HRESULT WINAPI IPPSource_AdviseSink (ITfSource *iface, REFIID riid, IUnknown *punk, DWORD *pdwCookie)
 
static HRESULT WINAPI IPPSource_UnadviseSink (ITfSource *iface, DWORD pdwCookie)
 
HRESULT InputProcessorProfiles_Constructor (IUnknown *pUnkOuter, IUnknown **ppOut)
 
static void ProfilesEnumGuid_Destructor (ProfilesEnumGuid *This)
 
static HRESULT WINAPI ProfilesEnumGuid_QueryInterface (IEnumGUID *iface, REFIID iid, LPVOID *ppvOut)
 
static ULONG WINAPI ProfilesEnumGuid_AddRef (IEnumGUID *iface)
 
static ULONG WINAPI ProfilesEnumGuid_Release (IEnumGUID *iface)
 
static HRESULT WINAPI ProfilesEnumGuid_Next (LPENUMGUID iface, ULONG celt, GUID *rgelt, ULONG *pceltFetched)
 
static HRESULT WINAPI ProfilesEnumGuid_Skip (LPENUMGUID iface, ULONG celt)
 
static HRESULT WINAPI ProfilesEnumGuid_Reset (LPENUMGUID iface)
 
static HRESULT WINAPI ProfilesEnumGuid_Clone (LPENUMGUID iface, IEnumGUID **ppenum)
 
static void EnumTfLanguageProfiles_Destructor (EnumTfLanguageProfiles *This)
 
static HRESULT WINAPI EnumTfLanguageProfiles_QueryInterface (IEnumTfLanguageProfiles *iface, REFIID iid, LPVOID *ppvOut)
 
static ULONG WINAPI EnumTfLanguageProfiles_AddRef (IEnumTfLanguageProfiles *iface)
 
static ULONG WINAPI EnumTfLanguageProfiles_Release (IEnumTfLanguageProfiles *iface)
 
static INT next_LanguageProfile (EnumTfLanguageProfiles *This, CLSID clsid, TF_LANGUAGEPROFILE *tflp)
 
static HRESULT WINAPI EnumTfLanguageProfiles_Next (IEnumTfLanguageProfiles *iface, ULONG ulCount, TF_LANGUAGEPROFILE *pProfile, ULONG *pcFetch)
 
static HRESULT WINAPI EnumTfLanguageProfiles_Skip (IEnumTfLanguageProfiles *iface, ULONG celt)
 
static HRESULT WINAPI EnumTfLanguageProfiles_Reset (IEnumTfLanguageProfiles *iface)
 
static HRESULT WINAPI EnumTfLanguageProfiles_Clone (IEnumTfLanguageProfiles *iface, IEnumTfLanguageProfiles **ppenum)
 

Variables

static const WCHAR szwLngp [] = {'L','a','n','g','u','a','g','e','P','r','o','f','i','l','e',0}
 
static const WCHAR szwEnable [] = {'E','n','a','b','l','e',0}
 
static const WCHAR szwTipfmt [] = {'%','s','\\','%','s',0}
 
static const WCHAR szwFullLangfmt [] = {'%','s','\\','%','s','\\','%','s','\\','0','x','%','0','8','x','\\','%','s',0}
 
static const WCHAR szwAssemblies [] = {'A','s','s','e','m','b','l','i','e','s',0}
 
static const WCHAR szwDefault [] = {'D','e','f','a','u','l','t',0}
 
static const WCHAR szwProfile [] = {'P','r','o','f','i','l','e',0}
 
static const WCHAR szwDefaultFmt [] = {'%','s','\\','%','s','\\','0','x','%','0','8','x','\\','%','s',0}
 
static const IEnumTfInputProcessorProfilesVtbl EnumTfInputProcessorProfilesVtbl
 
static const ITfInputProcessorProfilesVtbl InputProcessorProfilesVtbl
 
static const ITfInputProcessorProfileMgrVtbl InputProcessorProfileMgrVtbl
 
static const ITfSourceVtbl InputProcessorProfilesSourceVtbl
 
static const IEnumGUIDVtbl EnumGUIDVtbl
 
static const IEnumTfLanguageProfilesVtbl EnumTfLanguageProfilesVtbl
 

Macro Definition Documentation

◆ COBJMACROS

#define COBJMACROS

Definition at line 23 of file inputprocessor.c.

Typedef Documentation

◆ EnumTfLanguageProfiles

◆ InputProcessorProfiles

◆ ProfilesEnumGuid

Function Documentation

◆ add_userkey()

static void add_userkey ( REFCLSID  rclsid,
LANGID  langid,
REFGUID  guidProfile 
)
static

Definition at line 219 of file inputprocessor.c.

221 {
222  HKEY key;
223  WCHAR buf[39];
224  WCHAR buf2[39];
225  WCHAR fullkey[168];
226  DWORD disposition = 0;
227  ULONG res;
228 
229  TRACE("\n");
230 
231  StringFromGUID2(rclsid, buf, 39);
232  StringFromGUID2(guidProfile, buf2, 39);
234 
235  res = RegCreateKeyExW(HKEY_CURRENT_USER,fullkey, 0, NULL, 0,
236  KEY_READ | KEY_WRITE, NULL, &key, &disposition);
237 
238  if (!res && disposition == REG_CREATED_NEW_KEY)
239  {
240  DWORD zero = 0x0;
242  }
243 
244  if (!res)
245  RegCloseKey(key);
246 }
const WCHAR szwSystemTIPKey[]
Definition: msctf.c:76
static const WCHAR szwLngp[]
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
#define KEY_READ
Definition: nt_native.h:1023
#define HKEY_CURRENT_USER
Definition: winreg.h:11
static const WCHAR szwFullLangfmt[]
LANGID langid
Definition: msctf.idl:605
LONG WINAPI RegCreateKeyExW(_In_ HKEY hKey, _In_ LPCWSTR lpSubKey, _In_ DWORD Reserved, _In_opt_ LPWSTR lpClass, _In_ DWORD dwOptions, _In_ REGSAM samDesired, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _Out_ PHKEY phkResult, _Out_opt_ LPDWORD lpdwDisposition)
Definition: reg.c:1091
LONG WINAPI RegCloseKey(HKEY hKey)
Definition: reg.c:423
unsigned char * LPBYTE
Definition: typedefs.h:52
smooth NULL
Definition: ftsmooth.c:416
#define REG_CREATED_NEW_KEY
Definition: nt_native.h:1084
#define KEY_WRITE
Definition: nt_native.h:1031
LONG WINAPI RegSetValueExW(_In_ HKEY hKey, _In_ LPCWSTR lpValueName, _In_ DWORD Reserved, _In_ DWORD dwType, _In_ CONST BYTE *lpData, _In_ DWORD cbData)
Definition: reg.c:4895
#define TRACE(s)
Definition: solgame.cpp:4
__wchar_t WCHAR
Definition: xmlstorage.h:180
GUID guidProfile
Definition: msctf.idl:607
#define swprintf(buf, format,...)
Definition: sprintf.c:56
INT WINAPI StringFromGUID2(REFGUID id, LPOLESTR str, INT cmax)
Definition: compobj.c:2434
unsigned long DWORD
Definition: ntddk_ex.h:95
static double zero
Definition: j0_y0.c:96
HKEY key
Definition: reg.c:42
static const WCHAR szwEnable[]
GLuint res
Definition: glext.h:9613
unsigned int ULONG
Definition: retypes.h:1
#define REG_DWORD
Definition: sdbapi.c:596
Definition: path.c:42

Referenced by InputProcessorProfiles_AddLanguageProfile().

◆ EnumTfInputProcessorProfiles_AddRef()

static ULONG WINAPI EnumTfInputProcessorProfiles_AddRef ( IEnumTfInputProcessorProfiles iface)
static

Definition at line 124 of file inputprocessor.c.

125 {
128 
129  TRACE("(%p) ref=%d\n", This, ref);
130 
131  return ref;
132 }
static EnumTfInputProcessorProfiles * impl_from_IEnumTfInputProcessorProfiles(IEnumTfInputProcessorProfiles *iface)
Definition: send.c:47
long LONG
Definition: pedump.c:60
GLenum GLint ref
Definition: glext.h:6028
#define TRACE(s)
Definition: solgame.cpp:4
#define InterlockedIncrement
Definition: armddk.h:53

◆ EnumTfInputProcessorProfiles_Clone()

static HRESULT WINAPI EnumTfInputProcessorProfiles_Clone ( IEnumTfInputProcessorProfiles iface,
IEnumTfInputProcessorProfiles **  ret 
)
static

Definition at line 147 of file inputprocessor.c.

149 {
151  FIXME("(%p)->(%p)\n", This, ret);
152  return E_NOTIMPL;
153 }
static EnumTfInputProcessorProfiles * impl_from_IEnumTfInputProcessorProfiles(IEnumTfInputProcessorProfiles *iface)
#define FIXME(fmt,...)
Definition: debug.h:110
int ret
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ EnumTfInputProcessorProfiles_Next()

static HRESULT WINAPI EnumTfInputProcessorProfiles_Next ( IEnumTfInputProcessorProfiles iface,
ULONG  count,
TF_INPUTPROCESSORPROFILE profile,
ULONG fetch 
)
static

Definition at line 155 of file inputprocessor.c.

157 {
159 
160  FIXME("(%p)->(%u %p %p)\n", This, count, profile, fetch);
161 
162  if(fetch)
163  *fetch = 0;
164  return S_FALSE;
165 }
GLuint GLuint GLsizei count
Definition: gl.h:1545
static EnumTfInputProcessorProfiles * impl_from_IEnumTfInputProcessorProfiles(IEnumTfInputProcessorProfiles *iface)
#define FIXME(fmt,...)
Definition: debug.h:110
#define S_FALSE
Definition: winerror.h:2357
#define profile
Definition: kernel32.h:12

◆ EnumTfInputProcessorProfiles_QueryInterface()

static HRESULT WINAPI EnumTfInputProcessorProfiles_QueryInterface ( IEnumTfInputProcessorProfiles iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 103 of file inputprocessor.c.

105 {
107 
108  if(IsEqualGUID(riid, &IID_IUnknown)) {
109  TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
110  *ppv = &This->IEnumTfInputProcessorProfiles_iface;
111  }else if(IsEqualGUID(riid, &IID_IEnumTfInputProcessorProfiles)) {
112  TRACE("(%p)->(IID_IEnumTfInputProcessorProfiles %p)\n", This, ppv);
113  *ppv = &This->IEnumTfInputProcessorProfiles_iface;
114  }else {
115  *ppv = NULL;
116  WARN("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppv);
117  return E_NOINTERFACE;
118  }
119 
120  IUnknown_AddRef((IUnknown*)*ppv);
121  return S_OK;
122 }
#define E_NOINTERFACE
Definition: winerror.h:2364
REFIID riid
Definition: precomp.h:44
#define WARN(fmt,...)
Definition: debug.h:111
REFIID LPVOID * ppv
Definition: atlbase.h:39
static EnumTfInputProcessorProfiles * impl_from_IEnumTfInputProcessorProfiles(IEnumTfInputProcessorProfiles *iface)
smooth NULL
Definition: ftsmooth.c:416
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
const GUID IID_IUnknown
#define S_OK
Definition: intsafe.h:59
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
Definition: compobj.c:4112

◆ EnumTfInputProcessorProfiles_Release()

static ULONG WINAPI EnumTfInputProcessorProfiles_Release ( IEnumTfInputProcessorProfiles iface)
static

Definition at line 134 of file inputprocessor.c.

135 {
138 
139  TRACE("(%p) ref=%d\n", This, ref);
140 
141  if(!ref)
143 
144  return ref;
145 }
static EnumTfInputProcessorProfiles * impl_from_IEnumTfInputProcessorProfiles(IEnumTfInputProcessorProfiles *iface)
Definition: send.c:47
long LONG
Definition: pedump.c:60
GLenum GLint ref
Definition: glext.h:6028
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:403
#define InterlockedDecrement
Definition: armddk.h:52
#define HeapFree(x, y, z)
Definition: compat.h:402

◆ EnumTfInputProcessorProfiles_Reset()

static HRESULT WINAPI EnumTfInputProcessorProfiles_Reset ( IEnumTfInputProcessorProfiles iface)
static

Definition at line 167 of file inputprocessor.c.

168 {
170  FIXME("(%p)\n", This);
171  return E_NOTIMPL;
172 }
static EnumTfInputProcessorProfiles * impl_from_IEnumTfInputProcessorProfiles(IEnumTfInputProcessorProfiles *iface)
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ EnumTfInputProcessorProfiles_Skip()

static HRESULT WINAPI EnumTfInputProcessorProfiles_Skip ( IEnumTfInputProcessorProfiles iface,
ULONG  count 
)
static

Definition at line 174 of file inputprocessor.c.

175 {
177  FIXME("(%p)->(%u)\n", This, count);
178  return E_NOTIMPL;
179 }
GLuint GLuint GLsizei count
Definition: gl.h:1545
static EnumTfInputProcessorProfiles * impl_from_IEnumTfInputProcessorProfiles(IEnumTfInputProcessorProfiles *iface)
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ EnumTfLanguageProfiles_AddRef()

static ULONG WINAPI EnumTfLanguageProfiles_AddRef ( IEnumTfLanguageProfiles iface)
static

Definition at line 1162 of file inputprocessor.c.

1163 {
1165  return InterlockedIncrement(&This->refCount);
1166 }
static EnumTfLanguageProfiles * impl_from_IEnumTfLanguageProfiles(IEnumTfLanguageProfiles *iface)
#define InterlockedIncrement
Definition: armddk.h:53

◆ EnumTfLanguageProfiles_Clone()

static HRESULT WINAPI EnumTfLanguageProfiles_Clone ( IEnumTfLanguageProfiles iface,
IEnumTfLanguageProfiles **  ppenum 
)
static

Definition at line 1296 of file inputprocessor.c.

1298 {
1300  EnumTfLanguageProfiles *new_This;
1301  HRESULT res;
1302 
1303  TRACE("(%p)\n",This);
1304 
1305  if (ppenum == NULL) return E_POINTER;
1306 
1307  res = EnumTfLanguageProfiles_Constructor(This->langid, &new_This);
1308  if (SUCCEEDED(res))
1309  {
1310  new_This->tip_index = This->tip_index;
1311  lstrcpynW(new_This->szwCurrentClsid,This->szwCurrentClsid,39);
1312 
1313  if (This->langkey)
1314  {
1315  WCHAR fullkey[168];
1316  static const WCHAR fmt[] = {'%','s','\\','%','s','\\','0','x','%','0','8','x',0};
1317 
1318  swprintf(fullkey,fmt,This->szwCurrentClsid,szwLngp,This->langid);
1319  res = RegOpenKeyExW(new_This->tipkey, fullkey, 0, KEY_READ | KEY_WRITE, &This->langkey);
1320  new_This->lang_index = This->lang_index;
1321  }
1322  *ppenum = &new_This->IEnumTfLanguageProfiles_iface;
1323  }
1324  return res;
1325 }
static const WCHAR szwLngp[]
#define KEY_READ
Definition: nt_native.h:1023
#define lstrcpynW
Definition: compat.h:405
static EnumTfLanguageProfiles * impl_from_IEnumTfLanguageProfiles(IEnumTfLanguageProfiles *iface)
smooth NULL
Definition: ftsmooth.c:416
#define KEY_WRITE
Definition: nt_native.h:1031
static HRESULT EnumTfLanguageProfiles_Constructor(LANGID langid, EnumTfLanguageProfiles **out)
#define TRACE(s)
Definition: solgame.cpp:4
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG HRESULT
Definition: typedefs.h:77
#define swprintf(buf, format,...)
Definition: sprintf.c:56
IEnumTfLanguageProfiles IEnumTfLanguageProfiles_iface
GLuint res
Definition: glext.h:9613
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
Definition: reg.c:3366
#define E_POINTER
Definition: winerror.h:2365
Definition: dsound.c:943
#define SUCCEEDED(hr)
Definition: intsafe.h:57

◆ EnumTfLanguageProfiles_Constructor()

static HRESULT EnumTfLanguageProfiles_Constructor ( LANGID  langid,
EnumTfLanguageProfiles **  out 
)
static

Definition at line 1338 of file inputprocessor.c.

1339 {
1340  HRESULT hr;
1342 
1344  if (This == NULL)
1345  return E_OUTOFMEMORY;
1346 
1347  This->IEnumTfLanguageProfiles_iface.lpVtbl= &EnumTfLanguageProfilesVtbl;
1348  This->refCount = 1;
1349  This->langid = langid;
1350 
1351  hr = CategoryMgr_Constructor(NULL,(IUnknown**)&This->catmgr);
1352  if (FAILED(hr))
1353  {
1355  return hr;
1356  }
1357 
1359  KEY_READ | KEY_WRITE, NULL, &This->tipkey, NULL) != ERROR_SUCCESS)
1360  {
1361  HeapFree(GetProcessHeap(), 0, This);
1362  return E_FAIL;
1363  }
1364 
1365  *out = This;
1366  TRACE("returning %p\n", *out);
1367  return S_OK;
1368 }
const WCHAR szwSystemTIPKey[]
Definition: msctf.c:76
#define ERROR_SUCCESS
Definition: deptool.c:10
HRESULT hr
Definition: shlfolder.c:183
#define KEY_READ
Definition: nt_native.h:1023
static const IEnumTfLanguageProfilesVtbl EnumTfLanguageProfilesVtbl
LANGID langid
Definition: msctf.idl:605
#define E_FAIL
Definition: ddrawi.h:102
LONG WINAPI RegCreateKeyExW(_In_ HKEY hKey, _In_ LPCWSTR lpSubKey, _In_ DWORD Reserved, _In_opt_ LPWSTR lpClass, _In_ DWORD dwOptions, _In_ REGSAM samDesired, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _Out_ PHKEY phkResult, _Out_opt_ LPDWORD lpdwDisposition)
Definition: reg.c:1091
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
smooth NULL
Definition: ftsmooth.c:416
#define KEY_WRITE
Definition: nt_native.h:1031
HRESULT CategoryMgr_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut)
Definition: categorymgr.c:413
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:403
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
LONG HRESULT
Definition: typedefs.h:77
static FILE * out
Definition: regtests2xml.c:44
#define S_OK
Definition: intsafe.h:59
#define HEAP_ZERO_MEMORY
Definition: compat.h:123
#define HeapFree(x, y, z)
Definition: compat.h:402
#define HKEY_LOCAL_MACHINE
Definition: winreg.h:12

Referenced by EnumTfLanguageProfiles_Clone(), and InputProcessorProfiles_EnumLanguageProfiles().

◆ EnumTfLanguageProfiles_Destructor()

static void EnumTfLanguageProfiles_Destructor ( EnumTfLanguageProfiles This)
static

Definition at line 1131 of file inputprocessor.c.

1132 {
1133  TRACE("destroying %p\n", This);
1134  RegCloseKey(This->tipkey);
1135  if (This->langkey)
1136  RegCloseKey(This->langkey);
1137  ITfCategoryMgr_Release(This->catmgr);
1139 }
LONG WINAPI RegCloseKey(HKEY hKey)
Definition: reg.c:423
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:403
#define HeapFree(x, y, z)
Definition: compat.h:402

Referenced by EnumTfLanguageProfiles_Release().

◆ EnumTfLanguageProfiles_Next()

static HRESULT WINAPI EnumTfLanguageProfiles_Next ( IEnumTfLanguageProfiles iface,
ULONG  ulCount,
TF_LANGUAGEPROFILE pProfile,
ULONG pcFetch 
)
static

Definition at line 1234 of file inputprocessor.c.

1236 {
1238  ULONG fetched = 0;
1239 
1240  TRACE("(%p)\n",This);
1241 
1242  if (pProfile == NULL) return E_POINTER;
1243 
1244  if (This->tipkey) while (fetched < ulCount)
1245  {
1246  LSTATUS res;
1247  HRESULT hr;
1248  DWORD cName = 39;
1249  GUID clsid;
1250 
1251  res = RegEnumKeyExW(This->tipkey, This->tip_index,
1252  This->szwCurrentClsid, &cName, NULL, NULL, NULL, NULL);
1253  if (res != ERROR_SUCCESS && res != ERROR_MORE_DATA) break;
1254  ++(This->tip_index);
1255  hr = CLSIDFromString(This->szwCurrentClsid, &clsid);
1256  if (FAILED(hr)) continue;
1257 
1258  while ( fetched < ulCount)
1259  {
1260  INT res = next_LanguageProfile(This, clsid, pProfile);
1261  if (res == 1)
1262  {
1263  ++fetched;
1264  ++pProfile;
1265  }
1266  else if (res == -1)
1267  break;
1268  else
1269  continue;
1270  }
1271  }
1272 
1273  if (pcFetch) *pcFetch = fetched;
1274  return fetched == ulCount ? S_OK : S_FALSE;
1275 }
#define ERROR_SUCCESS
Definition: deptool.c:10
HRESULT hr
Definition: shlfolder.c:183
int32_t INT
Definition: typedefs.h:56
static EnumTfLanguageProfiles * impl_from_IEnumTfLanguageProfiles(IEnumTfLanguageProfiles *iface)
#define S_FALSE
Definition: winerror.h:2357
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:77
unsigned long DWORD
Definition: ntddk_ex.h:95
static LSTATUS(WINAPI *pRegDeleteTreeW)(HKEY
REFCLSID clsid
Definition: msctf.c:82
#define ERROR_MORE_DATA
Definition: dderror.h:13
#define S_OK
Definition: intsafe.h:59
GLuint res
Definition: glext.h:9613
HRESULT WINAPI CLSIDFromString(LPCOLESTR idstr, LPCLSID id)
Definition: compobj.c:2338
unsigned int ULONG
Definition: retypes.h:1
static INT next_LanguageProfile(EnumTfLanguageProfiles *This, CLSID clsid, TF_LANGUAGEPROFILE *tflp)
LONG WINAPI RegEnumKeyExW(_In_ HKEY hKey, _In_ DWORD dwIndex, _Out_ LPWSTR lpName, _Inout_ LPDWORD lpcbName, _Reserved_ LPDWORD lpReserved, _Out_opt_ LPWSTR lpClass, _Inout_opt_ LPDWORD lpcbClass, _Out_opt_ PFILETIME lpftLastWriteTime)
Definition: reg.c:2527
#define E_POINTER
Definition: winerror.h:2365

◆ EnumTfLanguageProfiles_QueryInterface()

static HRESULT WINAPI EnumTfLanguageProfiles_QueryInterface ( IEnumTfLanguageProfiles iface,
REFIID  iid,
LPVOID ppvOut 
)
static

Definition at line 1141 of file inputprocessor.c.

1142 {
1144 
1145  *ppvOut = NULL;
1146 
1147  if (IsEqualIID(iid, &IID_IUnknown) || IsEqualIID(iid, &IID_IEnumTfLanguageProfiles))
1148  {
1149  *ppvOut = &This->IEnumTfLanguageProfiles_iface;
1150  }
1151 
1152  if (*ppvOut)
1153  {
1154  IEnumTfLanguageProfiles_AddRef(iface);
1155  return S_OK;
1156  }
1157 
1158  WARN("unsupported interface: %s\n", debugstr_guid(iid));
1159  return E_NOINTERFACE;
1160 }
#define E_NOINTERFACE
Definition: winerror.h:2364
#define WARN(fmt,...)
Definition: debug.h:111
static EnumTfLanguageProfiles * impl_from_IEnumTfLanguageProfiles(IEnumTfLanguageProfiles *iface)
smooth NULL
Definition: ftsmooth.c:416
#define debugstr_guid
Definition: kernel32.h:35
const GUID IID_IUnknown
#define S_OK
Definition: intsafe.h:59
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95

◆ EnumTfLanguageProfiles_Release()

static ULONG WINAPI EnumTfLanguageProfiles_Release ( IEnumTfLanguageProfiles iface)
static

Definition at line 1168 of file inputprocessor.c.

1169 {
1171  ULONG ret;
1172 
1173  ret = InterlockedDecrement(&This->refCount);
1174  if (ret == 0)
1176  return ret;
1177 }
static EnumTfLanguageProfiles * impl_from_IEnumTfLanguageProfiles(IEnumTfLanguageProfiles *iface)
static void EnumTfLanguageProfiles_Destructor(EnumTfLanguageProfiles *This)
int ret
#define InterlockedDecrement
Definition: armddk.h:52
unsigned int ULONG
Definition: retypes.h:1

◆ EnumTfLanguageProfiles_Reset()

static HRESULT WINAPI EnumTfLanguageProfiles_Reset ( IEnumTfLanguageProfiles iface)
static

Definition at line 1284 of file inputprocessor.c.

1285 {
1287  TRACE("(%p)\n",This);
1288  This->tip_index = 0;
1289  if (This->langkey)
1290  RegCloseKey(This->langkey);
1291  This->langkey = NULL;
1292  This->lang_index = 0;
1293  return S_OK;
1294 }
static EnumTfLanguageProfiles * impl_from_IEnumTfLanguageProfiles(IEnumTfLanguageProfiles *iface)
LONG WINAPI RegCloseKey(HKEY hKey)
Definition: reg.c:423
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
#define S_OK
Definition: intsafe.h:59

◆ EnumTfLanguageProfiles_Skip()

static HRESULT WINAPI EnumTfLanguageProfiles_Skip ( IEnumTfLanguageProfiles iface,
ULONG  celt 
)
static

Definition at line 1277 of file inputprocessor.c.

1278 {
1280  FIXME("STUB (%p)\n",This);
1281  return E_NOTIMPL;
1282 }
static EnumTfLanguageProfiles * impl_from_IEnumTfLanguageProfiles(IEnumTfLanguageProfiles *iface)
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ impl_from_IEnumGUID()

static ProfilesEnumGuid* impl_from_IEnumGUID ( IEnumGUID iface)
inlinestatic

Definition at line 201 of file inputprocessor.c.

202 {
203  return CONTAINING_RECORD(iface, ProfilesEnumGuid, IEnumGUID_iface);
204 }
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560

Referenced by ProfilesEnumGuid_AddRef(), ProfilesEnumGuid_Clone(), ProfilesEnumGuid_Next(), ProfilesEnumGuid_QueryInterface(), ProfilesEnumGuid_Release(), ProfilesEnumGuid_Reset(), and ProfilesEnumGuid_Skip().

◆ impl_from_IEnumTfInputProcessorProfiles()

static EnumTfInputProcessorProfiles* impl_from_IEnumTfInputProcessorProfiles ( IEnumTfInputProcessorProfiles iface)
inlinestatic

Definition at line 98 of file inputprocessor.c.

99 {
100  return CONTAINING_RECORD(iface, EnumTfInputProcessorProfiles, IEnumTfInputProcessorProfiles_iface);
101 }
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560

Referenced by EnumTfInputProcessorProfiles_AddRef(), EnumTfInputProcessorProfiles_Clone(), EnumTfInputProcessorProfiles_Next(), EnumTfInputProcessorProfiles_QueryInterface(), EnumTfInputProcessorProfiles_Release(), EnumTfInputProcessorProfiles_Reset(), and EnumTfInputProcessorProfiles_Skip().

◆ impl_from_IEnumTfLanguageProfiles()

static EnumTfLanguageProfiles* impl_from_IEnumTfLanguageProfiles ( IEnumTfLanguageProfiles iface)
inlinestatic

Definition at line 206 of file inputprocessor.c.

207 {
208  return CONTAINING_RECORD(iface, EnumTfLanguageProfiles, IEnumTfLanguageProfiles_iface);
209 }
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560

Referenced by EnumTfLanguageProfiles_AddRef(), EnumTfLanguageProfiles_Clone(), EnumTfLanguageProfiles_Next(), EnumTfLanguageProfiles_QueryInterface(), EnumTfLanguageProfiles_Release(), EnumTfLanguageProfiles_Reset(), and EnumTfLanguageProfiles_Skip().

◆ impl_from_ITfInputProcessorProfileMgr()

static InputProcessorProfiles* impl_from_ITfInputProcessorProfileMgr ( ITfInputProcessorProfileMgr *  iface)
inlinestatic

◆ impl_from_ITfInputProcessorProfiles()

static InputProcessorProfiles* impl_from_ITfInputProcessorProfiles ( ITfInputProcessorProfiles *  iface)
inlinestatic

◆ impl_from_ITfSource()

static InputProcessorProfiles* impl_from_ITfSource ( ITfSource iface)
inlinestatic

Definition at line 196 of file inputprocessor.c.

197 {
198  return CONTAINING_RECORD(iface, InputProcessorProfiles, ITfSource_iface);
199 }
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560

Referenced by IPPSource_AddRef(), IPPSource_AdviseSink(), IPPSource_QueryInterface(), IPPSource_Release(), and IPPSource_UnadviseSink().

◆ InputProcessorProfileMgr_ActivateProfile()

static HRESULT WINAPI InputProcessorProfileMgr_ActivateProfile ( ITfInputProcessorProfileMgr *  iface,
DWORD  dwProfileType,
LANGID  langid,
REFCLSID  clsid,
REFGUID  guidProfile,
HKL  hkl,
DWORD  dwFlags 
)
static

Definition at line 796 of file inputprocessor.c.

798 {
800  FIXME("(%p)->(%d %x %s %s %p %x)\n", This, dwProfileType, langid, debugstr_guid(clsid),
802  return E_NOTIMPL;
803 }
static InputProcessorProfiles * impl_from_ITfInputProcessorProfileMgr(ITfInputProcessorProfileMgr *iface)
LANGID langid
Definition: msctf.idl:605
#define FIXME(fmt,...)
Definition: debug.h:110
#define debugstr_guid
Definition: kernel32.h:35
GUID guidProfile
Definition: msctf.idl:607
REFCLSID clsid
Definition: msctf.c:82
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1175
HKL hkl
Definition: msctf.idl:611
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ InputProcessorProfileMgr_AddRef()

static ULONG WINAPI InputProcessorProfileMgr_AddRef ( ITfInputProcessorProfileMgr *  iface)
static

Definition at line 784 of file inputprocessor.c.

785 {
787  return ITfInputProcessorProfiles_AddRef(&This->ITfInputProcessorProfiles_iface);
788 }
static InputProcessorProfiles * impl_from_ITfInputProcessorProfileMgr(ITfInputProcessorProfileMgr *iface)

◆ InputProcessorProfileMgr_DeactivateProfile()

static HRESULT WINAPI InputProcessorProfileMgr_DeactivateProfile ( ITfInputProcessorProfileMgr *  iface,
DWORD  dwProfileType,
LANGID  langid,
REFCLSID  clsid,
REFGUID  guidProfile,
HKL  hkl,
DWORD  dwFlags 
)
static

Definition at line 805 of file inputprocessor.c.

807 {
809  FIXME("(%p)->(%d %x %s %s %p %x)\n", This, dwProfileType, langid, debugstr_guid(clsid),
811  return E_NOTIMPL;
812 }
static InputProcessorProfiles * impl_from_ITfInputProcessorProfileMgr(ITfInputProcessorProfileMgr *iface)
LANGID langid
Definition: msctf.idl:605
#define FIXME(fmt,...)
Definition: debug.h:110
#define debugstr_guid
Definition: kernel32.h:35
GUID guidProfile
Definition: msctf.idl:607
REFCLSID clsid
Definition: msctf.c:82
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1175
HKL hkl
Definition: msctf.idl:611
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ InputProcessorProfileMgr_EnumProfiles()

static HRESULT WINAPI InputProcessorProfileMgr_EnumProfiles ( ITfInputProcessorProfileMgr *  iface,
LANGID  langid,
IEnumTfInputProcessorProfiles **  ppEnum 
)
static

Definition at line 823 of file inputprocessor.c.

825 {
827  EnumTfInputProcessorProfiles *enum_profiles;
828 
829  TRACE("(%p)->(%x %p)\n", This, langid, ppEnum);
830 
831  enum_profiles = HeapAlloc(GetProcessHeap(), 0, sizeof(*enum_profiles));
832  if(!enum_profiles)
833  return E_OUTOFMEMORY;
834 
836  enum_profiles->ref = 1;
837 
838  *ppEnum = &enum_profiles->IEnumTfInputProcessorProfiles_iface;
839  return S_OK;
840 }
static InputProcessorProfiles * impl_from_ITfInputProcessorProfileMgr(ITfInputProcessorProfileMgr *iface)
LANGID langid
Definition: msctf.idl:605
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
IEnumTfInputProcessorProfiles IEnumTfInputProcessorProfiles_iface
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:403
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
static const IEnumTfInputProcessorProfilesVtbl EnumTfInputProcessorProfilesVtbl
#define S_OK
Definition: intsafe.h:59

◆ InputProcessorProfileMgr_GetActiveProfile()

static HRESULT WINAPI InputProcessorProfileMgr_GetActiveProfile ( ITfInputProcessorProfileMgr *  iface,
REFGUID  catid,
TF_INPUTPROCESSORPROFILE pProfile 
)
static

Definition at line 870 of file inputprocessor.c.

872 {
874  FIXME("(%p)->(%s %p)\n", This, debugstr_guid(catid), pProfile);
875  return E_NOTIMPL;
876 }
static InputProcessorProfiles * impl_from_ITfInputProcessorProfileMgr(ITfInputProcessorProfileMgr *iface)
#define FIXME(fmt,...)
Definition: debug.h:110
GUID catid
Definition: msctf.idl:608
#define debugstr_guid
Definition: kernel32.h:35
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ InputProcessorProfileMgr_GetProfile()

static HRESULT WINAPI InputProcessorProfileMgr_GetProfile ( ITfInputProcessorProfileMgr *  iface,
DWORD  dwProfileType,
LANGID  langid,
REFCLSID  clsid,
REFGUID  guidProfile,
HKL  hkl,
TF_INPUTPROCESSORPROFILE pProfile 
)
static

Definition at line 814 of file inputprocessor.c.

816 {
818  FIXME("(%p)->(%d %x %s %s %p %p)\n", This, dwProfileType, langid, debugstr_guid(clsid),
819  debugstr_guid(guidProfile), hkl, pProfile);
820  return E_NOTIMPL;
821 }
static InputProcessorProfiles * impl_from_ITfInputProcessorProfileMgr(ITfInputProcessorProfileMgr *iface)
LANGID langid
Definition: msctf.idl:605
#define FIXME(fmt,...)
Definition: debug.h:110
#define debugstr_guid
Definition: kernel32.h:35
GUID guidProfile
Definition: msctf.idl:607
REFCLSID clsid
Definition: msctf.c:82
HKL hkl
Definition: msctf.idl:611
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ InputProcessorProfileMgr_QueryInterface()

static HRESULT WINAPI InputProcessorProfileMgr_QueryInterface ( ITfInputProcessorProfileMgr *  iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 778 of file inputprocessor.c.

779 {
781  return ITfInputProcessorProfiles_QueryInterface(&This->ITfInputProcessorProfiles_iface, riid, ppv);
782 }
REFIID riid
Definition: precomp.h:44
REFIID LPVOID * ppv
Definition: atlbase.h:39
static InputProcessorProfiles * impl_from_ITfInputProcessorProfileMgr(ITfInputProcessorProfileMgr *iface)

◆ InputProcessorProfileMgr_RegisterProfile()

static HRESULT WINAPI InputProcessorProfileMgr_RegisterProfile ( ITfInputProcessorProfileMgr *  iface,
REFCLSID  rclsid,
LANGID  langid,
REFGUID  guidProfile,
const WCHAR pchDesc,
ULONG  cchDesc,
const WCHAR pchIconFile,
ULONG  cchFile,
ULONG  uIconIndex,
HKL  hklsubstitute,
DWORD  dwPreferredLayout,
BOOL  bEnabledByDefault,
DWORD  dwFlags 
)
static

Definition at line 850 of file inputprocessor.c.

854 {
856  FIXME("(%p)->(%s %x %s %s %d %s %u %u %p %x %x %x)\n", This, debugstr_guid(rclsid), langid, debugstr_guid(guidProfile),
857  debugstr_w(pchDesc), cchDesc, debugstr_w(pchIconFile), cchFile, uIconIndex, hklsubstitute, dwPreferredLayout,
858  bEnabledByDefault, dwFlags);
859  return E_NOTIMPL;
860 }
static InputProcessorProfiles * impl_from_ITfInputProcessorProfileMgr(ITfInputProcessorProfileMgr *iface)
LANGID langid
Definition: msctf.idl:605
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110
#define debugstr_guid
Definition: kernel32.h:35
GUID guidProfile
Definition: msctf.idl:607
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1175
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ InputProcessorProfileMgr_Release()

static ULONG WINAPI InputProcessorProfileMgr_Release ( ITfInputProcessorProfileMgr *  iface)
static

Definition at line 790 of file inputprocessor.c.

791 {
793  return ITfInputProcessorProfiles_Release(&This->ITfInputProcessorProfiles_iface);
794 }
static InputProcessorProfiles * impl_from_ITfInputProcessorProfileMgr(ITfInputProcessorProfileMgr *iface)

◆ InputProcessorProfileMgr_ReleaseInputProcessor()

static HRESULT WINAPI InputProcessorProfileMgr_ReleaseInputProcessor ( ITfInputProcessorProfileMgr *  iface,
REFCLSID  rclsid,
DWORD  dwFlags 
)
static

Definition at line 842 of file inputprocessor.c.

844 {
846  FIXME("(%p)->(%s %x)\n", This, debugstr_guid(rclsid), dwFlags);
847  return E_NOTIMPL;
848 }
static InputProcessorProfiles * impl_from_ITfInputProcessorProfileMgr(ITfInputProcessorProfileMgr *iface)
#define FIXME(fmt,...)
Definition: debug.h:110
#define debugstr_guid
Definition: kernel32.h:35
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1175
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ InputProcessorProfileMgr_UnregisterProfile()

static HRESULT WINAPI InputProcessorProfileMgr_UnregisterProfile ( ITfInputProcessorProfileMgr *  iface,
REFCLSID  rclsid,
LANGID  langid,
REFGUID  guidProfile,
DWORD  dwFlags 
)
static

Definition at line 862 of file inputprocessor.c.

864 {
866  FIXME("(%p)->(%s %x %s %x)\n", This, debugstr_guid(rclsid), langid, debugstr_guid(guidProfile), dwFlags);
867  return E_NOTIMPL;
868 }
static InputProcessorProfiles * impl_from_ITfInputProcessorProfileMgr(ITfInputProcessorProfileMgr *iface)
LANGID langid
Definition: msctf.idl:605
#define FIXME(fmt,...)
Definition: debug.h:110
#define debugstr_guid
Definition: kernel32.h:35
GUID guidProfile
Definition: msctf.idl:607
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1175
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ InputProcessorProfiles_ActivateLanguageProfile()

static HRESULT WINAPI InputProcessorProfiles_ActivateLanguageProfile ( ITfInputProcessorProfiles *  iface,
REFCLSID  rclsid,
LANGID  langid,
REFGUID  guidProfiles 
)
static

Definition at line 498 of file inputprocessor.c.

501 {
503  HRESULT hr;
504  BOOL enabled;
505  TF_LANGUAGEPROFILE LanguageProfile;
506 
507  TRACE("(%p) %s %x %s\n",This,debugstr_guid(rclsid),langid,debugstr_guid(guidProfiles));
508 
509  if (langid != This->currentLanguage) return E_INVALIDARG;
510 
511  if (get_active_textservice(rclsid,NULL))
512  {
513  TRACE("Already Active\n");
514  return E_FAIL;
515  }
516 
517  hr = ITfInputProcessorProfiles_IsEnabledLanguageProfile(iface, rclsid,
518  langid, guidProfiles, &enabled);
519  if (FAILED(hr) || !enabled)
520  {
521  TRACE("Not Enabled\n");
522  return E_FAIL;
523  }
524 
525  LanguageProfile.clsid = *rclsid;
526  LanguageProfile.langid = langid;
527  LanguageProfile.guidProfile = *guidProfiles;
528  LanguageProfile.fActive = TRUE;
529 
530  return add_active_textservice(&LanguageProfile);
531 }
HRESULT add_active_textservice(TF_LANGUAGEPROFILE *lp)
Definition: msctf.c:395
#define TRUE
Definition: types.h:120
HRESULT hr
Definition: shlfolder.c:183
LANGID langid
Definition: msctf.idl:605
#define E_FAIL
Definition: ddrawi.h:102
GLenum GLenum GLsizei const GLuint GLboolean enabled
Definition: glext.h:7750
unsigned int BOOL
Definition: ntddk_ex.h:94
#define E_INVALIDARG
Definition: ddrawi.h:101
smooth NULL
Definition: ftsmooth.c:416
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:77
static InputProcessorProfiles * impl_from_ITfInputProcessorProfiles(ITfInputProcessorProfiles *iface)
BOOL get_active_textservice(REFCLSID rclsid, TF_LANGUAGEPROFILE *profile)
Definition: msctf.c:459

◆ InputProcessorProfiles_AddLanguageProfile()

static HRESULT WINAPI InputProcessorProfiles_AddLanguageProfile ( ITfInputProcessorProfiles *  iface,
REFCLSID  rclsid,
LANGID  langid,
REFGUID  guidProfile,
const WCHAR pchDesc,
ULONG  cchDesc,
const WCHAR pchIconFile,
ULONG  cchFile,
ULONG  uIconIndex 
)
static

Definition at line 335 of file inputprocessor.c.

340 {
342  HKEY tipkey,fmtkey;
343  WCHAR buf[39];
344  WCHAR fullkey[100];
345  ULONG res;
346  DWORD disposition = 0;
347 
348  static const WCHAR fmt2[] = {'%','s','\\','0','x','%','0','8','x','\\','%','s',0};
349  static const WCHAR desc[] = {'D','e','s','c','r','i','p','t','i','o','n',0};
350  static const WCHAR icnf[] = {'I','c','o','n','F','i','l','e',0};
351  static const WCHAR icni[] = {'I','c','o','n','I','n','d','e','x',0};
352 
353  TRACE("(%p) %s %x %s %s %s %i\n",This,debugstr_guid(rclsid), langid,
354  debugstr_guid(guidProfile), debugstr_wn(pchDesc,cchDesc),
355  debugstr_wn(pchIconFile,cchFile),uIconIndex);
356 
357  StringFromGUID2(rclsid, buf, 39);
359 
361  &tipkey ) != ERROR_SUCCESS)
362  return E_FAIL;
363 
365  swprintf(fullkey,fmt2,szwLngp,langid,buf);
366 
367  res = RegCreateKeyExW(tipkey,fullkey, 0, NULL, 0, KEY_READ | KEY_WRITE,
368  NULL, &fmtkey, &disposition);
369 
370  if (!res)
371  {
372  DWORD zero = 0x0;
373  RegSetValueExW(fmtkey, desc, 0, REG_SZ, (const BYTE*)pchDesc, cchDesc * sizeof(WCHAR));
374  RegSetValueExW(fmtkey, icnf, 0, REG_SZ, (const BYTE*)pchIconFile, cchFile * sizeof(WCHAR));
375  RegSetValueExW(fmtkey, icni, 0, REG_DWORD, (LPBYTE)&uIconIndex, sizeof(DWORD));
376  if (disposition == REG_CREATED_NEW_KEY)
377  RegSetValueExW(fmtkey, szwEnable, 0, REG_DWORD, (LPBYTE)&zero, sizeof(DWORD));
378  RegCloseKey(fmtkey);
379 
380  add_userkey(rclsid, langid, guidProfile);
381  }
382  RegCloseKey(tipkey);
383 
384  if (!res)
385  return S_OK;
386  else
387  return E_FAIL;
388 }
const WCHAR szwSystemTIPKey[]
Definition: msctf.c:76
static const WCHAR szwTipfmt[]
static const WCHAR szwLngp[]
#define ERROR_SUCCESS
Definition: deptool.c:10
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
#define KEY_READ
Definition: nt_native.h:1023
LANGID langid
Definition: msctf.idl:605
#define E_FAIL
Definition: ddrawi.h:102
LONG WINAPI RegCreateKeyExW(_In_ HKEY hKey, _In_ LPCWSTR lpSubKey, _In_ DWORD Reserved, _In_opt_ LPWSTR lpClass, _In_ DWORD dwOptions, _In_ REGSAM samDesired, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _Out_ PHKEY phkResult, _Out_opt_ LPDWORD lpdwDisposition)
Definition: reg.c:1091
LONG WINAPI RegCloseKey(HKEY hKey)
Definition: reg.c:423
unsigned char * LPBYTE
Definition: typedefs.h:52
static const WCHAR desc[]
Definition: protectdata.c:36
smooth NULL
Definition: ftsmooth.c:416
#define REG_CREATED_NEW_KEY
Definition: nt_native.h:1084
#define debugstr_guid
Definition: kernel32.h:35
#define KEY_WRITE
Definition: nt_native.h:1031
LONG WINAPI RegSetValueExW(_In_ HKEY hKey, _In_ LPCWSTR lpValueName, _In_ DWORD Reserved, _In_ DWORD dwType, _In_ CONST BYTE *lpData, _In_ DWORD cbData)
Definition: reg.c:4895
#define TRACE(s)
Definition: solgame.cpp:4
__wchar_t WCHAR
Definition: xmlstorage.h:180
GUID guidProfile
Definition: msctf.idl:607
#define swprintf(buf, format,...)
Definition: sprintf.c:56
INT WINAPI StringFromGUID2(REFGUID id, LPOLESTR str, INT cmax)
Definition: compobj.c:2434
unsigned long DWORD
Definition: ntddk_ex.h:95
static double zero
Definition: j0_y0.c:96
unsigned char BYTE
Definition: mem.h:68
static InputProcessorProfiles * impl_from_ITfInputProcessorProfiles(ITfInputProcessorProfiles *iface)
#define debugstr_wn
Definition: kernel32.h:33
#define S_OK
Definition: intsafe.h:59
static const WCHAR szwEnable[]
GLuint res
Definition: glext.h:9613
unsigned int ULONG
Definition: retypes.h:1
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
Definition: reg.c:3366
static void add_userkey(REFCLSID rclsid, LANGID langid, REFGUID guidProfile)
#define REG_DWORD
Definition: sdbapi.c:596
#define HKEY_LOCAL_MACHINE
Definition: winreg.h:12
#define REG_SZ
Definition: layer.c:22

◆ InputProcessorProfiles_AddRef()

static ULONG WINAPI InputProcessorProfiles_AddRef ( ITfInputProcessorProfiles *  iface)
static

Definition at line 275 of file inputprocessor.c.

276 {
278  return InterlockedIncrement(&This->refCount);
279 }
static InputProcessorProfiles * impl_from_ITfInputProcessorProfiles(ITfInputProcessorProfiles *iface)
#define InterlockedIncrement
Definition: armddk.h:53

◆ InputProcessorProfiles_ChangeCurrentLanguage()

static HRESULT WINAPI InputProcessorProfiles_ChangeCurrentLanguage ( ITfInputProcessorProfiles *  iface,
LANGID  langid 
)
static

Definition at line 581 of file inputprocessor.c.

583 {
586  struct list *cursor;
587  BOOL accept;
588 
589  FIXME("STUB:(%p)\n",This);
590 
591  SINK_FOR_EACH(cursor, &This->LanguageProfileNotifySink, ITfLanguageProfileNotifySink, sink)
592  {
593  accept = TRUE;
594  ITfLanguageProfileNotifySink_OnLanguageChange(sink, langid, &accept);
595  if (!accept)
596  return E_FAIL;
597  }
598 
599  /* TODO: On successful language change call OnLanguageChanged sink */
600  return E_NOTIMPL;
601 }
#define TRUE
Definition: types.h:120
#define SINK_FOR_EACH(cursor, list, type, elem)
LANGID langid
Definition: msctf.idl:605
#define E_FAIL
Definition: ddrawi.h:102
GLsizei GLenum GLboolean sink
Definition: glext.h:5672
unsigned int BOOL
Definition: ntddk_ex.h:94
#define FIXME(fmt,...)
Definition: debug.h:110
Definition: _list.h:228
static InputProcessorProfiles * impl_from_ITfInputProcessorProfiles(ITfInputProcessorProfiles *iface)
SOCKET WSAAPI accept(IN SOCKET s, OUT LPSOCKADDR addr, OUT INT FAR *addrlen)
Definition: socklife.c:23
const char cursor[]
Definition: icontest.c:13
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ InputProcessorProfiles_Constructor()

HRESULT InputProcessorProfiles_Constructor ( IUnknown pUnkOuter,
IUnknown **  ppOut 
)

Definition at line 952 of file inputprocessor.c.

953 {
955  if (pUnkOuter)
956  return CLASS_E_NOAGGREGATION;
957 
959  if (This == NULL)
960  return E_OUTOFMEMORY;
961 
962  This->ITfInputProcessorProfiles_iface.lpVtbl= &InputProcessorProfilesVtbl;
963  This->ITfSource_iface.lpVtbl = &InputProcessorProfilesSourceVtbl;
964  This->ITfInputProcessorProfileMgr_iface.lpVtbl = &InputProcessorProfileMgrVtbl;
965  This->refCount = 1;
966  This->currentLanguage = GetUserDefaultLCID();
967 
968  list_init(&This->LanguageProfileNotifySink);
969 
970  *ppOut = (IUnknown *)&This->ITfInputProcessorProfiles_iface;
971  TRACE("returning %p\n", *ppOut);
972  return S_OK;
973 }
LCID WINAPI GetUserDefaultLCID(void)
Definition: lang.c:768
static const ITfSourceVtbl InputProcessorProfilesSourceVtbl
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:403
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
#define CLASS_E_NOAGGREGATION
Definition: winerror.h:2662
#define S_OK
Definition: intsafe.h:59
static const ITfInputProcessorProfilesVtbl InputProcessorProfilesVtbl
#define HEAP_ZERO_MEMORY
Definition: compat.h:123
__WINE_SERVER_LIST_INLINE void list_init(struct list *list)
Definition: list.h:149
static const ITfInputProcessorProfileMgrVtbl InputProcessorProfileMgrVtbl

Referenced by TF_CreateInputProcessorProfiles().

◆ InputProcessorProfiles_Destructor()

static void InputProcessorProfiles_Destructor ( InputProcessorProfiles This)
static

Definition at line 211 of file inputprocessor.c.

212 {
213  TRACE("destroying %p\n", This);
214 
215  free_sinks(&This->LanguageProfileNotifySink);
217 }
void free_sinks(struct list *sink_list)
Definition: msctf.c:324
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:403
#define HeapFree(x, y, z)
Definition: compat.h:402

Referenced by InputProcessorProfiles_Release().

◆ InputProcessorProfiles_EnableLanguageProfile()

static HRESULT WINAPI InputProcessorProfiles_EnableLanguageProfile ( ITfInputProcessorProfiles *  iface,
REFCLSID  rclsid,
LANGID  langid,
REFGUID  guidProfile,
BOOL  fEnable 
)
static

Definition at line 632 of file inputprocessor.c.

635 {
637  HKEY key;
638  WCHAR buf[39];
639  WCHAR buf2[39];
640  WCHAR fullkey[168];
641  ULONG res;
642 
643  TRACE("(%p) %s %x %s %i\n",This, debugstr_guid(rclsid), langid, debugstr_guid(guidProfile), fEnable);
644 
645  StringFromGUID2(rclsid, buf, 39);
646  StringFromGUID2(guidProfile, buf2, 39);
648 
650 
651  if (!res)
652  {
653  RegSetValueExW(key, szwEnable, 0, REG_DWORD, (LPBYTE)&fEnable, sizeof(DWORD));
654  RegCloseKey(key);
655  }
656  else
657  return E_FAIL;
658 
659  return S_OK;
660 }
const WCHAR szwSystemTIPKey[]
Definition: msctf.c:76
static const WCHAR szwLngp[]
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
#define KEY_READ
Definition: nt_native.h:1023
#define HKEY_CURRENT_USER
Definition: winreg.h:11
static const WCHAR szwFullLangfmt[]
LANGID langid
Definition: msctf.idl:605
#define E_FAIL
Definition: ddrawi.h:102
LONG WINAPI RegCloseKey(HKEY hKey)
Definition: reg.c:423
unsigned char * LPBYTE
Definition: typedefs.h:52
#define debugstr_guid
Definition: kernel32.h:35
#define KEY_WRITE
Definition: nt_native.h:1031
LONG WINAPI RegSetValueExW(_In_ HKEY hKey, _In_ LPCWSTR lpValueName, _In_ DWORD Reserved, _In_ DWORD dwType, _In_ CONST BYTE *lpData, _In_ DWORD cbData)
Definition: reg.c:4895
#define TRACE(s)
Definition: solgame.cpp:4
__wchar_t WCHAR
Definition: xmlstorage.h:180
GUID guidProfile
Definition: msctf.idl:607
#define swprintf(buf, format,...)
Definition: sprintf.c:56
INT WINAPI StringFromGUID2(REFGUID id, LPOLESTR str, INT cmax)
Definition: compobj.c:2434
unsigned long DWORD
Definition: ntddk_ex.h:95
HKEY key
Definition: reg.c:42
static InputProcessorProfiles * impl_from_ITfInputProcessorProfiles(ITfInputProcessorProfiles *iface)
#define S_OK
Definition: intsafe.h:59
static const WCHAR szwEnable[]
GLuint res
Definition: glext.h:9613
unsigned int ULONG
Definition: retypes.h:1
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
Definition: reg.c:3366
#define REG_DWORD
Definition: sdbapi.c:596
Definition: path.c:42

◆ InputProcessorProfiles_EnableLanguageProfileByDefault()

static HRESULT WINAPI InputProcessorProfiles_EnableLanguageProfileByDefault ( ITfInputProcessorProfiles *  iface,
REFCLSID  rclsid,
LANGID  langid,
REFGUID  guidProfile,
BOOL  fEnable 
)
static

Definition at line 709 of file inputprocessor.c.

712 {
714  HKEY key;
715  WCHAR buf[39];
716  WCHAR buf2[39];
717  WCHAR fullkey[168];
718  ULONG res;
719 
720  TRACE("(%p) %s %x %s %i\n",This,debugstr_guid(rclsid),langid,debugstr_guid(guidProfile),fEnable);
721 
722  StringFromGUID2(rclsid, buf, 39);
723  StringFromGUID2(guidProfile, buf2, 39);
725 
727 
728  if (!res)
729  {
730  RegSetValueExW(key, szwEnable, 0, REG_DWORD, (LPBYTE)&fEnable, sizeof(DWORD));
731  RegCloseKey(key);
732  }
733  else
734  return E_FAIL;
735 
736  return S_OK;
737 }
const WCHAR szwSystemTIPKey[]
Definition: msctf.c:76
static const WCHAR szwLngp[]
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
#define KEY_READ
Definition: nt_native.h:1023
static const WCHAR szwFullLangfmt[]
LANGID langid
Definition: msctf.idl:605
#define E_FAIL
Definition: ddrawi.h:102
LONG WINAPI RegCloseKey(HKEY hKey)
Definition: reg.c:423
unsigned char * LPBYTE
Definition: typedefs.h:52
#define debugstr_guid
Definition: kernel32.h:35
#define KEY_WRITE
Definition: nt_native.h:1031
LONG WINAPI RegSetValueExW(_In_ HKEY hKey, _In_ LPCWSTR lpValueName, _In_ DWORD Reserved, _In_ DWORD dwType, _In_ CONST BYTE *lpData, _In_ DWORD cbData)
Definition: reg.c:4895
#define TRACE(s)
Definition: solgame.cpp:4
__wchar_t WCHAR
Definition: xmlstorage.h:180
GUID guidProfile
Definition: msctf.idl:607
#define swprintf(buf, format,...)
Definition: sprintf.c:56
INT WINAPI StringFromGUID2(REFGUID id, LPOLESTR str, INT cmax)
Definition: compobj.c:2434
unsigned long DWORD
Definition: ntddk_ex.h:95
HKEY key
Definition: reg.c:42
static InputProcessorProfiles * impl_from_ITfInputProcessorProfiles(ITfInputProcessorProfiles *iface)
#define S_OK
Definition: intsafe.h:59
static const WCHAR szwEnable[]
GLuint res
Definition: glext.h:9613
unsigned int ULONG
Definition: retypes.h:1
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
Definition: reg.c:3366
#define REG_DWORD
Definition: sdbapi.c:596
Definition: path.c:42
#define HKEY_LOCAL_MACHINE
Definition: winreg.h:12

◆ InputProcessorProfiles_EnumInputProcessorInfo()

static HRESULT WINAPI InputProcessorProfiles_EnumInputProcessorInfo ( ITfInputProcessorProfiles *  iface,
IEnumGUID **  ppEnum 
)
static

Definition at line 399 of file inputprocessor.c.

401 {
403  TRACE("(%p) %p\n",This,ppEnum);
404  return ProfilesEnumGuid_Constructor(ppEnum);
405 }
static HRESULT ProfilesEnumGuid_Constructor(IEnumGUID **ppOut)
#define TRACE(s)
Definition: solgame.cpp:4
static InputProcessorProfiles * impl_from_ITfInputProcessorProfiles(ITfInputProcessorProfiles *iface)

◆ InputProcessorProfiles_EnumLanguageProfiles()

static HRESULT WINAPI InputProcessorProfiles_EnumLanguageProfiles ( ITfInputProcessorProfiles *  iface,
LANGID  langid,
IEnumTfLanguageProfiles **  ppEnum 
)
static

Definition at line 614 of file inputprocessor.c.

617 {
619  EnumTfLanguageProfiles *profenum;
620  HRESULT hr;
621 
622  TRACE("(%p) %x %p\n",This,langid,ppEnum);
623 
624  if (!ppEnum)
625  return E_INVALIDARG;
627  *ppEnum = &profenum->IEnumTfLanguageProfiles_iface;
628 
629  return hr;
630 }
HRESULT hr
Definition: shlfolder.c:183
LANGID langid
Definition: msctf.idl:605
#define E_INVALIDARG
Definition: ddrawi.h:101
static HRESULT EnumTfLanguageProfiles_Constructor(LANGID langid, EnumTfLanguageProfiles **out)
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:77
static InputProcessorProfiles * impl_from_ITfInputProcessorProfiles(ITfInputProcessorProfiles *iface)
IEnumTfLanguageProfiles IEnumTfLanguageProfiles_iface

◆ InputProcessorProfiles_GetActiveLanguageProfile()

static HRESULT WINAPI InputProcessorProfiles_GetActiveLanguageProfile ( ITfInputProcessorProfiles *  iface,
REFCLSID  rclsid,
LANGID plangid,
GUID pguidProfile 
)
static

Definition at line 533 of file inputprocessor.c.

536 {
539 
540  TRACE("(%p) %s %p %p\n",This,debugstr_guid(rclsid),plangid,pguidProfile);
541 
542  if (!rclsid || !plangid || !pguidProfile)
543  return E_INVALIDARG;
544 
545  if (get_active_textservice(rclsid, &profile))
546  {
547  *plangid = profile.langid;
548  *pguidProfile = profile.guidProfile;
549  return S_OK;
550  }
551  else
552  {
553  *pguidProfile = GUID_NULL;
554  return S_FALSE;
555  }
556 }
#define S_FALSE
Definition: winerror.h:2357
#define E_INVALIDARG
Definition: ddrawi.h:101
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
#define GUID_NULL
Definition: ks.h:106
static InputProcessorProfiles * impl_from_ITfInputProcessorProfiles(ITfInputProcessorProfiles *iface)
#define S_OK
Definition: intsafe.h:59
BOOL get_active_textservice(REFCLSID rclsid, TF_LANGUAGEPROFILE *profile)
Definition: msctf.c:459
#define profile
Definition: kernel32.h:12

◆ InputProcessorProfiles_GetCurrentLanguage()

static HRESULT WINAPI InputProcessorProfiles_GetCurrentLanguage ( ITfInputProcessorProfiles *  iface,
LANGID plangid 
)
static

Definition at line 567 of file inputprocessor.c.

569 {
571  TRACE("(%p) 0x%x\n",This,This->currentLanguage);
572 
573  if (!plangid)
574  return E_INVALIDARG;
575 
576  *plangid = This->currentLanguage;
577 
578  return S_OK;
579 }
#define E_INVALIDARG
Definition: ddrawi.h:101
#define TRACE(s)
Definition: solgame.cpp:4
static InputProcessorProfiles * impl_from_ITfInputProcessorProfiles(ITfInputProcessorProfiles *iface)
#define S_OK
Definition: intsafe.h:59

◆ InputProcessorProfiles_GetDefaultLanguageProfile()

static HRESULT WINAPI InputProcessorProfiles_GetDefaultLanguageProfile ( ITfInputProcessorProfiles *  iface,
LANGID  langid,
REFGUID  catid,
CLSID pclsid,
GUID pguidProfile 
)
static

Definition at line 407 of file inputprocessor.c.

410 {
412  WCHAR fullkey[168];
413  WCHAR buf[39];
414  HKEY hkey;
415  DWORD count;
416  ULONG res;
417 
418  TRACE("%p) %x %s %p %p\n",This, langid, debugstr_guid(catid),pclsid,pguidProfile);
419 
420  if (!catid || !pclsid || !pguidProfile)
421  return E_INVALIDARG;
422 
423  StringFromGUID2(catid, buf, 39);
425 
427  &hkey ) != ERROR_SUCCESS)
428  return S_FALSE;
429 
430  count = sizeof(buf);
432  if (res != ERROR_SUCCESS)
433  {
434  RegCloseKey(hkey);
435  return S_FALSE;
436  }
437  CLSIDFromString(buf,pclsid);
438 
440  if (res == ERROR_SUCCESS)
441  CLSIDFromString(buf,pguidProfile);
442 
443  RegCloseKey(hkey);
444 
445  return S_OK;
446 }
const WCHAR szwSystemCTFKey[]
Definition: msctf.c:77
#define ERROR_SUCCESS
Definition: deptool.c:10
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
#define KEY_READ
Definition: nt_native.h:1023
static const WCHAR szwDefault[]
GLuint GLuint GLsizei count
Definition: gl.h:1545
#define HKEY_CURRENT_USER
Definition: winreg.h:11
LANGID langid
Definition: msctf.idl:605
LONG WINAPI RegCloseKey(HKEY hKey)
Definition: reg.c:423
unsigned char * LPBYTE
Definition: typedefs.h:52
#define S_FALSE
Definition: winerror.h:2357
#define E_INVALIDARG
Definition: ddrawi.h:101
smooth NULL
Definition: ftsmooth.c:416
GUID catid
Definition: msctf.idl:608
#define debugstr_guid
Definition: kernel32.h:35
#define KEY_WRITE
Definition: nt_native.h:1031
#define TRACE(s)
Definition: solgame.cpp:4
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
Definition: reg.c:4116
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define swprintf(buf, format,...)
Definition: sprintf.c:56
INT WINAPI StringFromGUID2(REFGUID id, LPOLESTR str, INT cmax)
Definition: compobj.c:2434
unsigned long DWORD
Definition: ntddk_ex.h:95
static InputProcessorProfiles * impl_from_ITfInputProcessorProfiles(ITfInputProcessorProfiles *iface)
#define S_OK
Definition: intsafe.h:59
static const WCHAR szwAssemblies[]
static const WCHAR szwDefaultFmt[]
GLuint res
Definition: glext.h:9613
HRESULT WINAPI CLSIDFromString(LPCOLESTR idstr, LPCLSID id)
Definition: compobj.c:2338
unsigned int ULONG
Definition: retypes.h:1
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
Definition: reg.c:3366
static const WCHAR szwProfile[]

◆ InputProcessorProfiles_GetLanguageList()

static HRESULT WINAPI InputProcessorProfiles_GetLanguageList ( ITfInputProcessorProfiles *  iface,
LANGID **  ppLangId,
ULONG pulCount 
)
static

Definition at line 603 of file inputprocessor.c.

605 {
607  FIXME("Semi-STUB:(%p)\n",This);
608  *ppLangId = CoTaskMemAlloc(sizeof(LANGID));
609  **ppLangId = This->currentLanguage;
610  *pulCount = 1;
611  return S_OK;
612 }
WORD LANGID
Definition: typedefs.h:79
#define FIXME(fmt,...)
Definition: debug.h:110
static InputProcessorProfiles * impl_from_ITfInputProcessorProfiles(ITfInputProcessorProfiles *iface)
#define S_OK
Definition: intsafe.h:59
LPVOID WINAPI CoTaskMemAlloc(SIZE_T size)
Definition: ifs.c:404

◆ InputProcessorProfiles_GetLanguageProfileDescription()

static HRESULT WINAPI InputProcessorProfiles_GetLanguageProfileDescription ( ITfInputProcessorProfiles *  iface,
REFCLSID  rclsid,
LANGID  langid,
REFGUID  guidProfile,
BSTR pbstrProfile 
)
static

Definition at line 558 of file inputprocessor.c.

561 {
563  FIXME("STUB:(%p)\n",This);
564  return E_NOTIMPL;
565 }
#define FIXME(fmt,...)
Definition: debug.h:110
static InputProcessorProfiles * impl_from_ITfInputProcessorProfiles(ITfInputProcessorProfiles *iface)
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ InputProcessorProfiles_IsEnabledLanguageProfile()

static HRESULT WINAPI InputProcessorProfiles_IsEnabledLanguageProfile ( ITfInputProcessorProfiles *  iface,
REFCLSID  rclsid,
LANGID  langid,
REFGUID  guidProfile,
BOOL pfEnable 
)
static

Definition at line 662 of file inputprocessor.c.

665 {
667  HKEY key;
668  WCHAR buf[39];
669  WCHAR buf2[39];
670  WCHAR fullkey[168];
671  ULONG res;
672 
673  TRACE("(%p) %s, %i, %s, %p\n",This,debugstr_guid(rclsid),langid,debugstr_guid(guidProfile),pfEnable);
674 
675  if (!pfEnable)
676  return E_INVALIDARG;
677 
678  StringFromGUID2(rclsid, buf, 39);
679  StringFromGUID2(guidProfile, buf2, 39);
681 
683 
684  if (!res)
685  {
686  DWORD count = sizeof(DWORD);
687  res = RegQueryValueExW(key, szwEnable, 0, NULL, (LPBYTE)pfEnable, &count);
688  RegCloseKey(key);
689  }
690 
691  if (res) /* Try Default */
692  {
694 
695  if (!res)
696  {
697  DWORD count = sizeof(DWORD);
698  res = RegQueryValueExW(key, szwEnable, 0, NULL, (LPBYTE)pfEnable, &count);
699  RegCloseKey(key);
700  }
701  }
702 
703  if (!res)
704  return S_OK;
705  else
706  return E_FAIL;
707 }
const WCHAR szwSystemTIPKey[]
Definition: msctf.c:76
static const WCHAR szwLngp[]
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
#define KEY_READ
Definition: nt_native.h:1023
GLuint GLuint GLsizei count
Definition: gl.h:1545
#define HKEY_CURRENT_USER
Definition: winreg.h:11
static const WCHAR szwFullLangfmt[]
LANGID langid
Definition: msctf.idl:605
#define E_FAIL
Definition: ddrawi.h:102
#define DWORD
Definition: nt_native.h:44
LONG WINAPI RegCloseKey(HKEY hKey)
Definition: reg.c:423
unsigned char * LPBYTE
Definition: typedefs.h:52
#define E_INVALIDARG
Definition: ddrawi.h:101
smooth NULL
Definition: ftsmooth.c:416
#define debugstr_guid
Definition: kernel32.h:35
#define KEY_WRITE
Definition: nt_native.h:1031
#define TRACE(s)
Definition: solgame.cpp:4
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
Definition: reg.c:4116
__wchar_t WCHAR
Definition: xmlstorage.h:180
GUID guidProfile
Definition: msctf.idl:607
#define swprintf(buf, format,...)
Definition: sprintf.c:56
INT WINAPI StringFromGUID2(REFGUID id, LPOLESTR str, INT cmax)
Definition: compobj.c:2434
unsigned long DWORD
Definition: ntddk_ex.h:95
HKEY key
Definition: reg.c:42
static InputProcessorProfiles * impl_from_ITfInputProcessorProfiles(ITfInputProcessorProfiles *iface)
#define S_OK
Definition: intsafe.h:59
static const WCHAR szwEnable[]
GLuint res
Definition: glext.h:9613
unsigned int ULONG
Definition: retypes.h:1
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
Definition: reg.c:3366
Definition: path.c:42
#define HKEY_LOCAL_MACHINE
Definition: winreg.h:12

◆ InputProcessorProfiles_QueryInterface()

static HRESULT WINAPI InputProcessorProfiles_QueryInterface ( ITfInputProcessorProfiles *  iface,
REFIID  iid,
void **  ppv 
)
static

Definition at line 248 of file inputprocessor.c.

249 {
251 
252  if (IsEqualIID(iid, &IID_IUnknown) || IsEqualIID(iid, &IID_ITfInputProcessorProfiles))
253  {
254  *ppv = &This->ITfInputProcessorProfiles_iface;
255  }
256  else if (IsEqualIID(iid, &IID_ITfInputProcessorProfileMgr))
257  {
258  *ppv = &This->ITfInputProcessorProfileMgr_iface;
259  }
260  else if (IsEqualIID(iid, &IID_ITfSource))
261  {
262  *ppv = &This->ITfSource_iface;
263  }
264  else
265  {
266  *ppv = NULL;
267  WARN("unsupported interface: %s\n", debugstr_guid(iid));
268  return E_NOINTERFACE;
269  }
270 
271  ITfInputProcessorProfiles_AddRef(iface);
272  return S_OK;
273 }
#define E_NOINTERFACE
Definition: winerror.h:2364
#define WARN(fmt,...)
Definition: debug.h:111
REFIID LPVOID * ppv
Definition: atlbase.h:39
smooth NULL
Definition: ftsmooth.c:416
#define debugstr_guid
Definition: kernel32.h:35
const GUID IID_IUnknown
static InputProcessorProfiles * impl_from_ITfInputProcessorProfiles(ITfInputProcessorProfiles *iface)
#define S_OK
Definition: intsafe.h:59
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95

◆ InputProcessorProfiles_Register()

static HRESULT WINAPI InputProcessorProfiles_Register ( ITfInputProcessorProfiles *  iface,
REFCLSID  rclsid 
)
static

Definition at line 295 of file inputprocessor.c.

297 {
299  HKEY tipkey;
300  WCHAR buf[39];
301  WCHAR fullkey[68];
302 
303  TRACE("(%p) %s\n",This,debugstr_guid(rclsid));
304 
305  StringFromGUID2(rclsid, buf, 39);
307 
308  if (RegCreateKeyExW(HKEY_LOCAL_MACHINE,fullkey, 0, NULL, 0,
309  KEY_READ | KEY_WRITE, NULL, &tipkey, NULL) != ERROR_SUCCESS)
310  return E_FAIL;
311 
312  RegCloseKey(tipkey);
313 
314  return S_OK;
315 }
const WCHAR szwSystemTIPKey[]
Definition: msctf.c:76
static const WCHAR szwTipfmt[]
#define ERROR_SUCCESS
Definition: deptool.c:10
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
#define KEY_READ
Definition: nt_native.h:1023
#define E_FAIL
Definition: ddrawi.h:102
LONG WINAPI RegCreateKeyExW(_In_ HKEY hKey, _In_ LPCWSTR lpSubKey, _In_ DWORD Reserved, _In_opt_ LPWSTR lpClass, _In_ DWORD dwOptions, _In_ REGSAM samDesired, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _Out_ PHKEY phkResult, _Out_opt_ LPDWORD lpdwDisposition)
Definition: reg.c:1091
LONG WINAPI RegCloseKey(HKEY hKey)
Definition: reg.c:423
smooth NULL
Definition: ftsmooth.c:416
#define debugstr_guid
Definition: kernel32.h:35
#define KEY_WRITE
Definition: nt_native.h:1031
#define TRACE(s)
Definition: solgame.cpp:4
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define swprintf(buf, format,...)
Definition: sprintf.c:56
INT WINAPI StringFromGUID2(REFGUID id, LPOLESTR str, INT cmax)
Definition: compobj.c:2434
static InputProcessorProfiles * impl_from_ITfInputProcessorProfiles(ITfInputProcessorProfiles *iface)
#define S_OK
Definition: intsafe.h:59
#define HKEY_LOCAL_MACHINE
Definition: winreg.h:12

◆ InputProcessorProfiles_Release()

static ULONG WINAPI InputProcessorProfiles_Release ( ITfInputProcessorProfiles *  iface)
static

Definition at line 281 of file inputprocessor.c.

282 {
284  ULONG ret;
285 
286  ret = InterlockedDecrement(&This->refCount);
287  if (ret == 0)
289  return ret;
290 }
int ret
#define InterlockedDecrement
Definition: armddk.h:52
static InputProcessorProfiles * impl_from_ITfInputProcessorProfiles(ITfInputProcessorProfiles *iface)
static void InputProcessorProfiles_Destructor(InputProcessorProfiles *This)
unsigned int ULONG
Definition: retypes.h:1

◆ InputProcessorProfiles_RemoveLanguageProfile()

static HRESULT WINAPI InputProcessorProfiles_RemoveLanguageProfile ( ITfInputProcessorProfiles *  iface,
REFCLSID  rclsid,
LANGID  langid,
REFGUID  guidProfile 
)
static

Definition at line 390 of file inputprocessor.c.

393 {
395  FIXME("STUB:(%p)\n",This);
396  return E_NOTIMPL;
397 }
#define FIXME(fmt,...)
Definition: debug.h:110
static InputProcessorProfiles * impl_from_ITfInputProcessorProfiles(ITfInputProcessorProfiles *iface)
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ InputProcessorProfiles_SetDefaultLanguageProfile()

static HRESULT WINAPI InputProcessorProfiles_SetDefaultLanguageProfile ( ITfInputProcessorProfiles *  iface,
LANGID  langid,
REFCLSID  rclsid,
REFGUID  guidProfiles 
)
static

Definition at line 448 of file inputprocessor.c.

451 {
453  WCHAR fullkey[168];
454  WCHAR buf[39];
455  HKEY hkey;
456  GUID catid;
457  HRESULT hr;
458  ITfCategoryMgr *catmgr;
459  static const GUID * tipcats[3] = { &GUID_TFCAT_TIP_KEYBOARD,
462 
463  TRACE("%p) %x %s %s\n",This, langid, debugstr_guid(rclsid),debugstr_guid(guidProfiles));
464 
465  if (!rclsid || !guidProfiles)
466  return E_INVALIDARG;
467 
468  hr = CategoryMgr_Constructor(NULL,(IUnknown**)&catmgr);
469 
470  if (FAILED(hr))
471  return hr;
472 
473  if (ITfCategoryMgr_FindClosestCategory(catmgr, rclsid,
474  &catid, tipcats, 3) != S_OK)
475  hr = ITfCategoryMgr_FindClosestCategory(catmgr, rclsid,
476  &catid, NULL, 0);
477  ITfCategoryMgr_Release(catmgr);
478 
479  if (FAILED(hr))
480  return E_FAIL;
481 
482  StringFromGUID2(&catid, buf, 39);
484 
486  NULL, &hkey, NULL ) != ERROR_SUCCESS)
487  return E_FAIL;
488 
489  StringFromGUID2(rclsid, buf, 39);
490  RegSetValueExW(hkey, szwDefault, 0, REG_SZ, (LPBYTE)buf, sizeof(buf));
491  StringFromGUID2(guidProfiles, buf, 39);
492  RegSetValueExW(hkey, szwProfile, 0, REG_SZ, (LPBYTE)buf, sizeof(buf));
493  RegCloseKey(hkey);
494 
495  return S_OK;
496 }
const WCHAR szwSystemCTFKey[]
Definition: msctf.c:77
#define ERROR_SUCCESS
Definition: deptool.c:10
HRESULT hr
Definition: shlfolder.c:183
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
#define KEY_READ
Definition: nt_native.h:1023
static const WCHAR szwDefault[]
EXTERN_C const GUID GUID_TFCAT_TIP_SPEECH
Definition: msctf.idl:63
#define HKEY_CURRENT_USER
Definition: winreg.h:11
LANGID langid
Definition: msctf.idl:605
#define E_FAIL
Definition: ddrawi.h:102
LONG WINAPI RegCreateKeyExW(_In_ HKEY hKey, _In_ LPCWSTR lpSubKey, _In_ DWORD Reserved, _In_opt_ LPWSTR lpClass, _In_ DWORD dwOptions, _In_ REGSAM samDesired, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _Out_ PHKEY phkResult, _Out_opt_ LPDWORD lpdwDisposition)
Definition: reg.c:1091
LONG WINAPI RegCloseKey(HKEY hKey)
Definition: reg.c:423
unsigned char * LPBYTE
Definition: typedefs.h:52
EXTERN_C const GUID GUID_TFCAT_TIP_HANDWRITING
Definition: msctf.idl:64
#define E_INVALIDARG
Definition: ddrawi.h:101
smooth NULL
Definition: ftsmooth.c:416
GUID catid
Definition: msctf.idl:608
#define debugstr_guid
Definition: kernel32.h:35
#define KEY_WRITE
Definition: nt_native.h:1031
LONG WINAPI RegSetValueExW(_In_ HKEY hKey, _In_ LPCWSTR lpValueName, _In_ DWORD Reserved, _In_ DWORD dwType, _In_ CONST BYTE *lpData, _In_ DWORD cbData)
Definition: reg.c:4895
HRESULT CategoryMgr_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut)
Definition: categorymgr.c:413
#define TRACE(s)
Definition: solgame.cpp:4
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG HRESULT
Definition: typedefs.h:77
#define swprintf(buf, format,...)
Definition: sprintf.c:56
INT WINAPI StringFromGUID2(REFGUID id, LPOLESTR str, INT cmax)
Definition: compobj.c:2434
static InputProcessorProfiles * impl_from_ITfInputProcessorProfiles(ITfInputProcessorProfiles *iface)
#define S_OK
Definition: intsafe.h:59
static const WCHAR szwAssemblies[]
EXTERN_C const GUID GUID_TFCAT_TIP_KEYBOARD
Definition: msctf.idl:62
static const WCHAR szwDefaultFmt[]
static const WCHAR szwProfile[]
#define REG_SZ
Definition: layer.c:22

◆ InputProcessorProfiles_SubstituteKeyboardLayout()

static HRESULT WINAPI InputProcessorProfiles_SubstituteKeyboardLayout ( ITfInputProcessorProfiles *  iface,
REFCLSID  rclsid,
LANGID  langid,
REFGUID  guidProfile,
HKL  hKL 
)
static

Definition at line 739 of file inputprocessor.c.

742 {
744  FIXME("STUB:(%p)\n",This);
745  return E_NOTIMPL;
746 }
#define FIXME(fmt,...)
Definition: debug.h:110
static InputProcessorProfiles * impl_from_ITfInputProcessorProfiles(ITfInputProcessorProfiles *iface)
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ InputProcessorProfiles_Unregister()

static HRESULT WINAPI InputProcessorProfiles_Unregister ( ITfInputProcessorProfiles *  iface,
REFCLSID  rclsid 
)
static

Definition at line 317 of file inputprocessor.c.

319 {
321  WCHAR buf[39];
322  WCHAR fullkey[68];
323 
324  TRACE("(%p) %s\n",This,debugstr_guid(rclsid));
325 
326  StringFromGUID2(rclsid, buf, 39);
328 
331 
332  return S_OK;
333 }
const WCHAR szwSystemTIPKey[]
Definition: msctf.c:76
static const WCHAR szwTipfmt[]
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
#define HKEY_CURRENT_USER
Definition: winreg.h:11
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define swprintf(buf, format,...)
Definition: sprintf.c:56
INT WINAPI StringFromGUID2(REFGUID id, LPOLESTR str, INT cmax)
Definition: compobj.c:2434
static InputProcessorProfiles * impl_from_ITfInputProcessorProfiles(ITfInputProcessorProfiles *iface)
LSTATUS WINAPI RegDeleteTreeW(HKEY hKey, LPCWSTR lpszSubKey)
Definition: reg.c:1746
#define S_OK
Definition: intsafe.h:59
#define HKEY_LOCAL_MACHINE
Definition: winreg.h:12

◆ IPPSource_AddRef()

static ULONG WINAPI IPPSource_AddRef ( ITfSource iface)
static

Definition at line 901 of file inputprocessor.c.

902 {
904  return ITfInputProcessorProfiles_AddRef(&This->ITfInputProcessorProfiles_iface);
905 }
static InputProcessorProfiles * impl_from_ITfSource(ITfSource *iface)

◆ IPPSource_AdviseSink()

static HRESULT WINAPI IPPSource_AdviseSink ( ITfSource iface,
REFIID  riid,
IUnknown punk,
DWORD pdwCookie 
)
static

Definition at line 913 of file inputprocessor.c.

915 {
917 
918  TRACE("(%p) %s %p %p\n",This,debugstr_guid(riid),punk,pdwCookie);
919 
920  if (!riid || !punk || !pdwCookie)
921  return E_INVALIDARG;
922 
923  if (IsEqualIID(riid, &IID_ITfLanguageProfileNotifySink))
924  return advise_sink(&This->LanguageProfileNotifySink, &IID_ITfLanguageProfileNotifySink,
925  COOKIE_MAGIC_IPPSINK, punk, pdwCookie);
926 
927  FIXME("(%p) Unhandled Sink: %s\n",This,debugstr_guid(riid));
928  return E_NOTIMPL;
929 }
REFIID riid
Definition: precomp.h:44
HRESULT advise_sink(struct list *sink_list, REFIID riid, DWORD cookie_magic, IUnknown *unk, DWORD *cookie)
Definition: msctf.c:285
static InputProcessorProfiles * impl_from_ITfSource(ITfSource *iface)
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_INVALIDARG
Definition: ddrawi.h:101
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
#define COOKIE_MAGIC_IPPSINK
#define E_NOTIMPL
Definition: ddrawi.h:99
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95

◆ IPPSource_QueryInterface()

static HRESULT WINAPI IPPSource_QueryInterface ( ITfSource iface,
REFIID  iid,
LPVOID ppvOut 
)
static

Definition at line 895 of file inputprocessor.c.

896 {
898  return ITfInputProcessorProfiles_QueryInterface(&This->ITfInputProcessorProfiles_iface, iid, ppvOut);
899 }
static InputProcessorProfiles * impl_from_ITfSource(ITfSource *iface)

◆ IPPSource_Release()

static ULONG WINAPI IPPSource_Release ( ITfSource iface)
static

Definition at line 907 of file inputprocessor.c.

908 {
910  return ITfInputProcessorProfiles_Release(&This->ITfInputProcessorProfiles_iface);
911 }
static InputProcessorProfiles * impl_from_ITfSource(ITfSource *iface)

◆ IPPSource_UnadviseSink()

static HRESULT WINAPI IPPSource_UnadviseSink ( ITfSource iface,
DWORD  pdwCookie 
)
static

Definition at line 931 of file inputprocessor.c.

932 {
934 
935  TRACE("(%p) %x\n",This,pdwCookie);
936 
937  if (get_Cookie_magic(pdwCookie)!=COOKIE_MAGIC_IPPSINK)
938  return E_INVALIDARG;
939 
940  return unadvise_sink(pdwCookie);
941 }
DWORD get_Cookie_magic(DWORD id)
Definition: msctf.c:233
static InputProcessorProfiles * impl_from_ITfSource(ITfSource *iface)
#define E_INVALIDARG
Definition: ddrawi.h:101
#define TRACE(s)
Definition: solgame.cpp:4
#define COOKIE_MAGIC_IPPSINK
HRESULT unadvise_sink(DWORD cookie)
Definition: msctf.c:312

◆ next_LanguageProfile()

static INT next_LanguageProfile ( EnumTfLanguageProfiles This,
CLSID  clsid,
TF_LANGUAGEPROFILE tflp 
)
static

Definition at line 1182 of file inputprocessor.c.

1183 {
1184  WCHAR fullkey[168];
1185  ULONG res;
1186  WCHAR profileid[39];
1187  DWORD cName = 39;
1188  GUID profile;
1189 
1190  static const WCHAR fmt[] = {'%','s','\\','%','s','\\','0','x','%','0','8','x',0};
1191 
1192  if (This->langkey == NULL)
1193  {
1194  swprintf(fullkey,fmt,This->szwCurrentClsid,szwLngp,This->langid);
1195  res = RegOpenKeyExW(This->tipkey, fullkey, 0, KEY_READ | KEY_WRITE, &This->langkey);
1196  if (res)
1197  {
1198  This->langkey = NULL;
1199  return -1;
1200  }
1201  This->lang_index = 0;
1202  }
1203  res = RegEnumKeyExW(This->langkey, This->lang_index, profileid, &cName,
1204  NULL, NULL, NULL, NULL);
1205  if (res != ERROR_SUCCESS && res != ERROR_MORE_DATA)
1206  {
1207  RegCloseKey(This->langkey);
1208  This->langkey = NULL;
1209  return -1;
1210  }
1211  ++(This->lang_index);
1212 
1213  if (tflp)
1214  {
1215  static const GUID * tipcats[3] = { &GUID_TFCAT_TIP_KEYBOARD,
1218  res = CLSIDFromString(profileid, &profile);
1219  if (FAILED(res)) return 0;
1220 
1221  tflp->clsid = clsid;
1222  tflp->langid = This->langid;
1224  tflp->guidProfile = profile;
1225  if (ITfCategoryMgr_FindClosestCategory(This->catmgr, &clsid,
1226  &tflp->catid, tipcats, 3) != S_OK)
1227  ITfCategoryMgr_FindClosestCategory(This->catmgr, &clsid,
1228  &tflp->catid, NULL, 0);
1229  }
1230 
1231  return 1;
1232 }
static const WCHAR szwLngp[]
#define ERROR_SUCCESS
Definition: deptool.c:10
#define KEY_READ
Definition: nt_native.h:1023
EXTERN_C const GUID GUID_TFCAT_TIP_SPEECH
Definition: msctf.idl:63
LONG WINAPI RegCloseKey(HKEY hKey)
Definition: reg.c:423
EXTERN_C const GUID GUID_TFCAT_TIP_HANDWRITING
Definition: msctf.idl:64
smooth NULL
Definition: ftsmooth.c:416
#define KEY_WRITE
Definition: nt_native.h:1031
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define swprintf(buf, format,...)
Definition: sprintf.c:56
unsigned long DWORD
Definition: ntddk_ex.h:95
REFCLSID clsid
Definition: msctf.c:82
#define ERROR_MORE_DATA
Definition: dderror.h:13
#define S_OK
Definition: intsafe.h:59
BOOL get_active_textservice(REFCLSID rclsid, TF_LANGUAGEPROFILE *profile)
Definition: msctf.c:459
EXTERN_C const GUID GUID_TFCAT_TIP_KEYBOARD
Definition: msctf.idl:62
GLuint res
Definition: glext.h:9613
HRESULT WINAPI CLSIDFromString(LPCOLESTR idstr, LPCLSID id)
Definition: compobj.c:2338
unsigned int ULONG
Definition: retypes.h:1
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
Definition: reg.c:3366
#define profile
Definition: kernel32.h:12
LONG WINAPI RegEnumKeyExW(_In_ HKEY hKey, _In_ DWORD dwIndex, _Out_ LPWSTR lpName, _Inout_ LPDWORD lpcbName, _Reserved_ LPDWORD lpReserved, _Out_opt_ LPWSTR lpClass, _Inout_opt_ LPDWORD lpcbClass, _Out_opt_ PFILETIME lpftLastWriteTime)
Definition: reg.c:2527
Definition: dsound.c:943

Referenced by EnumTfLanguageProfiles_Next().

◆ ProfilesEnumGuid_AddRef()

static ULONG WINAPI ProfilesEnumGuid_AddRef ( IEnumGUID iface)
static

Definition at line 1005 of file inputprocessor.c.

1006 {
1008  return InterlockedIncrement(&This->refCount);
1009 }
static ProfilesEnumGuid * impl_from_IEnumGUID(IEnumGUID *iface)
#define InterlockedIncrement
Definition: armddk.h:53

◆ ProfilesEnumGuid_Clone()

static HRESULT WINAPI ProfilesEnumGuid_Clone ( LPENUMGUID  iface,
IEnumGUID **  ppenum 
)
static

Definition at line 1075 of file inputprocessor.c.

1077 {
1079  HRESULT res;
1080 
1081  TRACE("(%p)\n",This);
1082 
1083  if (ppenum == NULL) return E_POINTER;
1084 
1086  if (SUCCEEDED(res))
1087  {
1088  ProfilesEnumGuid *new_This = impl_from_IEnumGUID(*ppenum);
1089  new_This->next_index = This->next_index;
1090  }
1091  return res;
1092 }
static HRESULT ProfilesEnumGuid_Constructor(IEnumGUID **ppOut)
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:77
static ProfilesEnumGuid * impl_from_IEnumGUID(IEnumGUID *iface)
GLuint res
Definition: glext.h:9613
#define E_POINTER
Definition: winerror.h:2365
#define SUCCEEDED(hr)
Definition: intsafe.h:57

◆ ProfilesEnumGuid_Constructor()

static HRESULT ProfilesEnumGuid_Constructor ( IEnumGUID **  ppOut)
static

Definition at line 1105 of file inputprocessor.c.

1106 {
1108 
1110  if (This == NULL)
1111  return E_OUTOFMEMORY;
1112 
1113  This->IEnumGUID_iface.lpVtbl= &EnumGUIDVtbl;
1114  This->refCount = 1;
1115 
1117  KEY_READ | KEY_WRITE, NULL, &This->key, NULL) != ERROR_SUCCESS)
1118  {
1119  HeapFree(GetProcessHeap(), 0, This);
1120  return E_FAIL;
1121  }
1122 
1123  *ppOut = &This->IEnumGUID_iface;
1124  TRACE("returning %p\n", *ppOut);
1125  return S_OK;
1126 }
const WCHAR szwSystemTIPKey[]
Definition: msctf.c:76
#define ERROR_SUCCESS
Definition: deptool.c:10
#define KEY_READ
Definition: nt_native.h:1023
#define E_FAIL
Definition: ddrawi.h:102
LONG WINAPI RegCreateKeyExW(_In_ HKEY hKey, _In_ LPCWSTR lpSubKey, _In_ DWORD Reserved, _In_opt_ LPWSTR lpClass, _In_ DWORD dwOptions, _In_ REGSAM samDesired, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _Out_ PHKEY phkResult, _Out_opt_ LPDWORD lpdwDisposition)
Definition: reg.c:1091
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
smooth NULL
Definition: ftsmooth.c:416
#define KEY_WRITE
Definition: nt_native.h:1031
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:403
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
#define S_OK
Definition: intsafe.h:59
static const IEnumGUIDVtbl EnumGUIDVtbl
#define HEAP_ZERO_MEMORY
Definition: compat.h:123
#define HeapFree(x, y, z)
Definition: compat.h:402
#define HKEY_LOCAL_MACHINE
Definition: winreg.h:12

Referenced by InputProcessorProfiles_EnumInputProcessorInfo(), and ProfilesEnumGuid_Clone().

◆ ProfilesEnumGuid_Destructor()

static void ProfilesEnumGuid_Destructor ( ProfilesEnumGuid This)
static

Definition at line 978 of file inputprocessor.c.

979 {
980  TRACE("destroying %p\n", This);
981  RegCloseKey(This->key);
983 }
LONG WINAPI RegCloseKey(HKEY hKey)
Definition: reg.c:423
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:403
#define HeapFree(x, y, z)
Definition: compat.h:402

Referenced by ProfilesEnumGuid_Release().

◆ ProfilesEnumGuid_Next()

static HRESULT WINAPI ProfilesEnumGuid_Next ( LPENUMGUID  iface,
ULONG  celt,
GUID rgelt,
ULONG pceltFetched 
)
static

Definition at line 1025 of file inputprocessor.c.

1027 {
1029  ULONG fetched = 0;
1030 
1031  TRACE("(%p)\n",This);
1032 
1033  if (rgelt == NULL) return E_POINTER;
1034 
1035  if (This->key) while (fetched < celt)
1036  {
1037  LSTATUS res;
1038  HRESULT hr;
1039  WCHAR catid[39];
1040  DWORD cName = 39;
1041 
1042  res = RegEnumKeyExW(This->key, This->next_index, catid, &cName,
1043  NULL, NULL, NULL, NULL);
1044  if (res != ERROR_SUCCESS && res != ERROR_MORE_DATA) break;
1045  ++(This->next_index);
1046 
1047  hr = CLSIDFromString(catid, rgelt);
1048  if (FAILED(hr)) continue;
1049 
1050  ++fetched;
1051  ++rgelt;
1052  }
1053 
1054  if (pceltFetched) *pceltFetched = fetched;
1055  return fetched == celt ? S_OK : S_FALSE;
1056 }
#define ERROR_SUCCESS
Definition: deptool.c:10
HRESULT hr
Definition: shlfolder.c:183
#define S_FALSE
Definition: winerror.h:2357
smooth NULL
Definition: ftsmooth.c:416
GUID catid
Definition: msctf.idl:608
#define TRACE(s)
Definition: solgame.cpp:4
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG HRESULT
Definition: typedefs.h:77
unsigned long DWORD
Definition: ntddk_ex.h:95
static ProfilesEnumGuid * impl_from_IEnumGUID(IEnumGUID *iface)
static LSTATUS(WINAPI *pRegDeleteTreeW)(HKEY
#define ERROR_MORE_DATA
Definition: dderror.h:13
#define S_OK
Definition: intsafe.h:59
GLuint res
Definition: glext.h:9613
HRESULT WINAPI CLSIDFromString(LPCOLESTR idstr, LPCLSID id)
Definition: compobj.c:2338
unsigned int ULONG
Definition: retypes.h:1
LONG WINAPI RegEnumKeyExW(_In_ HKEY hKey, _In_ DWORD dwIndex, _Out_ LPWSTR lpName, _Inout_ LPDWORD lpcbName, _Reserved_ LPDWORD lpReserved, _Out_opt_ LPWSTR lpClass, _Inout_opt_ LPDWORD lpcbClass, _Out_opt_ PFILETIME lpftLastWriteTime)
Definition: reg.c:2527
#define E_POINTER
Definition: winerror.h:2365

◆ ProfilesEnumGuid_QueryInterface()

static HRESULT WINAPI ProfilesEnumGuid_QueryInterface ( IEnumGUID iface,
REFIID  iid,
LPVOID ppvOut 
)
static

Definition at line 985 of file inputprocessor.c.

986 {
988  *ppvOut = NULL;
989 
990  if (IsEqualIID(iid, &IID_IUnknown) || IsEqualIID(iid, &IID_IEnumGUID))
991  {
992  *ppvOut = &This->IEnumGUID_iface;
993  }
994 
995  if (*ppvOut)
996  {
997  IEnumGUID_AddRef(iface);
998  return S_OK;
999  }
1000 
1001  WARN("unsupported interface: %s\n", debugstr_guid(iid));
1002  return E_NOINTERFACE;
1003 }
#define E_NOINTERFACE
Definition: winerror.h:2364
#define WARN(fmt,...)
Definition: debug.h:111
smooth NULL
Definition: ftsmooth.c:416
#define debugstr_guid
Definition: kernel32.h:35
const GUID IID_IUnknown
static ProfilesEnumGuid * impl_from_IEnumGUID(IEnumGUID *iface)
#define S_OK
Definition: intsafe.h:59
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95

◆ ProfilesEnumGuid_Release()

static ULONG WINAPI ProfilesEnumGuid_Release ( IEnumGUID iface)
static

Definition at line 1011 of file inputprocessor.c.

1012 {
1014  ULONG ret;
1015 
1016  ret = InterlockedDecrement(&This->refCount);
1017  if (ret == 0)
1019  return ret;
1020 }
static void ProfilesEnumGuid_Destructor(ProfilesEnumGuid *This)
static ProfilesEnumGuid * impl_from_IEnumGUID(IEnumGUID *iface)
int ret
#define InterlockedDecrement
Definition: armddk.h:52
unsigned int ULONG
Definition: retypes.h:1

◆ ProfilesEnumGuid_Reset()

static HRESULT WINAPI ProfilesEnumGuid_Reset ( LPENUMGUID  iface)
static

Definition at line 1067 of file inputprocessor.c.

1068 {
1070  TRACE("(%p)\n",This);
1071  This->next_index = 0;
1072  return S_OK;
1073 }
#define TRACE(s)
Definition: solgame.cpp:4
static ProfilesEnumGuid * impl_from_IEnumGUID(IEnumGUID *iface)
#define S_OK
Definition: intsafe.h:59

◆ ProfilesEnumGuid_Skip()

static HRESULT WINAPI ProfilesEnumGuid_Skip ( LPENUMGUID  iface,
ULONG  celt 
)
static

Definition at line 1058 of file inputprocessor.c.

1059 {
1061  TRACE("(%p)\n",This);
1062 
1063  This->next_index += celt;
1064  return S_OK;
1065 }
#define TRACE(s)
Definition: solgame.cpp:4
static ProfilesEnumGuid * impl_from_IEnumGUID(IEnumGUID *iface)
#define S_OK
Definition: intsafe.h:59

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( msctf  )

Variable Documentation

◆ EnumGUIDVtbl

const IEnumGUIDVtbl EnumGUIDVtbl
static
Initial value:
=
{
}
static ULONG WINAPI ProfilesEnumGuid_AddRef(IEnumGUID *iface)
static HRESULT WINAPI ProfilesEnumGuid_Reset(LPENUMGUID iface)
static HRESULT WINAPI ProfilesEnumGuid_Clone(LPENUMGUID iface, IEnumGUID **ppenum)
static HRESULT WINAPI ProfilesEnumGuid_Next(LPENUMGUID iface, ULONG celt, GUID *rgelt, ULONG *pceltFetched)
static HRESULT WINAPI ProfilesEnumGuid_QueryInterface(IEnumGUID *iface, REFIID iid, LPVOID *ppvOut)
static ULONG WINAPI ProfilesEnumGuid_Release(IEnumGUID *iface)
static HRESULT WINAPI ProfilesEnumGuid_Skip(LPENUMGUID iface, ULONG celt)

Definition at line 1094 of file inputprocessor.c.

Referenced by ProfilesEnumGuid_Constructor().

◆ EnumTfInputProcessorProfilesVtbl

const IEnumTfInputProcessorProfilesVtbl EnumTfInputProcessorProfilesVtbl
static
Initial value:
= {
}
static HRESULT WINAPI EnumTfInputProcessorProfiles_Clone(IEnumTfInputProcessorProfiles *iface, IEnumTfInputProcessorProfiles **ret)
static HRESULT WINAPI EnumTfInputProcessorProfiles_Next(IEnumTfInputProcessorProfiles *iface, ULONG count, TF_INPUTPROCESSORPROFILE *profile, ULONG *fetch)
static ULONG WINAPI EnumTfInputProcessorProfiles_AddRef(IEnumTfInputProcessorProfiles *iface)
static HRESULT WINAPI EnumTfInputProcessorProfiles_Reset(IEnumTfInputProcessorProfiles *iface)
static ULONG WINAPI EnumTfInputProcessorProfiles_Release(IEnumTfInputProcessorProfiles *iface)
static HRESULT WINAPI EnumTfInputProcessorProfiles_Skip(IEnumTfInputProcessorProfiles *iface, ULONG count)
static HRESULT WINAPI EnumTfInputProcessorProfiles_QueryInterface(IEnumTfInputProcessorProfiles *iface, REFIID riid, void **ppv)

Definition at line 181 of file inputprocessor.c.

Referenced by InputProcessorProfileMgr_EnumProfiles().

◆ EnumTfLanguageProfilesVtbl

const IEnumTfLanguageProfilesVtbl EnumTfLanguageProfilesVtbl
static
Initial value:
=
{
}
static HRESULT WINAPI EnumTfLanguageProfiles_QueryInterface(IEnumTfLanguageProfiles *iface, REFIID iid, LPVOID *ppvOut)
static HRESULT WINAPI EnumTfLanguageProfiles_Skip(IEnumTfLanguageProfiles *iface, ULONG celt)
static ULONG WINAPI EnumTfLanguageProfiles_Release(IEnumTfLanguageProfiles *iface)
static HRESULT WINAPI EnumTfLanguageProfiles_Reset(IEnumTfLanguageProfiles *iface)
static HRESULT WINAPI EnumTfLanguageProfiles_Next(IEnumTfLanguageProfiles *iface, ULONG ulCount, TF_LANGUAGEPROFILE *pProfile, ULONG *pcFetch)
static ULONG WINAPI EnumTfLanguageProfiles_AddRef(IEnumTfLanguageProfiles *iface)
static HRESULT WINAPI EnumTfLanguageProfiles_Clone(IEnumTfLanguageProfiles *iface, IEnumTfLanguageProfiles **ppenum)

Definition at line 1327 of file inputprocessor.c.

Referenced by EnumTfLanguageProfiles_Constructor().

◆ InputProcessorProfileMgrVtbl

const ITfInputProcessorProfileMgrVtbl InputProcessorProfileMgrVtbl
static
Initial value:
= {
}
static ULONG WINAPI InputProcessorProfileMgr_Release(ITfInputProcessorProfileMgr *iface)
static HRESULT WINAPI InputProcessorProfileMgr_ActivateProfile(ITfInputProcessorProfileMgr *iface, DWORD dwProfileType, LANGID langid, REFCLSID clsid, REFGUID guidProfile, HKL hkl, DWORD dwFlags)
static HRESULT WINAPI InputProcessorProfileMgr_QueryInterface(ITfInputProcessorProfileMgr *iface, REFIID riid, void **ppv)
static HRESULT WINAPI InputProcessorProfileMgr_GetActiveProfile(ITfInputProcessorProfileMgr *iface, REFGUID catid, TF_INPUTPROCESSORPROFILE *pProfile)
static HRESULT WINAPI InputProcessorProfileMgr_ReleaseInputProcessor(ITfInputProcessorProfileMgr *iface, REFCLSID rclsid, DWORD dwFlags)
static HRESULT WINAPI InputProcessorProfileMgr_EnumProfiles(ITfInputProcessorProfileMgr *iface, LANGID langid, IEnumTfInputProcessorProfiles **ppEnum)
static ULONG WINAPI InputProcessorProfileMgr_AddRef(ITfInputProcessorProfileMgr *iface)
static HRESULT WINAPI InputProcessorProfileMgr_GetProfile(ITfInputProcessorProfileMgr *iface, DWORD dwProfileType, LANGID langid, REFCLSID clsid, REFGUID guidProfile, HKL hkl, TF_INPUTPROCESSORPROFILE *pProfile)
static HRESULT WINAPI InputProcessorProfileMgr_RegisterProfile(ITfInputProcessorProfileMgr *iface, REFCLSID rclsid, LANGID langid, REFGUID guidProfile, const WCHAR *pchDesc, ULONG cchDesc, const WCHAR *pchIconFile, ULONG cchFile, ULONG uIconIndex, HKL hklsubstitute, DWORD dwPreferredLayout, BOOL bEnabledByDefault, DWORD dwFlags)
static HRESULT WINAPI InputProcessorProfileMgr_DeactivateProfile(ITfInputProcessorProfileMgr *iface, DWORD dwProfileType, LANGID langid, REFCLSID clsid, REFGUID guidProfile, HKL hkl, DWORD dwFlags)
static HRESULT WINAPI InputProcessorProfileMgr_UnregisterProfile(ITfInputProcessorProfileMgr *iface, REFCLSID rclsid, LANGID langid, REFGUID guidProfile, DWORD dwFlags)

Definition at line 878 of file inputprocessor.c.

Referenced by InputProcessorProfiles_Constructor().

◆ InputProcessorProfilesSourceVtbl

const ITfSourceVtbl InputProcessorProfilesSourceVtbl
static
Initial value:
=
{
}
static HRESULT WINAPI IPPSource_AdviseSink(ITfSource *iface, REFIID riid, IUnknown *punk, DWORD *pdwCookie)
static ULONG WINAPI IPPSource_AddRef(ITfSource *iface)
static HRESULT WINAPI IPPSource_UnadviseSink(ITfSource *iface, DWORD pdwCookie)
static ULONG WINAPI IPPSource_Release(ITfSource *iface)
static HRESULT WINAPI IPPSource_QueryInterface(ITfSource *iface, REFIID iid, LPVOID *ppvOut)

Definition at line 943 of file inputprocessor.c.

Referenced by InputProcessorProfiles_Constructor().

◆ InputProcessorProfilesVtbl

const ITfInputProcessorProfilesVtbl InputProcessorProfilesVtbl
static
Initial value:
=
{
}
static HRESULT WINAPI InputProcessorProfiles_SetDefaultLanguageProfile(ITfInputProcessorProfiles *iface, LANGID langid, REFCLSID rclsid, REFGUID guidProfiles)
static HRESULT WINAPI InputProcessorProfiles_GetLanguageList(ITfInputProcessorProfiles *iface, LANGID **ppLangId, ULONG *pulCount)
static HRESULT WINAPI InputProcessorProfiles_IsEnabledLanguageProfile(ITfInputProcessorProfiles *iface, REFCLSID rclsid, LANGID langid, REFGUID guidProfile, BOOL *pfEnable)
static HRESULT WINAPI InputProcessorProfiles_ChangeCurrentLanguage(ITfInputProcessorProfiles *iface, LANGID langid)
static HRESULT WINAPI InputProcessorProfiles_EnumLanguageProfiles(ITfInputProcessorProfiles *iface, LANGID langid, IEnumTfLanguageProfiles **ppEnum)
static HRESULT WINAPI InputProcessorProfiles_Unregister(ITfInputProcessorProfiles *iface, REFCLSID rclsid)
static HRESULT WINAPI InputProcessorProfiles_GetLanguageProfileDescription(ITfInputProcessorProfiles *iface, REFCLSID rclsid, LANGID langid, REFGUID guidProfile, BSTR *pbstrProfile)
static HRESULT WINAPI InputProcessorProfiles_Register(ITfInputProcessorProfiles *iface, REFCLSID rclsid)
static HRESULT WINAPI InputProcessorProfiles_GetDefaultLanguageProfile(ITfInputProcessorProfiles *iface, LANGID langid, REFGUID catid, CLSID *pclsid, GUID *pguidProfile)
static ULONG WINAPI InputProcessorProfiles_AddRef(ITfInputProcessorProfiles *iface)
static HRESULT WINAPI InputProcessorProfiles_ActivateLanguageProfile(ITfInputProcessorProfiles *iface, REFCLSID rclsid, LANGID langid, REFGUID guidProfiles)
static HRESULT WINAPI InputProcessorProfiles_EnumInputProcessorInfo(ITfInputProcessorProfiles *iface, IEnumGUID **ppEnum)
static HRESULT WINAPI InputProcessorProfiles_QueryInterface(ITfInputProcessorProfiles *iface, REFIID iid, void **ppv)
static HRESULT WINAPI InputProcessorProfiles_GetCurrentLanguage(ITfInputProcessorProfiles *iface, LANGID *plangid)
static HRESULT WINAPI InputProcessorProfiles_EnableLanguageProfile(ITfInputProcessorProfiles *iface, REFCLSID rclsid, LANGID langid, REFGUID guidProfile, BOOL fEnable)
static ULONG WINAPI InputProcessorProfiles_Release(ITfInputProcessorProfiles *iface)
static HRESULT WINAPI InputProcessorProfiles_SubstituteKeyboardLayout(ITfInputProcessorProfiles *iface, REFCLSID rclsid, LANGID langid, REFGUID guidProfile, HKL hKL)
static HRESULT WINAPI InputProcessorProfiles_EnableLanguageProfileByDefault(ITfInputProcessorProfiles *iface, REFCLSID rclsid, LANGID langid, REFGUID guidProfile, BOOL fEnable)
static HRESULT WINAPI InputProcessorProfiles_RemoveLanguageProfile(ITfInputProcessorProfiles *iface, REFCLSID rclsid, LANGID langid, REFGUID guidProfile)
static HRESULT WINAPI InputProcessorProfiles_GetActiveLanguageProfile(ITfInputProcessorProfiles *iface, REFCLSID rclsid, LANGID *plangid, GUID *pguidProfile)
static HRESULT WINAPI InputProcessorProfiles_AddLanguageProfile(ITfInputProcessorProfiles *iface, REFCLSID rclsid, LANGID langid, REFGUID guidProfile, const WCHAR *pchDesc, ULONG cchDesc, const WCHAR *pchIconFile, ULONG cchFile, ULONG uIconIndex)

Definition at line 748 of file inputprocessor.c.

Referenced by InputProcessorProfiles_Constructor().

◆ szwAssemblies

const WCHAR szwAssemblies[] = {'A','s','s','e','m','b','l','i','e','s',0}
static

◆ szwDefault

const WCHAR szwDefault[] = {'D','e','f','a','u','l','t',0}
static

◆ szwDefaultFmt

const WCHAR szwDefaultFmt[] = {'%','s','\\','%','s','\\','0','x','%','0','8','x','\\','%','s',0}
static

◆ szwEnable

◆ szwFullLangfmt

const WCHAR szwFullLangfmt[] = {'%','s','\\','%','s','\\','%','s','\\','0','x','%','0','8','x','\\','%','s',0}
static

◆ szwLngp

◆ szwProfile

const WCHAR szwProfile[] = {'P','r','o','f','i','l','e',0}
static

◆ szwTipfmt

const WCHAR szwTipfmt[] = {'%','s','\\','%','s',0}
static