[KERNEL32][SDK] RegisterConsoleIME and UnregisterConsoleIME (#5270)

The conime.exe program exists in WinXP/Win2k3 and it realizes Console IME. conime.exe calls kernel32!RegisterConsoleIME and kernel32!UnregisterConsoleIME. To realize Console IME, these two functions are required. CORE-11700
This commit is contained in:
Katayama Hirofumi MZ 2023-05-07 22:55:46 +09:00 committed by GitHub
parent c50b94579e
commit 8b948ff062
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 121 additions and 5 deletions

View file

@ -894,6 +894,22 @@ typedef struct _CONSOLE_REGISTERVDM
PVOID VDMBuffer;
} CONSOLE_REGISTERVDM, *PCONSOLE_REGISTERVDM;
typedef struct _CONSOLE_REGISTERCONSOLEIME
{
HANDLE ConsoleHandle;
HWND hWnd;
DWORD dwThreadId;
DWORD cbDesktop;
LPWSTR pDesktop;
DWORD dwAttachToThreadId;
} CONSOLE_REGISTERCONSOLEIME, *PCONSOLE_REGISTERCONSOLEIME;
typedef struct _CONSOLE_UNREGISTERCONSOLEIME
{
HANDLE ConsoleHandle;
DWORD dwThreadId;
} CONSOLE_UNREGISTERCONSOLEIME, *PCONSOLE_UNREGISTERCONSOLEIME;
typedef struct _CONSOLE_API_MESSAGE
{
PORT_MESSAGE Header;
@ -1002,6 +1018,10 @@ typedef struct _CONSOLE_API_MESSAGE
/* Virtual DOS Machine */
CONSOLE_REGISTERVDM RegisterVDMRequest;
/* Console IME */
CONSOLE_REGISTERCONSOLEIME RegisterConsoleIME;
CONSOLE_UNREGISTERCONSOLEIME UnregisterConsoleIME;
} Data;
} CONSOLE_API_MESSAGE, *PCONSOLE_API_MESSAGE;