1 /* 2 * PROJECT: ReactOS msctfime.ime 3 * LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later) 4 * PURPOSE: Supporting IME interface of Text Input Processors (TIPs) 5 * COPYRIGHT: Copyright 2023 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com> 6 */ 7 8 #pragma once 9 10 #include <stdlib.h> 11 12 #define WIN32_NO_STATUS 13 #define COBJMACROS 14 #define INITGUID 15 16 #include <windows.h> 17 #include <imm.h> 18 #include <immdev.h> 19 #include <imm32_undoc.h> 20 #include <cguid.h> 21 #include <tchar.h> 22 #include <msctf.h> 23 #include <ctffunc.h> 24 #include <shlwapi.h> 25 #include <strsafe.h> 26 27 #include <cicbase.h> 28 #include <cicarray.h> 29 #include <cicimc.h> 30 #include <cictf.h> 31 #include <cicreg.h> 32 #include <ciccaret.h> 33 #include <cicuif.h> 34 #include <cicutb.h> 35 36 #include <wine/debug.h> 37 38 extern HINSTANCE g_hInst; 39 extern CRITICAL_SECTION g_csLock; 40 41 typedef CicArray<GUID> CDispAttrPropCache; 42 extern CDispAttrPropCache *g_pPropCache; 43 44 HRESULT 45 Inquire( 46 _Out_ LPIMEINFO lpIMEInfo, 47 _Out_ LPWSTR lpszWndClass, 48 _In_ DWORD dwSystemInfoFlags, 49 _In_ HKL hKL); 50 51 DEFINE_GUID(GUID_COMPARTMENT_CTFIME_DIMFLAGS, 0xA94C5FD2, 0xC471, 0x4031, 0x95, 0x46, 0x70, 0x9C, 0x17, 0x30, 0x0C, 0xB9); 52 DEFINE_GUID(GUID_COMPARTMENT_CTFIME_CICINPUTCONTEXT, 0x85A688F7, 0x6DC8, 0x4F17, 0xA8, 0x3A, 0xB1, 0x1C, 0x09, 0xCD, 0xD7, 0xBF); 53 DEFINE_GUID(GUID_MODEBIAS_FILENAME, 0xD7F707FE, 0x44C6, 0x4FCA, 0x8E, 0x76, 0x86, 0xAB, 0x50, 0xC7, 0x93, 0x1B); 54 DEFINE_GUID(GUID_MODEBIAS_NUMERIC, 0x4021766C, 0xE872, 0x48FD, 0x9C, 0xEE, 0x4E, 0xC5, 0xC7, 0x5E, 0x16, 0xC3); 55 DEFINE_GUID(GUID_MODEBIAS_URLHISTORY, 0x8B0E54D9, 0x63F2, 0x4C68, 0x84, 0xD4, 0x79, 0xAE, 0xE7, 0xA5, 0x9F, 0x09); 56 DEFINE_GUID(GUID_MODEBIAS_DEFAULT, 0xF3DA8BD4, 0x0786, 0x49C2, 0x8C, 0x09, 0x68, 0x39, 0xD8, 0xB8, 0x4F, 0x58); 57 DEFINE_GUID(GUID_PROP_MODEBIAS, 0x372E0716, 0x974F, 0x40AC, 0xA0, 0x88, 0x08, 0xCD, 0xC9, 0x2E, 0xBF, 0xBC); 58 #define GUID_MODEBIAS_NONE GUID_NULL 59 60 #include "resource.h" 61 62 #include "bridge.h" 63 #include "inputcontext.h" 64 #include "misc.h" 65 #include "profile.h" 66 #include "sinks.h" 67 #include "tls.h" 68 #include "ui.h" 69