https://git.reactos.org/?p=reactos.git;a=commitdiff;h=2fa04363728fe187bf9b8a...
commit 2fa04363728fe187bf9b8ac9f9219e7abfdbcbd7 Author: Katayama Hirofumi MZ katayama.hirofumi.mz@gmail.com AuthorDate: Fri Jul 9 23:31:42 2021 +0900 Commit: GitHub noreply@github.com CommitDate: Fri Jul 9 23:31:42 2021 +0900
[SDK][INCLUDE] Add offset info to INPUTCONTEXT (#3809)
Add offset and size information to INPUTCONTEXT structure for information help. CORE-11700 --- sdk/include/reactos/wine/ddk/imm.h | 40 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+)
diff --git a/sdk/include/reactos/wine/ddk/imm.h b/sdk/include/reactos/wine/ddk/imm.h index 0ee7ee52904..583dbd63cc1 100644 --- a/sdk/include/reactos/wine/ddk/imm.h +++ b/sdk/include/reactos/wine/ddk/imm.h @@ -47,6 +47,46 @@ typedef struct _tagINPUTCONTEXT { DWORD dwReserve[3]; } INPUTCONTEXT, *LPINPUTCONTEXT;
+#ifdef _WIN64 +C_ASSERT(offsetof(INPUTCONTEXT, hWnd) == 0x0); +C_ASSERT(offsetof(INPUTCONTEXT, fOpen) == 0x8); +C_ASSERT(offsetof(INPUTCONTEXT, ptStatusWndPos) == 0xc); +C_ASSERT(offsetof(INPUTCONTEXT, ptSoftKbdPos) == 0x14); +C_ASSERT(offsetof(INPUTCONTEXT, fdwConversion) == 0x1c); +C_ASSERT(offsetof(INPUTCONTEXT, fdwSentence) == 0x20); +C_ASSERT(offsetof(INPUTCONTEXT, lfFont) == 0x24); +C_ASSERT(offsetof(INPUTCONTEXT, cfCompForm) == 0x80); +C_ASSERT(offsetof(INPUTCONTEXT, cfCandForm) == 0x9c); +C_ASSERT(offsetof(INPUTCONTEXT, hCompStr) == 0x120); +C_ASSERT(offsetof(INPUTCONTEXT, hCandInfo) == 0x128); +C_ASSERT(offsetof(INPUTCONTEXT, hGuideLine) == 0x130); +C_ASSERT(offsetof(INPUTCONTEXT, hPrivate) == 0x138); +C_ASSERT(offsetof(INPUTCONTEXT, dwNumMsgBuf) == 0x140); +C_ASSERT(offsetof(INPUTCONTEXT, hMsgBuf) == 0x148); +C_ASSERT(offsetof(INPUTCONTEXT, fdwInit) == 0x150); +C_ASSERT(offsetof(INPUTCONTEXT, dwReserve) == 0x154); +C_ASSERT(sizeof(INPUTCONTEXT) == 0x160); +#else +C_ASSERT(offsetof(INPUTCONTEXT, hWnd) == 0x0); +C_ASSERT(offsetof(INPUTCONTEXT, fOpen) == 0x4); +C_ASSERT(offsetof(INPUTCONTEXT, ptStatusWndPos) == 0x8); +C_ASSERT(offsetof(INPUTCONTEXT, ptSoftKbdPos) == 0x10); +C_ASSERT(offsetof(INPUTCONTEXT, fdwConversion) == 0x18); +C_ASSERT(offsetof(INPUTCONTEXT, fdwSentence) == 0x1c); +C_ASSERT(offsetof(INPUTCONTEXT, lfFont) == 0x20); +C_ASSERT(offsetof(INPUTCONTEXT, cfCompForm) == 0x7c); +C_ASSERT(offsetof(INPUTCONTEXT, cfCandForm) == 0x98); +C_ASSERT(offsetof(INPUTCONTEXT, hCompStr) == 0x118); +C_ASSERT(offsetof(INPUTCONTEXT, hCandInfo) == 0x11c); +C_ASSERT(offsetof(INPUTCONTEXT, hGuideLine) == 0x120); +C_ASSERT(offsetof(INPUTCONTEXT, hPrivate) == 0x124); +C_ASSERT(offsetof(INPUTCONTEXT, dwNumMsgBuf) == 0x128); +C_ASSERT(offsetof(INPUTCONTEXT, hMsgBuf) == 0x12c); +C_ASSERT(offsetof(INPUTCONTEXT, fdwInit) == 0x130); +C_ASSERT(offsetof(INPUTCONTEXT, dwReserve) == 0x134); +C_ASSERT(sizeof(INPUTCONTEXT) == 0x140); +#endif + LPINPUTCONTEXT WINAPI ImmLockIMC(HIMC);
#endif /* _WINE_IMM_H_ */