diff --git a/sdk/include/reactos/imm32_undoc.h b/sdk/include/reactos/imm32_undoc.h index 3d7296bd272..0b5228d46b2 100644 --- a/sdk/include/reactos/imm32_undoc.h +++ b/sdk/include/reactos/imm32_undoc.h @@ -261,6 +261,22 @@ BOOL WINAPI ImmSetActiveContextConsoleIME(_In_ HWND hwnd, _In_ BOOL fFlag); BOOL WINAPI ImmActivateLayout(_In_ HKL hKL); BOOL WINAPI ImmFreeLayout(_In_ HKL hKL); +BOOL WINAPI +ImmGetHotKey( + _In_ DWORD dwHotKey, + _Out_ LPUINT lpuModifiers, + _Out_ LPUINT lpuVKey, + _Out_opt_ LPHKL lphKL); + +BOOL WINAPI +ImmSetHotKey( + _In_ DWORD dwID, + _In_ UINT uModifiers, + _In_ UINT uVirtualKey, + _In_opt_ _When_((dwAction == SETIMEHOTKEY_ADD) && + !(IME_HOTKEY_DSWITCH_FIRST <= dwHotKeyId && + dwHotKeyId <= IME_HOTKEY_DSWITCH_LAST), _Null_) HKL hKL); + BOOL WINAPI ImmWINNLSEnableIME( _In_opt_ HWND hWnd, diff --git a/sdk/include/reactos/undocuser.h b/sdk/include/reactos/undocuser.h index 0f974c8fedf..f944f92acc1 100644 --- a/sdk/include/reactos/undocuser.h +++ b/sdk/include/reactos/undocuser.h @@ -202,7 +202,16 @@ LONG WINAPI CsrBroadcastSystemMessageExW(DWORD dwflags, WPARAM wParam, LPARAM lParam, PBSMINFO pBSMInfo); -BOOL WINAPI CliImmSetHotKey(DWORD dwID, UINT uModifiers, UINT uVirtualKey, HKL hKl); + +BOOL WINAPI +CliImmSetHotKey( + _In_ DWORD dwID, + _In_ UINT uModifiers, + _In_ UINT uVirtualKey, + _In_opt_ _When_((dwAction == SETIMEHOTKEY_ADD) && + !(IME_HOTKEY_DSWITCH_FIRST <= dwHotKeyId && + dwHotKeyId <= IME_HOTKEY_DSWITCH_LAST), _Null_) HKL hKL); + HWND WINAPI SetTaskmanWindow(HWND); HWND WINAPI GetTaskmanWindow(VOID); HWND WINAPI GetProgmanWindow(VOID); diff --git a/win32ss/include/ntuser.h b/win32ss/include/ntuser.h index d477cfd2808..9a63c4a5ac8 100644 --- a/win32ss/include/ntuser.h +++ b/win32ss/include/ntuser.h @@ -2327,7 +2327,7 @@ NtUserGetImeHotKey( _In_ DWORD dwHotKeyId, _Out_ PUINT lpuModifiers, _Out_ PUINT lpuVirtualKey, - _Out_ LPHKL lphKL); + _Out_opt_ LPHKL lphKL); BOOL NTAPI @@ -3138,7 +3138,7 @@ NtUserSetImeHotKey( _In_ DWORD dwHotKeyId, _In_ UINT uModifiers, _In_ UINT uVirtualKey, - _In_ HKL hKL, + _In_opt_ HKL hKL, _In_ DWORD dwAction); BOOL diff --git a/win32ss/user/imm32/keymsg.c b/win32ss/user/imm32/keymsg.c index 304fd5b3815..d608843769a 100644 --- a/win32ss/user/imm32/keymsg.c +++ b/win32ss/user/imm32/keymsg.c @@ -649,7 +649,7 @@ ImmGetHotKey( _In_ DWORD dwHotKey, _Out_ LPUINT lpuModifiers, _Out_ LPUINT lpuVKey, - _Out_ LPHKL lphKL) + _Out_opt_ LPHKL lphKL) { TRACE("(0x%lX, %p, %p, %p)\n", dwHotKey, lpuModifiers, lpuVKey, lphKL); if (lpuModifiers && lpuVKey) diff --git a/win32ss/user/ntuser/ime.c b/win32ss/user/ntuser/ime.c index d897c67369c..6f8ff81a4d9 100644 --- a/win32ss/user/ntuser/ime.c +++ b/win32ss/user/ntuser/ime.c @@ -363,7 +363,7 @@ IntSetImeHotKey( _In_ DWORD dwHotKeyId, _In_ UINT uModifiers, _In_ UINT uVirtualKey, - _In_ HKL hKL, + _In_opt_ HKL hKL, _In_ DWORD dwAction) { PIMEHOTKEY pNode; @@ -435,7 +435,7 @@ NtUserGetImeHotKey( _In_ DWORD dwHotKeyId, _Out_ PUINT lpuModifiers, _Out_ PUINT lpuVirtualKey, - _Out_ LPHKL lphKL) + _Out_opt_ LPHKL lphKL) { PIMEHOTKEY pNode = NULL; @@ -484,7 +484,7 @@ NtUserSetImeHotKey( _In_ DWORD dwHotKeyId, _In_ UINT uModifiers, _In_ UINT uVirtualKey, - _In_ HKL hKL, + _In_opt_ HKL hKL, _In_ DWORD dwAction) { BOOL ret; diff --git a/win32ss/user/user32/windows/input.c b/win32ss/user/user32/windows/input.c index 988254d2fae..db8229dc88e 100644 --- a/win32ss/user/user32/windows/input.c +++ b/win32ss/user/user32/windows/input.c @@ -66,7 +66,6 @@ IMEHOTKEYENTRY DefaultHotKeyTableC[] = #define FE_KOREAN (1 << 3) // Sets the far-east flags -// Win: SetFeKeyboardFlags VOID FASTCALL IntSetFeKeyboardFlags(LANGID LangID, PBYTE pbFlags) { switch (LangID) @@ -143,8 +142,6 @@ Failure: return FALSE; } - -/* Win: LoadPreloadKeyboardLayouts */ VOID IntLoadPreloadKeyboardLayouts(VOID) { UINT nNumber, uFlags; @@ -258,11 +255,18 @@ CliSaveImeHotKey(DWORD dwID, UINT uModifiers, UINT uVirtualKey, HKL hKL, BOOL bD return ret; } -/* +/** * @implemented - * Same as imm32!ImmSetHotKey. + * @note Same as imm32!ImmSetHotKey. */ -BOOL WINAPI CliImmSetHotKey(DWORD dwID, UINT uModifiers, UINT uVirtualKey, HKL hKL) +BOOL WINAPI +CliImmSetHotKey( + _In_ DWORD dwID, + _In_ UINT uModifiers, + _In_ UINT uVirtualKey, + _In_opt_ _When_((dwAction == SETIMEHOTKEY_ADD) && + !(IME_HOTKEY_DSWITCH_FIRST <= dwHotKeyId && + dwHotKeyId <= IME_HOTKEY_DSWITCH_LAST), _Null_) HKL hKL) { BOOL ret;