2023-12-11 13:37:25 +00:00
|
|
|
/*
|
|
|
|
* PROJECT: ReactOS msctfime.ime
|
|
|
|
* LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
|
|
|
|
* PURPOSE: Supporting IME interface of Text Input Processors (TIPs)
|
|
|
|
* COPYRIGHT: Copyright 2023 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
|
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <stdlib.h>
|
|
|
|
|
|
|
|
#define WIN32_NO_STATUS
|
|
|
|
#define COBJMACROS
|
2023-12-18 12:56:21 +00:00
|
|
|
#define INITGUID
|
2023-12-11 13:37:25 +00:00
|
|
|
|
|
|
|
#include <windows.h>
|
|
|
|
#include <imm.h>
|
2024-02-13 11:33:14 +00:00
|
|
|
#include <immdev.h>
|
|
|
|
#include <imm32_undoc.h>
|
2023-12-19 10:23:52 +00:00
|
|
|
#include <cguid.h>
|
2023-12-26 03:07:01 +00:00
|
|
|
#include <tchar.h>
|
2023-12-18 10:11:17 +00:00
|
|
|
#include <msctf.h>
|
2023-12-19 10:23:52 +00:00
|
|
|
#include <ctffunc.h>
|
2023-12-18 10:11:17 +00:00
|
|
|
#include <shlwapi.h>
|
2023-12-11 13:37:25 +00:00
|
|
|
#include <strsafe.h>
|
|
|
|
|
2024-02-17 00:53:50 +00:00
|
|
|
#include <cicbase.h>
|
|
|
|
#include <cicarray.h>
|
|
|
|
#include <cicimc.h>
|
|
|
|
#include <cictf.h>
|
2024-02-21 01:36:32 +00:00
|
|
|
#include <cicreg.h>
|
2024-02-17 00:53:50 +00:00
|
|
|
#include <ciccaret.h>
|
|
|
|
#include <cicuif.h>
|
|
|
|
#include <cicutb.h>
|
2023-12-18 10:11:17 +00:00
|
|
|
|
2023-12-11 13:37:25 +00:00
|
|
|
#include <wine/debug.h>
|
|
|
|
|
2024-02-23 10:58:21 +00:00
|
|
|
extern HINSTANCE g_hInst;
|
2024-02-23 08:43:13 +00:00
|
|
|
extern CRITICAL_SECTION g_csLock;
|
2024-02-20 12:11:08 +00:00
|
|
|
|
2024-02-23 08:43:13 +00:00
|
|
|
typedef CicArray<GUID> CDispAttrPropCache;
|
|
|
|
extern CDispAttrPropCache *g_pPropCache;
|
2024-02-22 06:46:05 +00:00
|
|
|
|
2024-02-23 10:58:21 +00:00
|
|
|
HRESULT
|
|
|
|
Inquire(
|
|
|
|
_Out_ LPIMEINFO lpIMEInfo,
|
|
|
|
_Out_ LPWSTR lpszWndClass,
|
|
|
|
_In_ DWORD dwSystemInfoFlags,
|
|
|
|
_In_ HKL hKL);
|
|
|
|
|
2024-02-20 12:11:08 +00:00
|
|
|
DEFINE_GUID(GUID_COMPARTMENT_CTFIME_DIMFLAGS, 0xA94C5FD2, 0xC471, 0x4031, 0x95, 0x46, 0x70, 0x9C, 0x17, 0x30, 0x0C, 0xB9);
|
|
|
|
DEFINE_GUID(GUID_COMPARTMENT_CTFIME_CICINPUTCONTEXT, 0x85A688F7, 0x6DC8, 0x4F17, 0xA8, 0x3A, 0xB1, 0x1C, 0x09, 0xCD, 0xD7, 0xBF);
|
2024-02-22 09:43:08 +00:00
|
|
|
DEFINE_GUID(GUID_MODEBIAS_FILENAME, 0xD7F707FE, 0x44C6, 0x4FCA, 0x8E, 0x76, 0x86, 0xAB, 0x50, 0xC7, 0x93, 0x1B);
|
|
|
|
DEFINE_GUID(GUID_MODEBIAS_NUMERIC, 0x4021766C, 0xE872, 0x48FD, 0x9C, 0xEE, 0x4E, 0xC5, 0xC7, 0x5E, 0x16, 0xC3);
|
|
|
|
DEFINE_GUID(GUID_MODEBIAS_URLHISTORY, 0x8B0E54D9, 0x63F2, 0x4C68, 0x84, 0xD4, 0x79, 0xAE, 0xE7, 0xA5, 0x9F, 0x09);
|
|
|
|
DEFINE_GUID(GUID_MODEBIAS_DEFAULT, 0xF3DA8BD4, 0x0786, 0x49C2, 0x8C, 0x09, 0x68, 0x39, 0xD8, 0xB8, 0x4F, 0x58);
|
2024-02-23 04:45:00 +00:00
|
|
|
DEFINE_GUID(GUID_PROP_MODEBIAS, 0x372E0716, 0x974F, 0x40AC, 0xA0, 0x88, 0x08, 0xCD, 0xC9, 0x2E, 0xBF, 0xBC);
|
2024-02-22 09:43:08 +00:00
|
|
|
#define GUID_MODEBIAS_NONE GUID_NULL
|
2024-02-20 12:11:08 +00:00
|
|
|
|
2023-12-11 13:37:25 +00:00
|
|
|
#include "resource.h"
|
|
|
|
|
2024-02-20 12:11:08 +00:00
|
|
|
#include "bridge.h"
|
|
|
|
#include "inputcontext.h"
|
2024-02-22 09:43:08 +00:00
|
|
|
#include "misc.h"
|
2024-02-20 12:11:08 +00:00
|
|
|
#include "profile.h"
|
|
|
|
#include "sinks.h"
|
|
|
|
#include "tls.h"
|
|
|
|
#include "ui.h"
|