[IMM32][SDK][NTUSER] Implement CtfImmTIMActivate (#6041)

- Add Imm32InitTLS, Imm32AllocateTLS, Imm32GetTLS,
  Imm32GetCoInitCountSkip, Imm32IncCoInitCountSkip, and
  Imm32DecCoInitCountSkip helper functions to
  control the TLS data.
- Introduce "CoInitialize Spy" (ISPY) to manage COM
  initialization status.
- Implement CtfImmCoInitialize and CtfImmCoUninitialize.
- Implement CtfImmEnterCoInitCountSkipMode and
  CtfImmLeaveCoInitCountSkipMode.
- Implement CtfImmLastEnabledWndDestroy,
  ImmDisableTextFrameService, and CtfImmTIMActivate.
CORE-19268
This commit is contained in:
Katayama Hirofumi MZ 2023-11-30 17:22:50 +09:00 committed by GitHub
parent 01a8288d28
commit 931224fbe1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 683 additions and 46 deletions

View file

@ -303,6 +303,8 @@ typedef struct _CALLBACKWND
#define CI_CURTHPRHOOK 0x00000010
#define CI_CLASSESREGISTERED 0x00000020
#define CI_IMMACTIVATE 0x00000040 /* IMM/IME (Asian input) */
#define CI_CTFCOINIT 0x00000080 /* Did CTF CoInitialize? */
#define CI_CTFTIM 0x00000100 /* CTF Thread Input Manager (TIM) */
#define CI_TSFDISABLED 0x00000400 /* TSF (Text Services Framework a.k.a. Cicero) */
#define CI_AIMMACTIVATED 0x00000800 /* Active IMM (AIMM) */