10#define WIN32_LEAN_AND_MEAN
11#define WIN32_NO_STATUS
22#include <msctf_undoc.h>
106 DWORD dwLengthNeeded = 0;
193 #define StringFromGUID2T StringFromGUID2
194 #define debugstr_t debugstr_w
196 #define StringFromGUID2T StringFromGUID2A
197 #define debugstr_t debugstr_a
204 CicSystemModulePath ModPath;
207 ModPath.Init(pszExeFile, bSysWinDir);
208 if (!ModPath.m_cchPath)
253 FIXME(
"(%lu, %p, %p, %p)\n",
dwThreadId, pdwFlags1, pdwFlags2, pdwFlags3);
254 *pdwFlags1 = *pdwFlags2 = *pdwFlags3 = 0;
266 FIXME(
"(%p)\n", ppcat);
280 FIXME(
"(%p)\n", pfWinLogon);
281 if (pfWinLogon ==
NULL)
295 FIXME(
"(%p)\n", ppdam);
320 FIXME(
"(%p)\n", ppCompMgr);
359 *ppInputScope =
NULL;
383 if (!pszName ||
lstrcmpiA(pszName,
"DelayFirstActivateKeyboardLayout") != 0)
488 ERR(
"E_INVALIDARG\n");
524 ERR(
"E_INVALIDARG\n");
554 CicSystemModulePath ModPath;
565 if (!ModPath.m_cchPath)
569 TEXT(
"rundll32.exe shell32.dll,Control_RunDLL %s"), ModPath.m_szPath);
601 TCHAR szLanguage[2], szLayout[2];
604 szLanguage[0] = szLayout[0] =
TEXT(
'3');
605 szLanguage[1] = szLayout[1] =
TEXT(
'\0');
617 szLanguage[0] =
TEXT(
'1');
623 szLanguage[0] =
TEXT(
'1');
627 szLanguage[0] =
TEXT(
'1');
633 szLayout[0] =
TEXT(
'1');
634 if (szLanguage[0] !=
TEXT(
'2'))
635 szLayout[0] =
TEXT(
'2');
637 szLayout[0] =
TEXT(
'3');
640 szLanguage[1] =
TEXT(
'\0');
641 szLayout[1] =
TEXT(
'\0');
644 if (szLanguage[0] == szLayout[0])
646 if (szLanguage[0] ==
TEXT(
'1'))
647 szLayout[0] =
TEXT(
'2');
648 else if (szLanguage[0] ==
TEXT(
'2'))
649 szLayout[0] =
TEXT(
'1');
651 szLayout[0] =
TEXT(
'3');
656 switch (szLanguage[0])
714 TRACE(
"HotKey: %c, %c\n", szLanguage[0], szLayout[0]);
759 TEXT(
"Software\\Microsoft\\Windows NT\\CurrentVersion\\IMM"));
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
TCHAR g_szCUASImeFile[16]
EXTERN_C VOID TFUninitLib(VOID)
EXTERN_C HRESULT WINAPI TF_InvalidAssemblyListCache(VOID)
BOOL StringFromGUID2A(REFGUID rguid, LPSTR pszGUID, INT cchGUID)
EXTERN_C HRESULT WINAPI TF_GetGlobalCompartment(_Out_ ITfCompartmentMgr **ppCompMgr)
EXTERN_C HRESULT WINAPI SetInputScopeXML(_In_opt_ HWND hwnd, _In_opt_ PCWSTR pszXML)
EXTERN_C BOOL WINAPI TF_GetThreadFlags(_In_ DWORD dwThreadId, _Out_ LPDWORD pdwFlags1, _Out_ LPDWORD pdwFlags2, _Out_ LPDWORD pdwFlags3)
VOID CheckAnchorStores(VOID)
EXTERN_C HRESULT WINAPI TF_UnregisterLangBarAddIn(_In_ REFGUID rguid, _In_ DWORD dwFlags)
UINT g_msgCheckThreadInputIdel
EXTERN_C HRESULT WINAPI TF_PostAllThreadMsg(_In_opt_ WPARAM wParam, _In_ DWORD dwFlags)
EXTERN_C HRESULT WINAPI TF_CreateCategoryMgr(_Out_ ITfCategoryMgr **ppcat)
EXTERN_C BOOL WINAPI TF_IsFullScreenWindowAcitvated(VOID)
EXTERN_C HRESULT WINAPI TF_ClearLangBarAddIns(_In_ REFGUID guid)
LPTSTR GetUserSIDString(void)
CRITICAL_SECTION g_csDelayLoad
EXTERN_C LONG WINAPI TF_CheckThreadInputIdle(_In_ DWORD dwThreadId, _In_ DWORD dwMilliseconds)
EXTERN_C HRESULT WINAPI TF_CreateDisplayAttributeMgr(_Out_ ITfDisplayAttributeMgr **ppdam)
EXTERN_C BOOL WINAPI TF_UninitSystem(VOID)
TCHAR g_szUserUnique[MAX_PATH]
static BOOL RunCPLSetting(LPCTSTR pszCmdLine)
DWORD g_dwAppCompatibility
BOOL ProcessAttach(HINSTANCE hinstDLL)
EXTERN_C HRESULT WINAPI TF_RegisterLangBarAddIn(_In_ REFGUID rguid, _In_ LPCWSTR pszFilePath, _In_ DWORD dwFlags)
UINT g_uLangHotKeyModifiers
UINT g_msgNuiMgrDirtyUpdate
void GetDesktopUniqueName(_In_ LPCTSTR pszName, _Out_ LPTSTR pszBuff, _In_ UINT cchBuff)
EXTERN_C HRESULT WINAPI TF_RunInputCPL(VOID)
UINT g_msgThreadTerminate
BOOL InitLangChangeHotKey(VOID)
UINT g_uKeyTipHotKeyVKey2
TCHAR g_szAsmListCache[MAX_PATH]
BOOL InitUserSidString(void)
BOOL InitUniqueString(void)
EXTERN_C BOOL WINAPI TF_InitSystem(VOID)
CicFileMappingStatic g_SharedMemory
TCHAR g_szTimListCache[MAX_PATH]
UINT g_uKeyTipHotKeyModifiers
BOOL g_fNoITextStoreAnchor
UINT g_msgThreadItemChange
EXTERN_C BOOL WINAPI TF_IsCtfmonRunning(VOID)
BOOL FullPathExec(LPCTSTR pszExeFile, LPCTSTR pszCmdLine, UINT nCmdShow, BOOL bSysWinDir)
EXTERN_C HICON WINAPI TF_GetLangIcon(_In_ LANGID LangID, _Out_ PWSTR pszText, _In_ INT cchText)
EXTERN_C BOOL WINAPI TF_IsInMarshaling(_In_ DWORD dwThreadId)
EXTERN_C HRESULT WINAPI TF_CUASAppFix(_In_ LPCSTR pszName)
EXTERN_C HRESULT WINAPI TF_GetInputScope(_In_opt_ HWND hWnd, _Out_ ITfInputScope **ppInputScope)
VOID ProcessDetach(HINSTANCE hinstDLL)
EXTERN_C HANDLE WINAPI TF_CreateCicLoadMutex(_Out_ LPBOOL pfWinLogon)
BOOL g_fDllProcessDetached
CRITICAL_SECTION g_csInDllMain
EXTERN_C BOOL WINAPI TF_DllDetachInOther(VOID)
TCHAR g_szUserSidString[MAX_PATH]
TCHAR g_szLayoutsCache[MAX_PATH]
#define RegCloseKey(hKey)
EXTERN_C BOOL cicIsWow64(VOID)
EXTERN_C void cicGetOSInfo(LPUINT puACP, LPDWORD pdwOSInfo)
static void cicMemFree(LPVOID ptr)
#define CIC_OSINFO_XPPLUS
static LPVOID cicMemAllocClear(SIZE_T size)
LSTATUS QuerySz(LPCTSTR pszValueName, LPTSTR pszValue, DWORD cchValueMax)
LSTATUS SetDword(LPCTSTR pszValueName, DWORD dwValue)
LSTATUS Open(HKEY hKey, LPCTSTR lpSubKey, REGSAM samDesired=KEY_READ)
LSTATUS RecurseDeleteKey(LPCTSTR lpSubKey)
LSTATUS Create(HKEY hKey, LPCTSTR lpSubKey)
LSTATUS SetSzW(LPCWSTR pszValueName, LPCWSTR pszValue)
LSTATUS QueryDword(LPCTSTR pszValueName, LPDWORD pdwValue)
static LSTATUS(WINAPI *pRegDeleteTreeW)(HKEY
BOOL WINAPI GetTokenInformation(HANDLE TokenHandle, TOKEN_INFORMATION_CLASS TokenInformationClass, LPVOID TokenInformation, DWORD TokenInformationLength, PDWORD ReturnLength)
BOOL WINAPI OpenProcessToken(HANDLE ProcessHandle, DWORD DesiredAccess, PHANDLE TokenHandle)
#define GetCurrentProcess()
#define WideCharToMultiByte
BOOL WINAPI TlsFree(IN DWORD Index)
int WINAPI lstrcmpiA(LPCSTR str1, LPCSTR str2)
LCID WINAPI GetSystemDefaultLCID(void)
DWORD WINAPI DECLSPEC_HOTPATCH TlsAlloc(void)
INT WINAPI StringFromGUID2(REFGUID id, LPOLESTR str, INT cmax)
HLOCAL NTAPI LocalFree(HLOCAL hMem)
VOID UninitINAT(VOID)
@implemented
#define CTF_COMPAT_DELAY_FIRST_ACTIVATE
static HANDLE ULONG_PTR dwData
static const WCHAR szName[]
#define IsEqualGUID(rguid1, rguid2)
#define ConvertSidToStringSid
BOOL WINAPI InitializeCriticalSectionAndSpinCount(OUT LPCRITICAL_SECTION lpCriticalSection, IN DWORD dwSpinCount)
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_writes_opt_ NumCharacters PUSHORT _Inout_ PUSHORT _In_ UCHAR _In_opt_ USHORT LangID
#define NORMAL_PRIORITY_CLASS
#define STARTF_USESHOWWINDOW
DWORD WINAPI GetCurrentThreadId(void)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
void WINAPI DeleteCriticalSection(PCRITICAL_SECTION)
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
#define HKEY_LOCAL_MACHINE
#define HKEY_CURRENT_USER
HDESK WINAPI GetThreadDesktop(_In_ DWORD)
HKL WINAPI GetKeyboardLayout(_In_ DWORD)
UINT WINAPI RegisterWindowMessageA(_In_ LPCSTR)
#define SM_MIDEASTENABLED
int WINAPI GetSystemMetrics(_In_ int)
#define SW_SHOWMINNOACTIVE
#define GetUserObjectInformation
struct _TOKEN_USER * PTOKEN_USER