Katayama Hirofumi MZ
8ea93d2ab2
[REACTOS] Standardize <imm.h> and <immdev.h> ( #6493 )
...
Improve header compatibility and
code quality.
JIRA issue: CORE-19268
- Improve <imm.h> and <immdev.h>
compatibility by correctly choosing
the items.
- Use <immdev.h> instead of
<ddk/immdev.h>.
- Move INPUTCONTEXTDX, IMEINFOEX,
IMEDPI, and CLIENTIMC into
<imm32_undoc.h>.
- Adapt to these changes.
2024-02-13 20:33:14 +09:00
Katayama Hirofumi MZ
b7dcc1024b
[IMM32] Rewrite ImmLoadLayout ( #6138 )
...
ImmLoadLayout was buggy.
- Don't do zero fill pImeInfoEx.
- Simplify registry handling.
- Don't reset pImeInfoEx->fLoadFlag if failed early.
CORE-19268
2023-12-09 09:49:57 +09:00
Katayama Hirofumi MZ
75cf6920bc
[IMM32][SDK][NTUSER] Implement ImmProcessKey for Cicero ( #6106 )
...
Complete CTF IMM.
- Add CtfImeProcessCicHotkey and CtfImeSetActiveContextAlways
to access CTF IMEs.
- Check whether Cicero is started in the current thread in ImmProcessKey.
- Call CtfImeProcessCicHotkey if necessary in ImmProcessKey.
- Modify <CtfImeTable.h>.
- Add CI_CICERO_STARTED flag to "ntuser.h".
- Fix Imm32JCloseOpen.
CORE-19268
2023-12-03 17:33:22 +09:00
Katayama Hirofumi MZ
931224fbe1
[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
2023-11-30 17:22:50 +09:00
Katayama Hirofumi MZ
dabb3f4d61
[IMM32][SDK] Add CtfAImmIsIME, CtfImmSetAppCompatFlags etc. ( #5862 )
...
- Add CtfAImmIsIME, CtfImmIsCiceroStartedInThread and CtfImmSetAppCompatFlags functions.
- Implement CtfImmDispatchDefImeMessage function.
- Modify imm32.spec.
- Add the prototypes of ImmGetAppCompatFlags, CtfAImmIsIME, CtfImmIsCiceroStartedInThread,
CtfImmSetAppCompatFlags, and CtfImmDispatchDefImeMessage into <imm32_undoc.h>.
CORE-19268
2023-11-02 08:16:12 +09:00
Katayama Hirofumi MZ
b3194e320c
[IMM32][SDK] Add CtfAImmActivate/Deactivate functions ( #5835 )
...
- Add dll/win32/imm32/CtfImeTable.h for CTF
IME functions.
- Implementing Imm32CheckAndApplyAppCompat,
Imm32LoadCtfIme, and
Imm32EnumCreateCtfICProc helper functions.
- Add CtfAImmActivate and CtfAImmDeactivate
functions.
- s/CI_TFSDISABLED/CI_TSFDISABLED/
CORE-19268
2023-10-31 22:45:28 +09:00
Katayama Hirofumi MZ
a65014e3a0
[IMM32] Add UNEXPECTED() macro for detailed debugging
...
CORE-11700
2022-10-23 12:49:37 +09:00
Katayama Hirofumi MZ
c2a943653e
[IMM32] Improve debuggability at all ( #4798 )
...
- Strengthen tracing.
- Introduce IS_NULL_UNEXPECTEDLY, IS_ZERO_UNEXPECTEDLY etc. macros to manage tracing.
CORE-11700
2022-10-23 09:51:24 +09:00
Katayama Hirofumi MZ
6585803681
[IMM32] Add uCodePage parameter to Imm32WideFromAnsi/Imm32AnsiFromWide
...
This needs for multiple codepage support.
CORE-11700
2022-10-21 16:04:59 +09:00
Katayama Hirofumi MZ
db16a1f783
[IMM32] ImmGetImeInfoEx minor fix
...
CORE-11700
2022-10-21 10:40:38 +09:00
Katayama Hirofumi MZ
8f0e22ac23
[IMM32] Simplify Imm32WriteImeLayout
...
CORE-11700
2022-10-21 10:11:59 +09:00
Katayama Hirofumi MZ
8ba378c901
[IMM32] s/Imm32Is16BitMode/IS_16BIT_MODE/
...
CORE-11700
2022-09-08 09:43:43 +09:00
Katayama Hirofumi MZ
5b87c95e23
[IMM32] s/Imm32IsCiceroMode/IS_CICERO_MODE/
...
CORE-11700
2022-09-08 09:40:50 +09:00
Katayama Hirofumi MZ
ffbdb7d39e
[IMM32][USER32] ImmPutImeMenuItemsIntoMappedFile ( #4588 )
...
Implement inter-process menu item retrieving.
CORE-11700
2022-07-23 05:58:17 +09:00
Katayama Hirofumi MZ
b0b925d2b0
[IMM32] Add ValidateHandle function ( #4467 )
...
Set the last error on failure of handle validation.
CORE-11700
2022-04-23 08:16:53 +09:00
Katayama Hirofumi MZ
e5f637f93f
[IMM32] Add Win: comments more ( #4449 )
...
CORE-11700
2022-04-14 11:23:16 +09:00
Katayama Hirofumi MZ
bc8a4ac37b
[IMM32] Many renamings and 'Win:' info ( #4438 )
...
- Add many Win: comments.
- s/Imm32UnloadIME/Imm32FreeIME/
- s/Imm32LoadImeInfo/Imm32LoadIME/
- s/g_hImm32Inst/ghImm32Inst/
- s/Imm32AllocAndBuildHimcList/Imm32BuildHimcList/
- s/Imm32SelectLayout/Imm32SelectInputContext/
CORE-11700
2022-04-09 10:41:39 +09:00
Katayama Hirofumi MZ
8de7439887
[IMM32] Fix & Rename: s/Imm32LockIMCEx/Imm32InternalLockIMC/ ( #4436 )
...
- Fix & Rename: s/Imm32InitContext/Imm32CreateInputContext/ (Win: IMM32!CreateInputContext).
- Fix & Rename: s/Imm32LockIMCEx/Imm32InternalLockIMC/ (Win: IMM32!InternalImmLockIMC).
- Add CtfImmTIMCreateInputContext stub.
CORE-11700
2022-04-08 22:23:30 +09:00
Katayama Hirofumi MZ
3c1697146f
[IMM32] Renaming: s/g_pImeDpiList/gpImeDpiList/ ( #4434 )
...
Improve debuggability. CORE-11700
2022-04-08 19:02:08 +09:00
Katayama Hirofumi MZ
895909e695
[IMM32] Renaming: s/g_csImeDpi/gcsImeDpi/ ( #4433 )
...
Improve debuggability. CORE-11700
2022-04-08 18:21:54 +09:00
Katayama Hirofumi MZ
97f4c3c3af
[IMM32] Renaming: s/ImmLockOrLoadImeDpi/Imm32FindOrLoadImeDpi/ ( #4422 )
...
- Rename ImmLockOrLoadImeDpi as Imm32FindOrLoadImeDpi.
- Imm32FindOrLoadImeDpi --> Win: FindOrLoadImeDpi.
CORE-11700
2022-03-31 19:35:31 +09:00
Katayama Hirofumi MZ
166786061c
[IMM32] Renaming about IME layout ( #4419 )
...
CORE-11700
2022-03-31 13:52:16 +09:00
Katayama Hirofumi MZ
6dfe032152
[IMM32] Renaming: s/g_SharedInfo/gSharedInfo/ ( #4418 )
...
CORE-11700
2022-03-31 10:00:06 +09:00
Katayama Hirofumi MZ
ed765b7c3b
[IMM32] Renaming: s/pImmHeap/ghImmHeap/ ( #4416 )
...
CORE-11700
2022-03-31 09:11:13 +09:00
Katayama Hirofumi MZ
46518ad601
[IMM32] Renaming: s/Imm32HeapAlloc/ImmLocalAlloc/
...
s/Imm32HeapFree/ImmLocalFree/
CORE-11700
2022-03-29 18:02:25 +09:00
Katayama Hirofumi MZ
0d744afbc7
[IMM32] Renaming: s/g_hImm32Heap/pImmHeap/
...
CORE-11700
2022-03-29 17:59:23 +09:00
Katayama Hirofumi MZ
82fa82d8e1
[IMM32] Renaming: s/g_psi/gpsi/
...
CORE-11700
2022-03-29 17:57:28 +09:00
Katayama Hirofumi MZ
45a4e53fa4
[NTUSER][IMM32] Use Imm32CurrentPti and pool ( #4356 )
...
- Use newly-defined Imm32CurrentPti() instead of NtCurrentTeb()->Win32ThreadInfo.
- THREADSTATE_GETTHREADINFO is same as THREADSTATE_UNKNOWN18.
- Use the paged pool to allocate HIMC rather than heap.
- Fix and improve ImmDestroyContext function.
CORE-11700
2022-02-13 15:51:53 +09:00
Katayama Hirofumi MZ
8cdfc245b3
[IMM32] Implement ImmWINNLSGetEnableStatus
...
CORE-11700
2022-02-10 15:18:44 +09:00
Katayama Hirofumi MZ
df8c74e78b
[INCLUDE] Rename <ddk/imm.h> as <ddk/immdev.h> ( #4321 )
...
- Rename <ddk/imm.h> as <ddk/immdev.h>.
- Delete sdk/include/reactos/wine/imm.h (this header is confusing and nonsense).
- Changes related to it.
CORE-11700
2022-01-30 09:38:04 +09:00
Katayama Hirofumi MZ
356babcaf3
[IMM32] s/Imm32IsImmMode/IS_IMM_MODE/
...
CORE-11700
2022-01-27 07:34:29 +09:00
Katayama Hirofumi MZ
cdf3b5e85a
[NTUSER] Implement NtUserQueryInputContext ( #4227 )
...
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
- Modify NtUserQueryInputContext prototype.
- Implement NtUserQueryInputContext function.
- Add enum QUERY_INPUT_CONTEXT (QIC_*) to undocuser.h.
CORE-11700
2022-01-01 20:56:50 +09:00
Katayama Hirofumi MZ
a37d9a4e14
[IMM32] Rewrite ImmInstallIMEW ( #4044 )
...
- Add Imm32StrToUInt and Imm32UIntToStr helper functions.
- Add Imm32LoadImeVerInfo, Imm32GetRegImes, Imm32WriteRegIme, Imm32GetNextHKL, Imm32CopyFile helper functions.
- Add REG_IME structure for registered IMEs.
- Rewrite ImmInstallIMEW function.
- Improve ImmLoadLayout and Imm32LoadImeInfo functions.
CORE-11700
2021-10-21 10:28:04 +09:00
Katayama Hirofumi MZ
04cb13bc57
[IMM32] Refactor about reconversion ( #4031 )
...
- Delete Imm32ReconvertSize and Imm32ConvertReconvert helper functions.
- Add Imm32ReconvertAnsiFromWide and Imm32ReconvertWideFromAnsi helper functions.
CORE-11700
2021-10-15 22:46:58 +09:00
Katayama Hirofumi MZ
fec35dc893
[IMM32] Improve IchWideFromAnsi and IchAnsiFromWide ( #4028 )
...
- Use LONG instead of DWORD for indexing and counting the characters.
- Use the sign for the loop condition.
- Add NUL check.
CORE-11700
2021-10-15 10:31:08 +09:00
Katayama Hirofumi MZ
264a128f03
[IMM32] Rewrite ImmRequestMessageA/W ( #4002 )
...
- Re-implement ImmRequestMessageA and ImmRequestMessageW functions.
- Add IchWideFromAnsi, IchAnsiFromWide, Imm32RequestError, Imm32ReconvertSize, Imm32ConvertReconvert, and Imm32ProcessRequest helper functions.
CORE-11700
2021-10-09 07:40:56 +09:00
Katayama Hirofumi MZ
4f006ec74b
[IMM32] Add IMP stub functions ( #3989 )
...
- Add IMP (Input Method Profiler) stub functions (ImmIMPGetIMEA/W, ImmIMPQueryIMEA/W, ImmIMPSetIMEA/W).
- Add ImmSendIMEMessageExA/W stub functions.
- Rename nt3.c as win3.c.
The prototypes can be obtained from: https://doxygen.reactos.org/dc/d20/winnls32_8h.html .
The Japanese article of IMP is available: http://www7a.biglobe.ne.jp/~tsuneoka/win32tech/7.html
CORE-11700
2021-10-05 14:07:58 +09:00
Katayama Hirofumi MZ
66ef31494e
[IMM32] Implement ImmActivateLayout ( #3987 )
...
- Add IME_STATE and IME_SUBSTATE structures.
- Modify INPUTCONTEXTDX structure.
- Implement ImmActivateLayout function.
- Improve ImmDestroyContext function by using newly-defined Imm32FreeImeStates.
- Add Imm32FetchImeState, Imm32FetchImeSubState, Imm32LoadImeStateSentence, Imm32SaveImeStateSentence, and Imm32SelectLayout helper functions.
- Modify NtUserSetThreadLayoutHandles prototype.
CORE-11700
2021-10-04 07:33:15 +09:00
Katayama Hirofumi MZ
e6a51b54c4
[IMM32] Move ImmFreeLayout from ime.c to imm.c
...
CORE-11700
2021-10-01 03:10:26 +09:00
Katayama Hirofumi MZ
33affbfecb
[IMM32] Rewrite ImmGetImeMenuItemsA/W ( #3983 )
...
- Rewrite ImmGetImeMenuItemsA and ImmGetImeMenuItemsW functions.
- Add Imm32GetImeMenuItemsAW, Imm32IsImcAnsi, Imm32ImeMenuAnsiToWide and Imm32ImeMenuWideToAnsi helper functions.
- Make IME module's ImeGetImeMenuItems function optional.
CORE-11700
2021-10-01 03:04:00 +09:00
Katayama Hirofumi MZ
be9a788f8b
[IMM32] Improve Imm32CleanupContext and ImmLockClientImc ( #3974 )
...
- Improve Imm32CleanupContext and ImmLockClientImc functions.
- Add ValidateHandleNoErr and Imm32CheckImcProcess helper functions.
CORE-11700
2021-09-27 09:31:16 +09:00
Katayama Hirofumi MZ
ca3fa7197d
[IMM32] Use Imm32IsImmMode and Imm32IsCiceroMode macros ( #3971 )
...
- Define Imm32IsImmMode, Imm32IsCiceroMode and Imm32Is16BitMode macros in "precomp.h".
- Improve Imm32InquireIme and Imm32CleanupContext functions.
- Add IME_SYSINFO_WINLOGON and IME_SYSINFO_WOW16 macros (from DDK) in psdk/imm.h.
- Modify CtfImeInquireExW and CtfImeSelectEx prototype.
CORE-11700
2021-09-24 22:06:29 +09:00
Katayama Hirofumi MZ
e0da6437a1
[IMM32] Define ImeDpi_IsUnicode macro and use it ( #3964 )
...
- Define ImeDpi_IsUnicode macro in precomp.h.
- Use it.
CORE-11700
2021-09-21 12:20:10 +09:00
Katayama Hirofumi MZ
5b522667a6
[IMM32] Define Imm32HeapFree macro and use it ( #3962 )
...
- Define Imm32HeapFree macro in precomp.h and use it.
- Omit some NULL checks (for HeapFree).
CORE-11700
2021-09-19 01:52:05 +09:00
Katayama Hirofumi MZ
afb6c8a129
[IMM32] Rewrite ImmEscapeA/W ( #3959 )
...
- Rewrite ImmEscapeA and ImmEscapeW functions.
- Delete useless legacy code.
CORE-11700
2021-09-16 19:27:43 +09:00
Katayama Hirofumi MZ
b4557a60a9
[IMM32] Restructure! (Retry) ( #3952 )
...
The imm.c file became big and bloated, so we split the source file. CORE-11700
- Split the IMM32 code and do formatting.
2021-09-10 23:39:15 +09:00