Commit graph

1282 commits

Author SHA1 Message Date
Katayama Hirofumi MZ
f2d34ab4c9 [SDK] Add cicRealCoCreateInstance into <cicero/cicbase.h>
It looks like Cicero wants to hook CoCreateInstance.
CORE-19363
2023-12-23 11:02:40 +09:00
Katayama Hirofumi MZ
eb72347672 [CTFMON][MSCTFIME][SDK] Refactoring on Cicero design
CORE-19362
2023-12-23 09:34:41 +09:00
Katayama Hirofumi MZ
50755684cf [CTFMON][SDK] Move ClosePopupTipbar and GetPopupTipbar
Refactoring. CORE-19362
2023-12-23 08:27:47 +09:00
Katayama Hirofumi MZ
1726ee83e7 [MSCTFIME][SDK] s/IMCCLock/CicIMCCLock/ and s/IMCLock/CicIMCLock/
Refactoring. CORE-19360
2023-12-22 14:52:49 +09:00
Katayama Hirofumi MZ
91b740f900 [SDK] Add <cicero/cicevent.h>
CORE-19361
2023-12-22 12:26:43 +09:00
Katayama Hirofumi MZ
eaa975c54e [SDK] Add <cicero/cicmutex.h>
CORE-19361
2023-12-22 12:13:27 +09:00
Katayama Hirofumi MZ
c4308d1e49 [CTFMON][MSCTFIME][SDK] Improve cicGetOSInfo
and s/OSINFO_/CIC_OSINFO/.
Adapt ctfmon and msctfime to these changes.
CORE-19360
2023-12-22 11:52:06 +09:00
Katayama Hirofumi MZ
df9c535542
[MSCTFIME][SDK] Improve CicArray (#6217)
- Add template type parameter.
- Use size_t for indexing instead of INT.
- Protect CicArray members.
- Adapt msctfime to new CicArray.
CORE-19360
2023-12-21 20:17:35 +09:00
Katayama Hirofumi MZ
7d6fc57ec9
[CTFMON][MSCTFIME][SDK] Renaming for Cicero (#6216)
Keep consistency with Cicero naming rule.
- s/CModulePath/CicSystemModulePath/.
- s/GetOSInfo/cicGetOSInfo/.
- s/IsWow64/cicIsWow64/.
- s/GetSystemModuleHandle/cicGetSystemModuleHandle/.
- s/LoadSystemLibrary/cicLoadSystemLibrary/.
- Move cicGetOSInfo and cicIsWow64
  to <cicero/cicbase.h>.
- Delete some Cicero headers.
- Adapt ctfmon and msctfime to
  these changes.
CORE-19360
2023-12-21 19:05:33 +09:00
Katayama Hirofumi MZ
814cb188c6
[MSCTFIME][SDK] Implement CicInputContext::OnCleanupContext (#6213)
- Strengthen CicInputContext class.
- Modify <cicero/imclock.h>.
- add __cxa_pure_virtual function.
CORE-19360
2023-12-21 16:23:23 +09:00
Katayama Hirofumi MZ
f5b0c66a05 [SDK] msctf.idl: Add ITfCleanupContextSink
CORE-19360
2023-12-21 12:44:07 +09:00
Eric Kohl
92942fbbd8 [IDL] Revert commit c03899fc 2023-12-20 15:13:40 +01:00
Eric Kohl
c03899fc7f [IDL] Add missing PNP_VETO_TYPE 2023-12-20 15:09:03 +01:00
Eric Kohl
71df39b027 [IDL][SETUPAPI][UMPNPMGR] Improve PNP_RegisterNotification
- The 2nd parameter is the handle to the recipient.
- The 8th parameter is the callers process id.
2023-12-20 14:49:30 +01:00
Katayama Hirofumi MZ
954598037f
[MSCTFIME][SDK] Implement CCompartmentEventSink (#6205)
- Modify <cicero/cicbase.h> and
  <cicero/cicarray.h>.
- Add CCompartmentEventSink class.
CORE-19360
2023-12-20 22:01:39 +09:00
Katayama Hirofumi MZ
209e9a7c1d [SDK] Add <cicero/cicarray.h> and <cicero/cicreg.h>
CORE-19360
2023-12-20 20:49:21 +09:00
Katayama Hirofumi MZ
9d495475f0
[MSCTFIME][MSCTF][SDK] Add compartment helper functions (#6202)
- Implement GetCompartment,
  SetCompartmentDWORD,
  GetCompartmentDWORD,
  SetCompartmentUnknown, and
  ClearCompartment helper functions.
- Add TF_DllDetachInOther prototype
  to "msctf.idl".
CORE-19360
2023-12-20 17:51:37 +09:00
Katayama Hirofumi MZ
5197d36839 [MSCTFIME] Refactor on IMC/IMCC locking
- Rename _IMCCLock as IMCCLOCK.
- Rename InternalIMCCLock as IMCCLock.
- Rename _IMCLock as IMCLOCK.
- Add get() pointer accessor of IMCCLock and IMCLOCK.
- Protect the pointer of IMCCLOCK and IMCLOCK.
CORE-19360
2023-12-19 16:12:12 +09:00
Katayama Hirofumi MZ
52bd0c0c18
[MSCTFIME][SDK] Implement CtfImeGuidAtom (#6196)
- Add CTFIMECONTEXT structure.
- Add CicInputContext class.
- Rename INPUTCONTEXTDX.dwUnknown5 as
  hCtfImeContext and retype it as HIMCC.
- Implement CtfImeGetGuidAtom by using them.
CORE-19360
2023-12-19 15:46:13 +09:00
Katayama Hirofumi MZ
6d100d5b29
[MSCTFIME][SDK] Implement CtfImeIsGuidMapEnable (#6195)
- Add link to imm32.dll.
- Add <cicero/imclock.h>.
- Add INIT_GUIDMAP constant to <immdev.h>.
- Implement CtfImeIsGuidMapEnable by using them.
CORE-19360
2023-12-19 15:23:12 +09:00
Katayama Hirofumi MZ
8f8db4ddb6
[MSCTFIME][IMM32][SDK] Implement CtfImeInquireExW (#6187)
- Use C++.
- Adapt INPUTCONTEXTDX to C++.
- Add some global variables.
- Add DllShutDownInProgress function.
- Add TLS class.
- Modify CtfImeInquireExW prototype.
- Modify Imm32InquireIme for
  CtfImeInquireExW.
CORE-19360
2023-12-18 19:11:17 +09:00
Timo Kreuzer
835438f614 [NDK] Sync KUSER_SHARED_DATA with XDK 2023-12-16 14:04:36 +02:00
Timo Kreuzer
5f0e98ea3c [XDK] Add offsets to KUSER_SHARED_DATA and improve structure
Offsets taken from vergiliusproject.com.
2023-12-16 14:04:36 +02:00
Timo Kreuzer
aafe33ca85 [XDK] Remove obsolete _ANONYMOUS_STRUCT/UNION 2023-12-16 14:04:36 +02:00
Timo Kreuzer
f42e9029f7 [XDK] Apply standard formatting to KUSER_SHARED_DATA 2023-12-16 14:04:36 +02:00
Timo Kreuzer
766a093f70 [XDK][NDK] Update XSTATE definitions 2023-12-16 14:04:36 +02:00
Katayama Hirofumi MZ
079b36542c
[CTFMON][SDK] Add ctfmon.exe (#6149)
ctfmon.exe will be a replacement of our
kbswitch.exe in the future. That is the
front-end of Language Bar. It is needed
to support TIPs.
- Add ctfmon.exe at base/applications/ctfmon.
- Add <cicero/cicbase.h>,
  <cicero/CModulePath.h>, and
  <cicero/osinfo.h> headers and use them.
CORE-19362
2023-12-13 21:37:15 +09:00
Katayama Hirofumi MZ
bfd5d37fe6
[MSCTF][SDK][UUID] Strengthen msctf.idl and msctf.spec (#6158)
- Add some function prototypes to
  sdk/include/psdk/msctf.idl.
- Modify dll/win32/msctf/msctf.spec.
- Modify uuid.
CORE-19362
2023-12-13 07:37:45 +09:00
Katayama Hirofumi MZ
3a2c2cbe60
[SDK][UUID] Add ctffunc.idl (#6157)
- Add ctffunc.idl to sdk/include/psdk.
- Modify uuid.
CORE-19362
2023-12-13 07:36:20 +09:00
Katayama Hirofumi MZ
17617221ce
[MSCTFIME][SDK][USER32] Add msctfime.ime (stub) (#6141)
## Overview
1. msctfime.ime is an IME file interface
  for new-style IMEs a.k.a. "Text Input
  Processors" (TIPs).
2. msctfime.ime is loaded as old-style
  IME file at ImmLoadLayout in specific
  condition.
3. msctfime.ime communicates with
  the current TIP (This feature is not
  implemented yet).

## Proposed changes
- Add msctfime module at dll/ime/msctfime.
- The functions in this module are currently
  stub.
- Move IME file interface declarations from
  <imm.h> to <ddk/immdev.h>.
- Modify ImmNotifyIME, NotifyIME, and
  ImeProcessKey prototypes for x64
  compliance.
CORE-19360
2023-12-11 22:37:25 +09:00
Katayama Hirofumi MZ
045e9dee58
[SDK][UUID] Strengthen <ctfutb.h> (#6135)
For supporting Text Input Processors (TIPs).
Add many TSF interfaces and definitions into "ctfutb.idl".
CORE-19268
2023-12-11 07:51:17 +09:00
Andrei Miloiu
63276e6343
[MYEVENTPROVIDER_DLL][MC] Update Romanian (ro-RO) translation to message table (#6075) 2023-12-09 20:23:30 +01:00
Andrei Miloiu
ffb7f0ea1b
[PCICLASS][MC] Update Romanian (ro-RO) translation (#6116) 2023-12-09 20:04:43 +01:00
Timo Kreuzer
d87b45bee7 [NDK] Add Affinity helper inline functions 2023-12-08 19:28:57 +02:00
Serge Gautherie
0c568c0c90
[XDK] kefuncs.h: Unduplicate 2 function definitions (#6057) 2023-12-04 13:49:57 +01:00
Hermès Bélusca-Maïto
48456d9108
[NDK] ldrfuncs.h: Add RtlDllShutdownInProgress; make the header C++-compatible (#6071)
The function is added here, because it is loader-related
and thus making sense there, instead of in rtlfuncs.h.
2023-12-04 13:47:33 +01:00
Katayama Hirofumi MZ
6e449d47e8
[IMM32][KERNEL32][SDK] Half-implement BaseCheckAppcompatCache (#6069)
- And add it to <compat_undoc.h>.
- Use <compat_undoc.h> in IMM32.
- Modify kernel32.spec.
CORE-19268
2023-12-03 23:40:49 +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
d795021a75
[IMM32][SDK] Implement GetKeyboardLayoutCP (#6068)
- Add IMM32!GetKeyboardLayoutCP function.
- Add it to <imm32_undoc.h>.
- Delete ImmDisableLegacyIME and
  ImmSendMessageToActiveDefImeWndW functions
  (2k3/xp IMM32 doesn't have such functions).
- Modify imm32.spec.
- Refer ntdll!RtlDllShutdownInProgress function (that is WinXP+).
CORE-19268
2023-12-03 07:46:35 +09:00
Timo Kreuzer
40b6b1dab3 [HAL] Implement IPI support functions 2023-12-03 00:07:53 +02:00
Katayama Hirofumi MZ
4bccb6e6c9
[SHELL32][SDK][SHELL32_APITEST] Add PathIsTemporaryA/W (#6067)
- Implement PathIsTemporaryA and
  PathIsTemporaryW functions.
- Add them to <undocshell.h>.
- Add PathIsTemporary testcase.
CORE-19278
2023-12-02 23:07:28 +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
2aeda3dc15
[SHELL32][SHELL32_APITEST][SDK] Implement PathIsEqualOrSubFolder (#5714)
Implement PathIsEqualOrSubFolder function.
- Add it to <undocshell.h>.
- Add PathIsEqualOrSubFolder testcase.
- Add SHGetPathCchFromIDListW as an
  extension of SHGetPathFromIDListW.
CORE-19278
2023-11-29 22:50:01 +09:00
Katayama Hirofumi MZ
9d0b6f3185 [IMM32][SDK] Implement CtfImmSetCiceroStartInThread
- Add CtfImmSetCiceroStartInThread function.
- Add its prototype to <imm32_undoc.h>
- Modify imm32.spec.

CORE-19268
2023-11-26 08:58:59 +09:00
Katayama Hirofumi MZ
3b2fdc56bd
[IMM32][SDK][NTUSER][IMM32_WINETEST] Add CtfImmGenerateMessage (#6037)
Implementing advanced text service...

- Add CtfImmGenerateMessage function.
- Modify imm32.spec.
- Move TRANSMSG, TRANSMSGLIST etc. in
  win32ss/include/ntuser.h to <immdev.h>.
- Move win32ss/include/imetable.h to
  sdk/include/reactos/imetable.h.
- Move dll/win32/imm32/CtfImeTable.h to
  sdk/include/reactos/CtfImeTable.h.
- Fix build failure of imm32_winetest due
  to TRANSMSG redefinition.

CORE-19268
2023-11-25 22:46:00 +09:00
Katayama Hirofumi MZ
bd06299059
[IMM32][SDK] Implement IME Soft Keyboard Type T1 (#6021)
- Rename version.rc as imm32.rc.
- Add resource.h and t1keys.h.
- Add some resource bitmaps.
- Modify <immdev.h>.

Test:
Press Ctrl+Alt+comma on FreeCJ2004.

NOTE: There's a visual bug in PatBlt with negative values.
CORE-19268
2023-11-24 23:02:19 +09:00
Hermès Bélusca-Maïto
c77a5ff99b
Revert my last commits that break build.
Revert "[PSDK][AFD][VGADDI] Further build and MS PSDK compatibility fixes."
This reverts commit 99efc2ae50.

Revert "[PSDK] Sync winresrc.h with wine-8.20"
This reverts commit 3e83562aa7.

Revert "[OSK][PROGMAN] Fix resource file build."
This reverts commit 84e4ad0a82.

Revert "[PSDK] Use the new .rh files in winresrc.h"
This reverts commit f6fb7c48c9.
2023-11-23 17:20:47 +01:00
Hermès Bélusca-Maïto
99efc2ae50
[PSDK][AFD][VGADDI] Further build and MS PSDK compatibility fixes.
- windows.h:
  * should define _WINDOWS_ and _INC_WINDOWS instead of _WINDOWS_H
  * include winresrc.h if RC_INVOKED and not NOWINRES (Wine also agrees
    with that)
  * also, some .h included from there should _not_ be included if their
    respective NO*** flags are defined.

- batclass.h: Use correct _WINDOWS_ guard.

- winsnmp.h:
  * should define _INC_WINSNMP instead of _WINSNMP_H
  * use _INC_WINDOWS instead of _WINDOWS_H

- afd.h, vgaddi.h: Use the correct guards.

- winnt.rh: Define the (SUB)LANG_* exactly as they are in the winnt.h,
  otherwise we get macro redefinition compile errors.

NOTE: Ideally these .rh files should be auto-generated from their
corresponding .h files.

- afxres.h: Do not include the whole windows.h, but instead, only
  the winres.h file, and only if RC_INVOKED is defined.

NOTE: Both afxres.h and winres.h do not really belong to the PSDK,
but belong instead to MFC. The reason why we have them here is twofold:

1. Wine used to have also winres.h (from where we got ours). This is
   because the .rc resource files of some non-MFC modules were generated
   with Visual Studio, which always includes afxres.h for these, and the
   solution was to use a slightly less MFC-specific header: winres.h
   (Wine commit cb08c82244673f26842e7a0766de90f091b5a493).
   However, this winres.h has been since removed from Wine tree
   (Wine commit 197f4059ab2af5f13f9c56faa26e3b4af902f869).

2. Few of our modules either use afxres.h or winres.h in their resource
   files, and we still want to be able to compile them.
2023-11-23 16:26:30 +01:00
Hermès Bélusca-Maïto
3e83562aa7
[PSDK] Sync winresrc.h with wine-8.20
It is also compatible with MS PSDK file.

NOTE: I have observed that at least one .rh file (commctrl.rh) we have
from Wine, is not yet fully compatible with its MS PSDK counterpart
(for example it misses the TBSTYLE_* defines).
2023-11-23 16:25:35 +01:00
Hermès Bélusca-Maïto
f6fb7c48c9
[PSDK] Use the new .rh files in winresrc.h 2023-11-23 13:04:32 +01:00