ReactOS 0.4.15-dev-6680-g8c76870
imm.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  tagREGISTERWORDA
 
struct  tagREGISTERWORDW
 
struct  tagCANDIDATEFORM
 
struct  tagCANDIDATELIST
 
struct  tagSTYLEBUFA
 
struct  tagSTYLEBUFW
 
struct  tagRECONVERTSTRING
 
struct  tagIMEMENUITEMINFOA
 
struct  tagIMEMENUITEMINFOW
 
struct  tagIMECHARPOSITION
 
struct  _tagCOMPOSITIONFORM
 
struct  _tagIMEINFO
 
struct  tagCOMPOSITIONSTRING
 
struct  tagGUIDELINE
 
struct  tagCANDIDATEINFO
 

Macros

#define IMEMENUITEM_STRING_SIZE   80
 
#define IME_PROP_END_UNLOAD   0x0001
 
#define IME_PROP_KBD_CHAR_FIRST   0x0002
 
#define IME_PROP_IGNORE_UPKEYS   0x0004
 
#define IME_PROP_NEED_ALTKEY   0x0008
 
#define IME_PROP_NO_KEYS_ON_CLOSE   0x0010
 
#define IME_PROP_ACCEPT_WIDE_VKEY   0x0020
 
#define IMC_SETCONVERSIONMODE   0x0002
 
#define IMC_SETSENTENCEMODE   0x0004
 
#define IMC_SETOPENSTATUS   0x0006
 
#define NI_CONTEXTUPDATED   0x0003
 
#define NI_OPENCANDIDATE   0x0010
 
#define NI_CLOSECANDIDATE   0x0011
 
#define NI_SELECTCANDIDATESTR   0x0012
 
#define NI_CHANGECANDIDATELIST   0x0013
 
#define NI_FINALIZECONVERSIONRESULT   0x0014
 
#define NI_COMPOSITIONSTR   0x0015
 
#define NI_SETCANDIDATE_PAGESTART   0x0016
 
#define NI_SETCANDIDATE_PAGESIZE   0x0017
 
#define NI_IMEMENUSELECTED   0x0018
 
#define IME_SYSINFO_WINLOGON   0x0001
 
#define IME_SYSINFO_WOW16   0x0002
 
#define ImmRequestMessage   WINELIB_NAME_AW(ImmRequestMessage);
 
#define IMC_GETCANDIDATEPOS   0x0007
 
#define IMC_SETCANDIDATEPOS   0x0008
 
#define IMC_GETCOMPOSITIONFONT   0x0009
 
#define IMC_SETCOMPOSITIONFONT   0x000A
 
#define IMC_GETCOMPOSITIONWINDOW   0x000B
 
#define IMC_SETCOMPOSITIONWINDOW   0x000C
 
#define IMC_GETSTATUSWINDOWPOS   0x000F
 
#define IMC_SETSTATUSWINDOWPOS   0x0010
 
#define IMC_CLOSESTATUSWINDOW   0x0021
 
#define IMC_OPENSTATUSWINDOW   0x0022
 
#define NI_OPENCANDIDATE   0x0010
 
#define NI_CLOSECANDIDATE   0x0011
 
#define NI_SELECTCANDIDATESTR   0x0012
 
#define NI_CHANGECANDIDATELIST   0x0013
 
#define NI_FINALIZECONVERSIONRESULT   0x0014
 
#define NI_COMPOSITIONSTR   0x0015
 
#define NI_SETCANDIDATE_PAGESTART   0x0016
 
#define NI_SETCANDIDATE_PAGESIZE   0x0017
 
#define NI_IMEMENUSELECTED   0x0018
 
#define ISC_SHOWUICANDIDATEWINDOW   0x00000001
 
#define ISC_SHOWUICOMPOSITIONWINDOW   0x80000000
 
#define ISC_SHOWUIGUIDELINE   0x40000000
 
#define ISC_SHOWUIALLCANDIDATEWINDOW   0x0000000F
 
#define ISC_SHOWUIALL   0xC000000F
 
#define CPS_COMPLETE   0x0001
 
#define CPS_CONVERT   0x0002
 
#define CPS_REVERT   0x0003
 
#define CPS_CANCEL   0x0004
 
#define MOD_ALT   0x0001
 
#define MOD_CONTROL   0x0002
 
#define MOD_SHIFT   0x0004
 
#define MOD_LEFT   0x8000
 
#define MOD_RIGHT   0x4000
 
#define MOD_ON_KEYUP   0x0800
 
#define MOD_IGNORE_ALL_MODIFIER   0x0400
 
#define IME_CHOTKEY_IME_NONIME_TOGGLE   0x10
 
#define IME_CHOTKEY_SHAPE_TOGGLE   0x11
 
#define IME_CHOTKEY_SYMBOL_TOGGLE   0x12
 
#define IME_JHOTKEY_CLOSE_OPEN   0x30
 
#define IME_KHOTKEY_SHAPE_TOGGLE   0x50
 
#define IME_KHOTKEY_HANJACONVERT   0x51
 
#define IME_KHOTKEY_ENGLISH   0x52
 
#define IME_THOTKEY_IME_NONIME_TOGGLE   0x70
 
#define IME_THOTKEY_SHAPE_TOGGLE   0x71
 
#define IME_THOTKEY_SYMBOL_TOGGLE   0x72
 
#define IME_HOTKEY_DSWITCH_FIRST   0x100
 
#define IME_HOTKEY_DSWITCH_LAST   0x11F
 
#define IME_HOTKEY_PRIVATE_FIRST   0x200
 
#define IME_ITHOTKEY_RESEND_RESULTSTR   0x200
 
#define IME_ITHOTKEY_PREVIOUS_COMPOSITION   0x201
 
#define IME_ITHOTKEY_UISTYLE_TOGGLE   0x202
 
#define IME_ITHOTKEY_RECONVERTSTRING   0x203
 
#define IME_HOTKEY_PRIVATE_LAST   0x21F
 
#define GCS_COMPREADSTR   0x0001
 
#define GCS_COMPREADATTR   0x0002
 
#define GCS_COMPREADCLAUSE   0x0004
 
#define GCS_COMPSTR   0x0008
 
#define GCS_COMPATTR   0x0010
 
#define GCS_COMPCLAUSE   0x0020
 
#define GCS_CURSORPOS   0x0080
 
#define GCS_DELTASTART   0x0100
 
#define GCS_RESULTREADSTR   0x0200
 
#define GCS_RESULTREADCLAUSE   0x0400
 
#define GCS_RESULTSTR   0x0800
 
#define GCS_RESULTCLAUSE   0x1000
 
#define CS_INSERTCHAR   0x2000
 
#define CS_NOMOVECARET   0x4000
 
#define IMEVER_0310   0x0003000A
 
#define IMEVER_0400   0x00040000
 
#define IME_PROP_AT_CARET   0x00010000
 
#define IME_PROP_SPECIAL_UI   0x00020000
 
#define IME_PROP_CANDLIST_START_FROM_1   0x00040000
 
#define IME_PROP_UNICODE   0x00080000
 
#define IME_PROP_COMPLETE_ON_UNSELECT   0x00100000
 
#define UI_CAP_2700   0x00000001
 
#define UI_CAP_ROT90   0x00000002
 
#define UI_CAP_ROTANY   0x00000004
 
#define UI_CAP_SOFTKBD   0x00010000
 
#define SCS_CAP_COMPSTR   0x00000001
 
#define SCS_CAP_MAKEREAD   0x00000002
 
#define SCS_CAP_SETRECONVERTSTRING   0x00000004
 
#define SELECT_CAP_CONVERSION   0x00000001
 
#define SELECT_CAP_SENTENCE   0x00000002
 
#define GGL_LEVEL   0x00000001
 
#define GGL_INDEX   0x00000002
 
#define GGL_STRING   0x00000003
 
#define GGL_PRIVATE   0x00000004
 
#define GL_LEVEL_NOGUIDELINE   0x00000000
 
#define GL_LEVEL_FATAL   0x00000001
 
#define GL_LEVEL_ERROR   0x00000002
 
#define GL_LEVEL_WARNING   0x00000003
 
#define GL_LEVEL_INFORMATION   0x00000004
 
#define GL_ID_UNKNOWN   0x00000000
 
#define GL_ID_NOMODULE   0x00000001
 
#define GL_ID_NODICTIONARY   0x00000010
 
#define GL_ID_CANNOTSAVE   0x00000011
 
#define GL_ID_NOCONVERT   0x00000020
 
#define GL_ID_TYPINGERROR   0x00000021
 
#define GL_ID_TOOMANYSTROKE   0x00000022
 
#define GL_ID_READINGCONFLICT   0x00000023
 
#define GL_ID_INPUTREADING   0x00000024
 
#define GL_ID_INPUTRADICAL   0x00000025
 
#define GL_ID_INPUTCODE   0x00000026
 
#define GL_ID_INPUTSYMBOL   0x00000027
 
#define GL_ID_CHOOSECANDIDATE   0x00000028
 
#define GL_ID_REVERSECONVERSION   0x00000029
 
#define GL_ID_PRIVATE_FIRST   0x00008000
 
#define GL_ID_PRIVATE_LAST   0x0000FFFF
 
#define IGP_GETIMEVERSION   (DWORD)(-4)
 
#define IGP_PROPERTY   0x00000004
 
#define IGP_CONVERSION   0x00000008
 
#define IGP_SENTENCE   0x0000000c
 
#define IGP_UI   0x00000010
 
#define IGP_SETCOMPSTR   0x00000014
 
#define IGP_SELECT   0x00000018
 
#define SCS_SETSTR   (GCS_COMPREADSTR|GCS_COMPSTR)
 
#define SCS_CHANGEATTR   (GCS_COMPREADATTR|GCS_COMPATTR)
 
#define SCS_CHANGECLAUSE   (GCS_COMPREADCLAUSE|GCS_COMPCLAUSE)
 
#define SCS_SETRECONVERTSTRING   0x00010000
 
#define SCS_QUERYRECONVERTSTRING   0x00020000
 
#define ATTR_INPUT   0x00
 
#define ATTR_TARGET_CONVERTED   0x01
 
#define ATTR_CONVERTED   0x02
 
#define ATTR_TARGET_NOTCONVERTED   0x03
 
#define ATTR_INPUT_ERROR   0x04
 
#define ATTR_FIXEDCONVERTED   0x05
 
#define CFS_DEFAULT   0x0000
 
#define CFS_RECT   0x0001
 
#define CFS_POINT   0x0002
 
#define CFS_FORCE_POSITION   0x0020
 
#define CFS_CANDIDATEPOS   0x0040
 
#define CFS_EXCLUDE   0x0080
 
#define GCL_CONVERSION   0x0001
 
#define GCL_REVERSECONVERSION   0x0002
 
#define GCL_REVERSE_LENGTH   0x0003
 
#define IME_CMODE_ALPHANUMERIC   0x0000
 
#define IME_CMODE_NATIVE   0x0001
 
#define IME_CMODE_CHINESE   IME_CMODE_NATIVE
 
#define IME_CMODE_HANGEUL   IME_CMODE_NATIVE
 
#define IME_CMODE_HANGUL   IME_CMODE_NATIVE
 
#define IME_CMODE_JAPANESE   IME_CMODE_NATIVE
 
#define IME_CMODE_KATAKANA   0x0002 /* only effect under IME_CMODE_NATIVE */
 
#define IME_CMODE_LANGUAGE   0x0003
 
#define IME_CMODE_FULLSHAPE   0x0008
 
#define IME_CMODE_ROMAN   0x0010
 
#define IME_CMODE_CHARCODE   0x0020
 
#define IME_CMODE_HANJACONVERT   0x0040
 
#define IME_CMODE_SOFTKBD   0x0080
 
#define IME_CMODE_NOCONVERSION   0x0100
 
#define IME_CMODE_EUDC   0x0200
 
#define IME_CMODE_SYMBOL   0x0400
 
#define IME_CMODE_FIXED   0x0800
 
#define IME_SMODE_NONE   0x0000
 
#define IME_SMODE_PLAURALCLAUSE   0x0001
 
#define IME_SMODE_SINGLECONVERT   0x0002
 
#define IME_SMODE_AUTOMATIC   0x0004
 
#define IME_SMODE_PHRASEPREDICT   0x0008
 
#define IME_SMODE_CONVERSATION   0x0010
 
#define IME_CAND_UNKNOWN   0x0000
 
#define IME_CAND_READ   0x0001
 
#define IME_CAND_CODE   0x0002
 
#define IME_CAND_MEANING   0x0003
 
#define IME_CAND_RADICAL   0x0004
 
#define IME_CAND_STROKE   0x0005
 
#define IMN_CLOSESTATUSWINDOW   0x0001
 
#define IMN_OPENSTATUSWINDOW   0x0002
 
#define IMN_CHANGECANDIDATE   0x0003
 
#define IMN_CLOSECANDIDATE   0x0004
 
#define IMN_OPENCANDIDATE   0x0005
 
#define IMN_SETCONVERSIONMODE   0x0006
 
#define IMN_SETSENTENCEMODE   0x0007
 
#define IMN_SETOPENSTATUS   0x0008
 
#define IMN_SETCANDIDATEPOS   0x0009
 
#define IMN_SETCOMPOSITIONFONT   0x000A
 
#define IMN_SETCOMPOSITIONWINDOW   0x000B
 
#define IMN_SETSTATUSWINDOWPOS   0x000C
 
#define IMN_GUIDELINE   0x000D
 
#define IMN_PRIVATE   0x000E
 
#define IMR_COMPOSITIONWINDOW   0x0001
 
#define IMR_CANDIDATEWINDOW   0x0002
 
#define IMR_COMPOSITIONFONT   0x0003
 
#define IMR_RECONVERTSTRING   0x0004
 
#define IMR_CONFIRMRECONVERTSTRING   0x0005
 
#define IMR_QUERYCHARPOSITION   0x0006
 
#define IMR_DOCUMENTFEED   0x0007
 
#define IMM_ERROR_NODATA   (-1)
 
#define IMM_ERROR_GENERAL   (-2)
 
#define IME_CONFIG_GENERAL   1
 
#define IME_CONFIG_REGISTERWORD   2
 
#define IME_CONFIG_SELECTDICTIONARY   3
 
#define IME_ESC_QUERY_SUPPORT   0x0003
 
#define IME_ESC_RESERVED_FIRST   0x0004
 
#define IME_ESC_RESERVED_LAST   0x07FF
 
#define IME_ESC_PRIVATE_FIRST   0x0800
 
#define IME_ESC_PRIVATE_LAST   0x0FFF
 
#define IME_ESC_SEQUENCE_TO_INTERNAL   0x1001
 
#define IME_ESC_GET_EUDC_DICTIONARY   0x1003
 
#define IME_ESC_SET_EUDC_DICTIONARY   0x1004
 
#define IME_ESC_MAX_KEY   0x1005
 
#define IME_ESC_IME_NAME   0x1006
 
#define IME_ESC_SYNC_HOTKEY   0x1007
 
#define IME_ESC_HANJA_MODE   0x1008
 
#define IME_ESC_AUTOMATA   0x1009
 
#define IME_ESC_PRIVATE_HOTKEY   0x100a
 
#define IME_ESC_GETHELPFILENAME   0x100b
 
#define IME_REGWORD_STYLE_EUDC   0x00000001
 
#define IME_REGWORD_STYLE_USER_FIRST   0x80000000
 
#define IME_REGWORD_STYLE_USER_LAST   0xFFFFFFFF
 
#define IACE_CHILDREN   0x0001
 
#define IACE_DEFAULT   0x0010
 
#define IACE_IGNORENOCONTEXT   0x0020
 
#define IGIMIF_RIGHTMENU   0x0001
 
#define IGIMII_CMODE   0x0001
 
#define IGIMII_SMODE   0x0002
 
#define IGIMII_CONFIGURE   0x0004
 
#define IGIMII_TOOLS   0x0008
 
#define IGIMII_HELP   0x0010
 
#define IGIMII_OTHER   0x0020
 
#define IGIMII_INPUTTOOLS   0x0040
 
#define IMFT_RADIOCHECK   0x00001
 
#define IMFT_SEPARATOR   0x00002
 
#define IMFT_SUBMENU   0x00004
 
#define IMFS_GRAYED   MFS_GRAYED
 
#define IMFS_DISABLED   MFS_DISABLED
 
#define IMFS_CHECKED   MFS_CHECKED
 
#define IMFS_HILITE   MFS_HILITE
 
#define IMFS_ENABLED   MFS_ENABLED
 
#define IMFS_UNCHECKED   MFS_UNCHECKED
 
#define IMFS_UNHILITE   MFS_UNHILITE
 
#define IMFS_DEFAULT   MFS_DEFAULT
 
#define SOFTKEYBOARD_TYPE_T1   0x0001
 
#define SOFTKEYBOARD_TYPE_C1   0x0002
 
#define ImmConfigureIME   WINELIB_NAME_AW(ImmConfigureIME)
 
#define ImmEnumRegisterWord   WINELIB_NAME_AW(ImmEnumRegisterWord)
 
#define ImmEscape   WINELIB_NAME_AW(ImmEscape)
 
#define ImmGetCandidateList   WINELIB_NAME_AW(ImmGetCandidateList)
 
#define ImmGetCandidateListCount   WINELIB_NAME_AW(ImmGetCandidateListCount)
 
#define ImmGetCompositionString   WINELIB_NAME_AW(ImmGetCompositionString)
 
#define ImmGetConversionList   WINELIB_NAME_AW(ImmGetConversionList)
 
#define ImmGetDescription   WINELIB_NAME_AW(ImmGetDescription)
 
#define ImmGetGuideLine   WINELIB_NAME_AW(ImmGetGuideLine)
 
#define ImmGetIMEFileName   WINELIB_NAME_AW(ImmGetIMEFileName)
 
#define ImmGetImeMenuItems   WINELIB_NAME_AW(ImmGetImeMenuItems)
 
#define ImmGetRegisterWordStyle   WINELIB_NAME_AW(ImmGetRegisterWordStyle)
 
#define ImmInstallIME   WINELIB_NAME_AW(ImmInstallIME)
 
#define ImmIsUIMessage   WINELIB_NAME_AW(ImmIsUIMessage)
 
#define ImmRegisterWord   WINELIB_NAME_AW(ImmRegisterWord)
 
#define ImmSetCompositionString   WINELIB_NAME_AW(ImmSetCompositionString)
 
#define ImmUnregisterWord   WINELIB_NAME_AW(ImmUnregisterWord)
 

Typedefs

typedef HANDLE HIMC
 
typedef HANDLE HIMCC
 
typedef struct tagREGISTERWORDA REGISTERWORDA
 
typedef struct tagREGISTERWORDAPREGISTERWORDA
 
typedef struct tagREGISTERWORDANPREGISTERWORDA
 
typedef struct tagREGISTERWORDALPREGISTERWORDA
 
typedef struct tagREGISTERWORDW REGISTERWORDW
 
typedef struct tagREGISTERWORDWPREGISTERWORDW
 
typedef struct tagREGISTERWORDWNPREGISTERWORDW
 
typedef struct tagREGISTERWORDWLPREGISTERWORDW
 
typedef int(CALLBACKREGISTERWORDENUMPROCA) (_In_ LPCSTR, _In_ DWORD, _In_ LPCSTR, _In_ LPVOID)
 
typedef int(CALLBACKREGISTERWORDENUMPROCW) (_In_ LPCWSTR, _In_ DWORD, _In_ LPCWSTR, _In_ LPVOID)
 
typedef struct tagCANDIDATEFORM CANDIDATEFORM
 
typedef struct tagCANDIDATEFORMLPCANDIDATEFORM
 
typedef struct tagCANDIDATELIST CANDIDATELIST
 
typedef struct tagCANDIDATELISTLPCANDIDATELIST
 
typedef struct tagSTYLEBUFA STYLEBUFA
 
typedef struct tagSTYLEBUFALPSTYLEBUFA
 
typedef struct tagSTYLEBUFW STYLEBUFW
 
typedef struct tagSTYLEBUFWLPSTYLEBUFW
 
typedef struct tagRECONVERTSTRING RECONVERTSTRING
 
typedef struct tagRECONVERTSTRINGLPRECONVERTSTRING
 
typedef struct tagIMEMENUITEMINFOA IMEMENUITEMINFOA
 
typedef struct tagIMEMENUITEMINFOALPIMEMENUITEMINFOA
 
typedef struct tagIMEMENUITEMINFOW IMEMENUITEMINFOW
 
typedef struct tagIMEMENUITEMINFOWLPIMEMENUITEMINFOW
 
typedef struct tagIMECHARPOSITION IMECHARPOSITION
 
typedef struct tagIMECHARPOSITIONPIMECHARPOSITION
 
typedef struct tagIMECHARPOSITIONNPIMECHARPOSITION
 
typedef struct tagIMECHARPOSITIONLPIMECHARPOSITION
 
typedef BOOL(CALLBACKIMCENUMPROC) (HIMC, LPARAM)
 
typedef struct _tagCOMPOSITIONFORM COMPOSITIONFORM
 
typedef struct _tagCOMPOSITIONFORMLPCOMPOSITIONFORM
 
typedef struct _tagIMEINFO IMEINFO
 
typedef struct _tagIMEINFOLPIMEINFO
 
typedef struct tagCOMPOSITIONSTRING COMPOSITIONSTRING
 
typedef struct tagCOMPOSITIONSTRINGLPCOMPOSITIONSTRING
 
typedef struct tagGUIDELINE GUIDELINE
 
typedef struct tagGUIDELINELPGUIDELINE
 
typedef struct tagCANDIDATEINFO CANDIDATEINFO
 
typedef struct tagCANDIDATEINFOLPCANDIDATEINFO
 

Functions

BOOL WINAPI ImmUnlockIMC (HIMC)
 
DWORD WINAPI ImmGetIMCLockCount (HIMC)
 
HIMCC WINAPI ImmCreateIMCC (DWORD)
 
HIMCC WINAPI ImmDestroyIMCC (HIMCC)
 
LPVOID WINAPI ImmLockIMCC (HIMCC)
 
BOOL WINAPI ImmUnlockIMCC (HIMCC)
 
DWORD WINAPI ImmGetIMCCLockCount (HIMCC)
 
HIMCC WINAPI ImmReSizeIMCC (HIMCC, DWORD)
 
DWORD WINAPI ImmGetIMCCSize (HIMCC)
 
BOOL WINAPI ImmGenerateMessage (HIMC)
 
LRESULT WINAPI ImmRequestMessageA (HIMC, WPARAM, LPARAM)
 
LRESULT WINAPI ImmRequestMessageW (HIMC, WPARAM, LPARAM)
 
BOOL WINAPI ImmTranslateMessage (HWND, UINT, WPARAM, LPARAM)
 
HWND WINAPI ImmCreateSoftKeyboard (UINT, UINT, int, int)
 
BOOL WINAPI ImmDestroySoftKeyboard (HWND)
 
BOOL WINAPI ImmShowSoftKeyboard (HWND, int)
 
BOOL WINAPI ImeInquire (LPIMEINFO, LPWSTR, LPCWSTR lpszOptions)
 
BOOL WINAPI ImeConfigure (HKL, HWND, DWORD, LPVOID)
 
DWORD WINAPI ImeConversionList (HIMC, LPCWSTR, LPCANDIDATELIST, DWORD, UINT)
 
BOOL WINAPI ImeDestroy (UINT)
 
LRESULT WINAPI ImeEscape (HIMC, UINT, LPVOID)
 
BOOL WINAPI ImeProcessKey (HIMC, UINT, LPARAM, CONST LPBYTE)
 
BOOL WINAPI ImeSelect (HIMC, BOOL)
 
BOOL WINAPI ImeSetActiveContext (HIMC, BOOL)
 
UINT WINAPI ImeToAsciiEx (UINT, UINT, CONST LPBYTE, LPDWORD, UINT, HIMC)
 
BOOL WINAPI NotifyIME (HIMC, DWORD, DWORD, DWORD)
 
BOOL WINAPI ImeRegisterWord (LPCWSTR, DWORD, LPCWSTR)
 
BOOL WINAPI ImeUnregisterWord (LPCWSTR, DWORD, LPCWSTR)
 
UINT WINAPI ImeGetRegisterWordStyle (UINT, LPSTYLEBUFW)
 
UINT WINAPI ImeEnumRegisterWord (REGISTERWORDENUMPROCW, LPCWSTR, DWORD, LPCWSTR, LPVOID)
 
BOOL WINAPI ImeSetCompositionString (HIMC, DWORD, LPCVOID, DWORD, LPCVOID, DWORD)
 
DWORD WINAPI ImeGetImeMenuItems (HIMC, DWORD, DWORD, LPIMEMENUITEMINFOW, LPIMEMENUITEMINFOW, DWORD)
 
HIMC WINAPI ImmAssociateContext (_In_ HWND, _In_ HIMC)
 
BOOL WINAPI ImmAssociateContextEx (_In_ HWND, _In_ HIMC, _In_ DWORD)
 
BOOL WINAPI ImmConfigureIMEA (_In_ HKL, _In_ HWND, _In_ DWORD, _In_ LPVOID)
 
BOOL WINAPI ImmConfigureIMEW (_In_ HKL, _In_ HWND, _In_ DWORD, _In_ LPVOID)
 
HIMC WINAPI ImmCreateContext (void)
 
BOOL WINAPI ImmSetActiveContext (HWND hwnd, HIMC hIMC, BOOL fFlag)
 
BOOL WINAPI ImmDestroyContext (_In_ HIMC hIMC)
 
BOOL WINAPI ImmDisableIME (_In_ DWORD idThread)
 
BOOL WINAPI ImmEnumInputContext (_In_ DWORD, _In_ IMCENUMPROC, _In_ LPARAM)
 
BOOL WINAPI ImmLoadIME (HKL hKL)
 
BOOL WINAPI CtfImmIsTextFrameServiceDisabled (VOID)
 
UINT WINAPI ImmEnumRegisterWordA (_In_ HKL, _In_ REGISTERWORDENUMPROCA, _In_opt_ LPCSTR lpszReading, _In_ DWORD, _In_opt_ LPCSTR lpszRegister, _In_ LPVOID)
 
UINT WINAPI ImmEnumRegisterWordW (_In_ HKL, _In_ REGISTERWORDENUMPROCW, _In_opt_ LPCWSTR lpszReading, _In_ DWORD, _In_opt_ LPCWSTR lpszRegister, _In_ LPVOID)
 
LRESULT WINAPI ImmEscapeA (_In_ HKL, _In_ HIMC, _In_ UINT, _In_ LPVOID)
 
LRESULT WINAPI ImmEscapeW (_In_ HKL, _In_ HIMC, _In_ UINT, _In_ LPVOID)
 
DWORD WINAPI ImmGetCandidateListA (_In_ HIMC, _In_ DWORD deIndex, _Out_writes_bytes_opt_(dwBufLen) LPCANDIDATELIST lpCandList, _In_ DWORD dwBufLen)
 
DWORD WINAPI ImmGetCandidateListW (_In_ HIMC, _In_ DWORD deIndex, _Out_writes_bytes_opt_(dwBufLen) LPCANDIDATELIST lpCandList, _In_ DWORD dwBufLen)
 
DWORD WINAPI ImmGetCandidateListCountA (_In_ HIMC, _Out_ LPDWORD)
 
DWORD WINAPI ImmGetCandidateListCountW (_In_ HIMC, _Out_ LPDWORD)
 
BOOL WINAPI ImmGetCandidateWindow (_In_ HIMC, _In_ DWORD, _Out_ LPCANDIDATEFORM lpCandidate)
 
LONG WINAPI ImmGetCompositionStringA (_In_ HIMC, _In_ DWORD, _Out_writes_bytes_opt_(dwBufLen) LPVOID lpBuf, _In_ DWORD dwBufLen)
 
LONG WINAPI ImmGetCompositionStringW (_In_ HIMC, _In_ DWORD, _Out_writes_bytes_opt_(dwBufLen) LPVOID lpBuf, _In_ DWORD dwBufLen)
 
BOOL WINAPI ImmGetCompositionWindow (_In_ HIMC, _Out_ LPCOMPOSITIONFORM)
 
HIMC WINAPI ImmGetContext (_In_ HWND)
 
DWORD WINAPI ImmGetConversionListA (_In_ HKL, _In_ HIMC, _In_ LPCSTR lpSrc, _Out_writes_bytes_(dwBufLen) LPCANDIDATELIST lpDst, _In_ DWORD dwBufLen, _In_ UINT uFlag)
 
DWORD WINAPI ImmGetConversionListW (_In_ HKL, _In_ HIMC, _In_ LPCWSTR lpSrc, _Out_writes_bytes_(dwBufLen) LPCANDIDATELIST lpDst, _In_ DWORD dwBufLen, _In_ UINT uFlag)
 
BOOL WINAPI ImmGetConversionStatus (_In_ HIMC, _Out_opt_ LPDWORD lpfdwConversion, _Out_opt_ LPDWORD lpfdwSentence)
 
HWND WINAPI ImmGetDefaultIMEWnd (_In_ HWND)
 
UINT WINAPI ImmGetDescriptionA (_In_ HKL, _Out_writes_opt_(uBufLen) LPSTR lpszDescription, _In_ UINT uBufLen)
 
UINT WINAPI ImmGetDescriptionW (_In_ HKL, _Out_writes_opt_(uBufLen) LPWSTR lpszDescription, _In_ UINT uBufLen)
 
DWORD WINAPI ImmGetGuideLineA (_In_ HIMC, _In_ DWORD dwIndex, _Out_writes_bytes_opt_(dwBufLen) LPSTR lpBuf, _In_ DWORD dwBufLen)
 
DWORD WINAPI ImmGetGuideLineW (_In_ HIMC, _In_ DWORD dwIndex, _Out_writes_bytes_opt_(dwBufLen) LPWSTR lpBuf, _In_ DWORD dwBufLen)
 
UINT WINAPI ImmGetIMEFileNameA (_In_ HKL, _Out_writes_opt_(uBufLen) LPSTR lpszFileName, _In_ UINT uBufLen)
 
UINT WINAPI ImmGetIMEFileNameW (_In_ HKL, _Out_writes_opt_(uBufLen) LPWSTR lpszFileName, _In_ UINT uBufLen)
 
DWORD WINAPI ImmGetImeMenuItemsA (_In_ HIMC, _In_ DWORD, _In_ DWORD, _Out_opt_ LPIMEMENUITEMINFOA lpImeParentMenu, _Out_writes_bytes_opt_(dwSize) LPIMEMENUITEMINFOA lpImeMenu, _In_ DWORD dwSize)
 
DWORD WINAPI ImmGetImeMenuItemsW (_In_ HIMC, _In_ DWORD, _In_ DWORD, _Out_opt_ LPIMEMENUITEMINFOW lpImeParentMenu, _Out_writes_bytes_opt_(dwSize) LPIMEMENUITEMINFOW lpImeMenu, _In_ DWORD dwSize)
 
BOOL WINAPI ImmGetOpenStatus (_In_ HIMC)
 
DWORD WINAPI ImmGetProperty (_In_ HKL, _In_ DWORD)
 
UINT WINAPI ImmGetRegisterWordStyleA (_In_ HKL, _In_ UINT nItem, _Out_writes_(nItem) LPSTYLEBUFA lpStyleBuf)
 
UINT WINAPI ImmGetRegisterWordStyleW (_In_ HKL, _In_ UINT nItem, _Out_writes_(nItem) LPSTYLEBUFW lpStyleBuf)
 
BOOL WINAPI ImmGetStatusWindowPos (_In_ HIMC, _Out_ LPPOINT)
 
UINT WINAPI ImmGetVirtualKey (_In_ HWND)
 
HKL WINAPI ImmInstallIMEA (_In_ LPCSTR, _In_ LPCSTR)
 
HKL WINAPI ImmInstallIMEW (_In_ LPCWSTR, _In_ LPCWSTR)
 
BOOL WINAPI ImmIsIME (_In_ HKL)
 
BOOL WINAPI ImmIsUIMessageA (_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
 
BOOL WINAPI ImmIsUIMessageW (_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
 
BOOL WINAPI ImmNotifyIME (_In_ HIMC, _In_ DWORD, _In_ DWORD, _In_ DWORD)
 
DWORD WINAPI ImmProcessKey (HWND, HKL, UINT, LPARAM, DWORD)
 
BOOL WINAPI ImmRegisterWordA (_In_ HKL, _In_ LPCSTR lpszReading, _In_ DWORD, _In_ LPCSTR lpszRegister)
 
BOOL WINAPI ImmRegisterWordW (_In_ HKL, _In_ LPCWSTR lpszReading, _In_ DWORD, _In_ LPCWSTR lpszRegister)
 
BOOL WINAPI ImmReleaseContext (_In_ HWND, _In_ HIMC)
 
BOOL WINAPI ImmSetCandidateWindow (_In_ HIMC, _In_ LPCANDIDATEFORM)
 
BOOL WINAPI ImmSetCompositionStringA (_In_ HIMC, _In_ DWORD dwIndex, _Inout_updates_bytes_opt_(dwCompLen) LPVOID lpComp, _In_ DWORD dwCompLen, _Inout_updates_bytes_opt_(dwReadLen) LPVOID lpRead, _In_ DWORD dwReadLen)
 
BOOL WINAPI ImmSetCompositionStringW (_In_ HIMC, _In_ DWORD dwIndex, _Inout_updates_bytes_opt_(dwCompLen) LPVOID lpComp, _In_ DWORD dwCompLen, _Inout_updates_bytes_opt_(dwReadLen) LPVOID lpRead, _In_ DWORD dwReadLen)
 
BOOL WINAPI ImmSetCompositionWindow (_In_ HIMC, _In_ LPCOMPOSITIONFORM)
 
BOOL WINAPI ImmSetConversionStatus (_In_ HIMC, _In_ DWORD, _In_ DWORD)
 
BOOL WINAPI ImmSetOpenStatus (_In_ HIMC, _In_ BOOL)
 
BOOL WINAPI ImmSetStatusWindowPos (_In_ HIMC, _In_ LPPOINT)
 
BOOL WINAPI ImmSimulateHotKey (_In_ HWND, _In_ DWORD)
 
BOOL WINAPI ImmUnregisterWordA (_In_ HKL, _In_ LPCSTR lpszReading, _In_ DWORD, _In_ LPCSTR lpszUnregister)
 
BOOL WINAPI ImmUnregisterWordW (_In_ HKL, _In_ LPCWSTR lpszReading, _In_ DWORD, _In_ LPCWSTR lpszUnregister)
 

Macro Definition Documentation

◆ ATTR_CONVERTED

#define ATTR_CONVERTED   0x02

Definition at line 463 of file imm.h.

◆ ATTR_FIXEDCONVERTED

#define ATTR_FIXEDCONVERTED   0x05

Definition at line 466 of file imm.h.

◆ ATTR_INPUT

#define ATTR_INPUT   0x00

Definition at line 461 of file imm.h.

◆ ATTR_INPUT_ERROR

#define ATTR_INPUT_ERROR   0x04

Definition at line 465 of file imm.h.

◆ ATTR_TARGET_CONVERTED

#define ATTR_TARGET_CONVERTED   0x01

Definition at line 462 of file imm.h.

◆ ATTR_TARGET_NOTCONVERTED

#define ATTR_TARGET_NOTCONVERTED   0x03

Definition at line 464 of file imm.h.

◆ CFS_CANDIDATEPOS

#define CFS_CANDIDATEPOS   0x0040

Definition at line 474 of file imm.h.

◆ CFS_DEFAULT

#define CFS_DEFAULT   0x0000

Definition at line 470 of file imm.h.

◆ CFS_EXCLUDE

#define CFS_EXCLUDE   0x0080

Definition at line 475 of file imm.h.

◆ CFS_FORCE_POSITION

#define CFS_FORCE_POSITION   0x0020

Definition at line 473 of file imm.h.

◆ CFS_POINT

#define CFS_POINT   0x0002

Definition at line 472 of file imm.h.

◆ CFS_RECT

#define CFS_RECT   0x0001

Definition at line 471 of file imm.h.

◆ CPS_CANCEL

#define CPS_CANCEL   0x0004

Definition at line 315 of file imm.h.

◆ CPS_COMPLETE

#define CPS_COMPLETE   0x0001

Definition at line 312 of file imm.h.

◆ CPS_CONVERT

#define CPS_CONVERT   0x0002

Definition at line 313 of file imm.h.

◆ CPS_REVERT

#define CPS_REVERT   0x0003

Definition at line 314 of file imm.h.

◆ CS_INSERTCHAR

#define CS_INSERTCHAR   0x2000

Definition at line 378 of file imm.h.

◆ CS_NOMOVECARET

#define CS_NOMOVECARET   0x4000

Definition at line 379 of file imm.h.

◆ GCL_CONVERSION

#define GCL_CONVERSION   0x0001

Definition at line 478 of file imm.h.

◆ GCL_REVERSE_LENGTH

#define GCL_REVERSE_LENGTH   0x0003

Definition at line 480 of file imm.h.

◆ GCL_REVERSECONVERSION

#define GCL_REVERSECONVERSION   0x0002

Definition at line 479 of file imm.h.

◆ GCS_COMPATTR

#define GCS_COMPATTR   0x0010

Definition at line 368 of file imm.h.

◆ GCS_COMPCLAUSE

#define GCS_COMPCLAUSE   0x0020

Definition at line 369 of file imm.h.

◆ GCS_COMPREADATTR

#define GCS_COMPREADATTR   0x0002

Definition at line 365 of file imm.h.

◆ GCS_COMPREADCLAUSE

#define GCS_COMPREADCLAUSE   0x0004

Definition at line 366 of file imm.h.

◆ GCS_COMPREADSTR

#define GCS_COMPREADSTR   0x0001

Definition at line 364 of file imm.h.

◆ GCS_COMPSTR

#define GCS_COMPSTR   0x0008

Definition at line 367 of file imm.h.

◆ GCS_CURSORPOS

#define GCS_CURSORPOS   0x0080

Definition at line 370 of file imm.h.

◆ GCS_DELTASTART

#define GCS_DELTASTART   0x0100

Definition at line 371 of file imm.h.

◆ GCS_RESULTCLAUSE

#define GCS_RESULTCLAUSE   0x1000

Definition at line 375 of file imm.h.

◆ GCS_RESULTREADCLAUSE

#define GCS_RESULTREADCLAUSE   0x0400

Definition at line 373 of file imm.h.

◆ GCS_RESULTREADSTR

#define GCS_RESULTREADSTR   0x0200

Definition at line 372 of file imm.h.

◆ GCS_RESULTSTR

#define GCS_RESULTSTR   0x0800

Definition at line 374 of file imm.h.

◆ GGL_INDEX

#define GGL_INDEX   0x00000002

Definition at line 414 of file imm.h.

◆ GGL_LEVEL

#define GGL_LEVEL   0x00000001

Definition at line 413 of file imm.h.

◆ GGL_PRIVATE

#define GGL_PRIVATE   0x00000004

Definition at line 416 of file imm.h.

◆ GGL_STRING

#define GGL_STRING   0x00000003

Definition at line 415 of file imm.h.

◆ GL_ID_CANNOTSAVE

#define GL_ID_CANNOTSAVE   0x00000011

Definition at line 429 of file imm.h.

◆ GL_ID_CHOOSECANDIDATE

#define GL_ID_CHOOSECANDIDATE   0x00000028

Definition at line 438 of file imm.h.

◆ GL_ID_INPUTCODE

#define GL_ID_INPUTCODE   0x00000026

Definition at line 436 of file imm.h.

◆ GL_ID_INPUTRADICAL

#define GL_ID_INPUTRADICAL   0x00000025

Definition at line 435 of file imm.h.

◆ GL_ID_INPUTREADING

#define GL_ID_INPUTREADING   0x00000024

Definition at line 434 of file imm.h.

◆ GL_ID_INPUTSYMBOL

#define GL_ID_INPUTSYMBOL   0x00000027

Definition at line 437 of file imm.h.

◆ GL_ID_NOCONVERT

#define GL_ID_NOCONVERT   0x00000020

Definition at line 430 of file imm.h.

◆ GL_ID_NODICTIONARY

#define GL_ID_NODICTIONARY   0x00000010

Definition at line 428 of file imm.h.

◆ GL_ID_NOMODULE

#define GL_ID_NOMODULE   0x00000001

Definition at line 427 of file imm.h.

◆ GL_ID_PRIVATE_FIRST

#define GL_ID_PRIVATE_FIRST   0x00008000

Definition at line 440 of file imm.h.

◆ GL_ID_PRIVATE_LAST

#define GL_ID_PRIVATE_LAST   0x0000FFFF

Definition at line 441 of file imm.h.

◆ GL_ID_READINGCONFLICT

#define GL_ID_READINGCONFLICT   0x00000023

Definition at line 433 of file imm.h.

◆ GL_ID_REVERSECONVERSION

#define GL_ID_REVERSECONVERSION   0x00000029

Definition at line 439 of file imm.h.

◆ GL_ID_TOOMANYSTROKE

#define GL_ID_TOOMANYSTROKE   0x00000022

Definition at line 432 of file imm.h.

◆ GL_ID_TYPINGERROR

#define GL_ID_TYPINGERROR   0x00000021

Definition at line 431 of file imm.h.

◆ GL_ID_UNKNOWN

#define GL_ID_UNKNOWN   0x00000000

Definition at line 426 of file imm.h.

◆ GL_LEVEL_ERROR

#define GL_LEVEL_ERROR   0x00000002

Definition at line 421 of file imm.h.

◆ GL_LEVEL_FATAL

#define GL_LEVEL_FATAL   0x00000001

Definition at line 420 of file imm.h.

◆ GL_LEVEL_INFORMATION

#define GL_LEVEL_INFORMATION   0x00000004

Definition at line 423 of file imm.h.

◆ GL_LEVEL_NOGUIDELINE

#define GL_LEVEL_NOGUIDELINE   0x00000000

Definition at line 419 of file imm.h.

◆ GL_LEVEL_WARNING

#define GL_LEVEL_WARNING   0x00000003

Definition at line 422 of file imm.h.

◆ IACE_CHILDREN

#define IACE_CHILDREN   0x0001

Definition at line 581 of file imm.h.

◆ IACE_DEFAULT

#define IACE_DEFAULT   0x0010

Definition at line 582 of file imm.h.

◆ IACE_IGNORENOCONTEXT

#define IACE_IGNORENOCONTEXT   0x0020

Definition at line 583 of file imm.h.

◆ IGIMIF_RIGHTMENU

#define IGIMIF_RIGHTMENU   0x0001

Definition at line 586 of file imm.h.

◆ IGIMII_CMODE

#define IGIMII_CMODE   0x0001

Definition at line 589 of file imm.h.

◆ IGIMII_CONFIGURE

#define IGIMII_CONFIGURE   0x0004

Definition at line 591 of file imm.h.

◆ IGIMII_HELP

#define IGIMII_HELP   0x0010

Definition at line 593 of file imm.h.

◆ IGIMII_INPUTTOOLS

#define IGIMII_INPUTTOOLS   0x0040

Definition at line 595 of file imm.h.

◆ IGIMII_OTHER

#define IGIMII_OTHER   0x0020

Definition at line 594 of file imm.h.

◆ IGIMII_SMODE

#define IGIMII_SMODE   0x0002

Definition at line 590 of file imm.h.

◆ IGIMII_TOOLS

#define IGIMII_TOOLS   0x0008

Definition at line 592 of file imm.h.

◆ IGP_CONVERSION

#define IGP_CONVERSION   0x00000008

Definition at line 446 of file imm.h.

◆ IGP_GETIMEVERSION

#define IGP_GETIMEVERSION   (DWORD)(-4)

Definition at line 444 of file imm.h.

◆ IGP_PROPERTY

#define IGP_PROPERTY   0x00000004

Definition at line 445 of file imm.h.

◆ IGP_SELECT

#define IGP_SELECT   0x00000018

Definition at line 450 of file imm.h.

◆ IGP_SENTENCE

#define IGP_SENTENCE   0x0000000c

Definition at line 447 of file imm.h.

◆ IGP_SETCOMPSTR

#define IGP_SETCOMPSTR   0x00000014

Definition at line 449 of file imm.h.

◆ IGP_UI

#define IGP_UI   0x00000010

Definition at line 448 of file imm.h.

◆ IMC_CLOSESTATUSWINDOW

#define IMC_CLOSESTATUSWINDOW   0x0021

Definition at line 286 of file imm.h.

◆ IMC_GETCANDIDATEPOS

#define IMC_GETCANDIDATEPOS   0x0007

Definition at line 278 of file imm.h.

◆ IMC_GETCOMPOSITIONFONT

#define IMC_GETCOMPOSITIONFONT   0x0009

Definition at line 280 of file imm.h.

◆ IMC_GETCOMPOSITIONWINDOW

#define IMC_GETCOMPOSITIONWINDOW   0x000B

Definition at line 282 of file imm.h.

◆ IMC_GETSTATUSWINDOWPOS

#define IMC_GETSTATUSWINDOWPOS   0x000F

Definition at line 284 of file imm.h.

◆ IMC_OPENSTATUSWINDOW

#define IMC_OPENSTATUSWINDOW   0x0022

Definition at line 287 of file imm.h.

◆ IMC_SETCANDIDATEPOS

#define IMC_SETCANDIDATEPOS   0x0008

Definition at line 279 of file imm.h.

◆ IMC_SETCOMPOSITIONFONT

#define IMC_SETCOMPOSITIONFONT   0x000A

Definition at line 281 of file imm.h.

◆ IMC_SETCOMPOSITIONWINDOW

#define IMC_SETCOMPOSITIONWINDOW   0x000C

Definition at line 283 of file imm.h.

◆ IMC_SETCONVERSIONMODE

#define IMC_SETCONVERSIONMODE   0x0002

Definition at line 221 of file imm.h.

◆ IMC_SETOPENSTATUS

#define IMC_SETOPENSTATUS   0x0006

Definition at line 223 of file imm.h.

◆ IMC_SETSENTENCEMODE

#define IMC_SETSENTENCEMODE   0x0004

Definition at line 222 of file imm.h.

◆ IMC_SETSTATUSWINDOWPOS

#define IMC_SETSTATUSWINDOWPOS   0x0010

Definition at line 285 of file imm.h.

◆ IME_CAND_CODE

#define IME_CAND_CODE   0x0002

Definition at line 514 of file imm.h.

◆ IME_CAND_MEANING

#define IME_CAND_MEANING   0x0003

Definition at line 515 of file imm.h.

◆ IME_CAND_RADICAL

#define IME_CAND_RADICAL   0x0004

Definition at line 516 of file imm.h.

◆ IME_CAND_READ

#define IME_CAND_READ   0x0001

Definition at line 513 of file imm.h.

◆ IME_CAND_STROKE

#define IME_CAND_STROKE   0x0005

Definition at line 517 of file imm.h.

◆ IME_CAND_UNKNOWN

#define IME_CAND_UNKNOWN   0x0000

Definition at line 512 of file imm.h.

◆ IME_CHOTKEY_IME_NONIME_TOGGLE

#define IME_CHOTKEY_IME_NONIME_TOGGLE   0x10

Definition at line 331 of file imm.h.

◆ IME_CHOTKEY_SHAPE_TOGGLE

#define IME_CHOTKEY_SHAPE_TOGGLE   0x11

Definition at line 332 of file imm.h.

◆ IME_CHOTKEY_SYMBOL_TOGGLE

#define IME_CHOTKEY_SYMBOL_TOGGLE   0x12

Definition at line 333 of file imm.h.

◆ IME_CMODE_ALPHANUMERIC

#define IME_CMODE_ALPHANUMERIC   0x0000

Definition at line 484 of file imm.h.

◆ IME_CMODE_CHARCODE

#define IME_CMODE_CHARCODE   0x0020

Definition at line 495 of file imm.h.

◆ IME_CMODE_CHINESE

#define IME_CMODE_CHINESE   IME_CMODE_NATIVE

Definition at line 486 of file imm.h.

◆ IME_CMODE_EUDC

#define IME_CMODE_EUDC   0x0200

Definition at line 499 of file imm.h.

◆ IME_CMODE_FIXED

#define IME_CMODE_FIXED   0x0800

Definition at line 501 of file imm.h.

◆ IME_CMODE_FULLSHAPE

#define IME_CMODE_FULLSHAPE   0x0008

Definition at line 493 of file imm.h.

◆ IME_CMODE_HANGEUL

#define IME_CMODE_HANGEUL   IME_CMODE_NATIVE

Definition at line 488 of file imm.h.

◆ IME_CMODE_HANGUL

#define IME_CMODE_HANGUL   IME_CMODE_NATIVE

Definition at line 489 of file imm.h.

◆ IME_CMODE_HANJACONVERT

#define IME_CMODE_HANJACONVERT   0x0040

Definition at line 496 of file imm.h.

◆ IME_CMODE_JAPANESE

#define IME_CMODE_JAPANESE   IME_CMODE_NATIVE

Definition at line 490 of file imm.h.

◆ IME_CMODE_KATAKANA

#define IME_CMODE_KATAKANA   0x0002 /* only effect under IME_CMODE_NATIVE */

Definition at line 491 of file imm.h.

◆ IME_CMODE_LANGUAGE

#define IME_CMODE_LANGUAGE   0x0003

Definition at line 492 of file imm.h.

◆ IME_CMODE_NATIVE

#define IME_CMODE_NATIVE   0x0001

Definition at line 485 of file imm.h.

◆ IME_CMODE_NOCONVERSION

#define IME_CMODE_NOCONVERSION   0x0100

Definition at line 498 of file imm.h.

◆ IME_CMODE_ROMAN

#define IME_CMODE_ROMAN   0x0010

Definition at line 494 of file imm.h.

◆ IME_CMODE_SOFTKBD

#define IME_CMODE_SOFTKBD   0x0080

Definition at line 497 of file imm.h.

◆ IME_CMODE_SYMBOL

#define IME_CMODE_SYMBOL   0x0400

Definition at line 500 of file imm.h.

◆ IME_CONFIG_GENERAL

#define IME_CONFIG_GENERAL   1

Definition at line 553 of file imm.h.

◆ IME_CONFIG_REGISTERWORD

#define IME_CONFIG_REGISTERWORD   2

Definition at line 554 of file imm.h.

◆ IME_CONFIG_SELECTDICTIONARY

#define IME_CONFIG_SELECTDICTIONARY   3

Definition at line 555 of file imm.h.

◆ IME_ESC_AUTOMATA

#define IME_ESC_AUTOMATA   0x1009

Definition at line 570 of file imm.h.

◆ IME_ESC_GET_EUDC_DICTIONARY

#define IME_ESC_GET_EUDC_DICTIONARY   0x1003

Definition at line 564 of file imm.h.

◆ IME_ESC_GETHELPFILENAME

#define IME_ESC_GETHELPFILENAME   0x100b

Definition at line 572 of file imm.h.

◆ IME_ESC_HANJA_MODE

#define IME_ESC_HANJA_MODE   0x1008

Definition at line 569 of file imm.h.

◆ IME_ESC_IME_NAME

#define IME_ESC_IME_NAME   0x1006

Definition at line 567 of file imm.h.

◆ IME_ESC_MAX_KEY

#define IME_ESC_MAX_KEY   0x1005

Definition at line 566 of file imm.h.

◆ IME_ESC_PRIVATE_FIRST

#define IME_ESC_PRIVATE_FIRST   0x0800

Definition at line 561 of file imm.h.

◆ IME_ESC_PRIVATE_HOTKEY

#define IME_ESC_PRIVATE_HOTKEY   0x100a

Definition at line 571 of file imm.h.

◆ IME_ESC_PRIVATE_LAST

#define IME_ESC_PRIVATE_LAST   0x0FFF

Definition at line 562 of file imm.h.

◆ IME_ESC_QUERY_SUPPORT

#define IME_ESC_QUERY_SUPPORT   0x0003

Definition at line 558 of file imm.h.

◆ IME_ESC_RESERVED_FIRST

#define IME_ESC_RESERVED_FIRST   0x0004

Definition at line 559 of file imm.h.

◆ IME_ESC_RESERVED_LAST

#define IME_ESC_RESERVED_LAST   0x07FF

Definition at line 560 of file imm.h.

◆ IME_ESC_SEQUENCE_TO_INTERNAL

#define IME_ESC_SEQUENCE_TO_INTERNAL   0x1001

Definition at line 563 of file imm.h.

◆ IME_ESC_SET_EUDC_DICTIONARY

#define IME_ESC_SET_EUDC_DICTIONARY   0x1004

Definition at line 565 of file imm.h.

◆ IME_ESC_SYNC_HOTKEY

#define IME_ESC_SYNC_HOTKEY   0x1007

Definition at line 568 of file imm.h.

◆ IME_HOTKEY_DSWITCH_FIRST

#define IME_HOTKEY_DSWITCH_FIRST   0x100

Definition at line 348 of file imm.h.

◆ IME_HOTKEY_DSWITCH_LAST

#define IME_HOTKEY_DSWITCH_LAST   0x11F

Definition at line 349 of file imm.h.

◆ IME_HOTKEY_PRIVATE_FIRST

#define IME_HOTKEY_PRIVATE_FIRST   0x200

Definition at line 352 of file imm.h.

◆ IME_HOTKEY_PRIVATE_LAST

#define IME_HOTKEY_PRIVATE_LAST   0x21F

Definition at line 357 of file imm.h.

◆ IME_ITHOTKEY_PREVIOUS_COMPOSITION

#define IME_ITHOTKEY_PREVIOUS_COMPOSITION   0x201

Definition at line 354 of file imm.h.

◆ IME_ITHOTKEY_RECONVERTSTRING

#define IME_ITHOTKEY_RECONVERTSTRING   0x203

Definition at line 356 of file imm.h.

◆ IME_ITHOTKEY_RESEND_RESULTSTR

#define IME_ITHOTKEY_RESEND_RESULTSTR   0x200

Definition at line 353 of file imm.h.

◆ IME_ITHOTKEY_UISTYLE_TOGGLE

#define IME_ITHOTKEY_UISTYLE_TOGGLE   0x202

Definition at line 355 of file imm.h.

◆ IME_JHOTKEY_CLOSE_OPEN

#define IME_JHOTKEY_CLOSE_OPEN   0x30

Definition at line 336 of file imm.h.

◆ IME_KHOTKEY_ENGLISH

#define IME_KHOTKEY_ENGLISH   0x52

Definition at line 341 of file imm.h.

◆ IME_KHOTKEY_HANJACONVERT

#define IME_KHOTKEY_HANJACONVERT   0x51

Definition at line 340 of file imm.h.

◆ IME_KHOTKEY_SHAPE_TOGGLE

#define IME_KHOTKEY_SHAPE_TOGGLE   0x50

Definition at line 339 of file imm.h.

◆ IME_PROP_ACCEPT_WIDE_VKEY

#define IME_PROP_ACCEPT_WIDE_VKEY   0x0020

Definition at line 218 of file imm.h.

◆ IME_PROP_AT_CARET

#define IME_PROP_AT_CARET   0x00010000

Definition at line 390 of file imm.h.

◆ IME_PROP_CANDLIST_START_FROM_1

#define IME_PROP_CANDLIST_START_FROM_1   0x00040000

Definition at line 392 of file imm.h.

◆ IME_PROP_COMPLETE_ON_UNSELECT

#define IME_PROP_COMPLETE_ON_UNSELECT   0x00100000

Definition at line 394 of file imm.h.

◆ IME_PROP_END_UNLOAD

#define IME_PROP_END_UNLOAD   0x0001

Definition at line 213 of file imm.h.

◆ IME_PROP_IGNORE_UPKEYS

#define IME_PROP_IGNORE_UPKEYS   0x0004

Definition at line 215 of file imm.h.

◆ IME_PROP_KBD_CHAR_FIRST

#define IME_PROP_KBD_CHAR_FIRST   0x0002

Definition at line 214 of file imm.h.

◆ IME_PROP_NEED_ALTKEY

#define IME_PROP_NEED_ALTKEY   0x0008

Definition at line 216 of file imm.h.

◆ IME_PROP_NO_KEYS_ON_CLOSE

#define IME_PROP_NO_KEYS_ON_CLOSE   0x0010

Definition at line 217 of file imm.h.

◆ IME_PROP_SPECIAL_UI

#define IME_PROP_SPECIAL_UI   0x00020000

Definition at line 391 of file imm.h.

◆ IME_PROP_UNICODE

#define IME_PROP_UNICODE   0x00080000

Definition at line 393 of file imm.h.

◆ IME_REGWORD_STYLE_EUDC

#define IME_REGWORD_STYLE_EUDC   0x00000001

Definition at line 576 of file imm.h.

◆ IME_REGWORD_STYLE_USER_FIRST

#define IME_REGWORD_STYLE_USER_FIRST   0x80000000

Definition at line 577 of file imm.h.

◆ IME_REGWORD_STYLE_USER_LAST

#define IME_REGWORD_STYLE_USER_LAST   0xFFFFFFFF

Definition at line 578 of file imm.h.

◆ IME_SMODE_AUTOMATIC

#define IME_SMODE_AUTOMATIC   0x0004

Definition at line 507 of file imm.h.

◆ IME_SMODE_CONVERSATION

#define IME_SMODE_CONVERSATION   0x0010

Definition at line 509 of file imm.h.

◆ IME_SMODE_NONE

#define IME_SMODE_NONE   0x0000

Definition at line 504 of file imm.h.

◆ IME_SMODE_PHRASEPREDICT

#define IME_SMODE_PHRASEPREDICT   0x0008

Definition at line 508 of file imm.h.

◆ IME_SMODE_PLAURALCLAUSE

#define IME_SMODE_PLAURALCLAUSE   0x0001

Definition at line 505 of file imm.h.

◆ IME_SMODE_SINGLECONVERT

#define IME_SMODE_SINGLECONVERT   0x0002

Definition at line 506 of file imm.h.

◆ IME_SYSINFO_WINLOGON

#define IME_SYSINFO_WINLOGON   0x0001

Definition at line 238 of file imm.h.

◆ IME_SYSINFO_WOW16

#define IME_SYSINFO_WOW16   0x0002

Definition at line 239 of file imm.h.

◆ IME_THOTKEY_IME_NONIME_TOGGLE

#define IME_THOTKEY_IME_NONIME_TOGGLE   0x70

Definition at line 343 of file imm.h.

◆ IME_THOTKEY_SHAPE_TOGGLE

#define IME_THOTKEY_SHAPE_TOGGLE   0x71

Definition at line 344 of file imm.h.

◆ IME_THOTKEY_SYMBOL_TOGGLE

#define IME_THOTKEY_SYMBOL_TOGGLE   0x72

Definition at line 345 of file imm.h.

◆ IMEMENUITEM_STRING_SIZE

#define IMEMENUITEM_STRING_SIZE   80

Definition at line 108 of file imm.h.

◆ IMEVER_0310

#define IMEVER_0310   0x0003000A

Definition at line 386 of file imm.h.

◆ IMEVER_0400

#define IMEVER_0400   0x00040000

Definition at line 387 of file imm.h.

◆ IMFS_CHECKED

#define IMFS_CHECKED   MFS_CHECKED

Definition at line 605 of file imm.h.

◆ IMFS_DEFAULT

#define IMFS_DEFAULT   MFS_DEFAULT

Definition at line 610 of file imm.h.

◆ IMFS_DISABLED

#define IMFS_DISABLED   MFS_DISABLED

Definition at line 604 of file imm.h.

◆ IMFS_ENABLED

#define IMFS_ENABLED   MFS_ENABLED

Definition at line 607 of file imm.h.

◆ IMFS_GRAYED

#define IMFS_GRAYED   MFS_GRAYED

Definition at line 603 of file imm.h.

◆ IMFS_HILITE

#define IMFS_HILITE   MFS_HILITE

Definition at line 606 of file imm.h.

◆ IMFS_UNCHECKED

#define IMFS_UNCHECKED   MFS_UNCHECKED

Definition at line 608 of file imm.h.

◆ IMFS_UNHILITE

#define IMFS_UNHILITE   MFS_UNHILITE

Definition at line 609 of file imm.h.

◆ IMFT_RADIOCHECK

#define IMFT_RADIOCHECK   0x00001

Definition at line 598 of file imm.h.

◆ IMFT_SEPARATOR

#define IMFT_SEPARATOR   0x00002

Definition at line 599 of file imm.h.

◆ IMFT_SUBMENU

#define IMFT_SUBMENU   0x00004

Definition at line 600 of file imm.h.

◆ IMM_ERROR_GENERAL

#define IMM_ERROR_GENERAL   (-2)

Definition at line 549 of file imm.h.

◆ IMM_ERROR_NODATA

#define IMM_ERROR_NODATA   (-1)

Definition at line 548 of file imm.h.

◆ ImmConfigureIME

#define ImmConfigureIME   WINELIB_NAME_AW(ImmConfigureIME)

Definition at line 627 of file imm.h.

◆ ImmEnumRegisterWord

#define ImmEnumRegisterWord   WINELIB_NAME_AW(ImmEnumRegisterWord)

Definition at line 657 of file imm.h.

◆ ImmEscape

#define ImmEscape   WINELIB_NAME_AW(ImmEscape)

Definition at line 661 of file imm.h.

◆ ImmGetCandidateList

#define ImmGetCandidateList   WINELIB_NAME_AW(ImmGetCandidateList)

Definition at line 679 of file imm.h.

◆ ImmGetCandidateListCount

#define ImmGetCandidateListCount   WINELIB_NAME_AW(ImmGetCandidateListCount)

Definition at line 683 of file imm.h.

◆ ImmGetCompositionString

#define ImmGetCompositionString   WINELIB_NAME_AW(ImmGetCompositionString)

Definition at line 720 of file imm.h.

◆ ImmGetConversionList

#define ImmGetConversionList   WINELIB_NAME_AW(ImmGetConversionList)

Definition at line 745 of file imm.h.

◆ ImmGetDescription

#define ImmGetDescription   WINELIB_NAME_AW(ImmGetDescription)

Definition at line 770 of file imm.h.

◆ ImmGetGuideLine

#define ImmGetGuideLine   WINELIB_NAME_AW(ImmGetGuideLine)

Definition at line 788 of file imm.h.

◆ ImmGetIMEFileName

#define ImmGetIMEFileName   WINELIB_NAME_AW(ImmGetIMEFileName)

Definition at line 804 of file imm.h.

◆ ImmGetImeMenuItems

#define ImmGetImeMenuItems   WINELIB_NAME_AW(ImmGetImeMenuItems)

Definition at line 826 of file imm.h.

◆ ImmGetRegisterWordStyle

#define ImmGetRegisterWordStyle   WINELIB_NAME_AW(ImmGetRegisterWordStyle)

Definition at line 845 of file imm.h.

◆ ImmInstallIME

#define ImmInstallIME   WINELIB_NAME_AW(ImmInstallIME)

Definition at line 852 of file imm.h.

◆ ImmIsUIMessage

#define ImmIsUIMessage   WINELIB_NAME_AW(ImmIsUIMessage)

Definition at line 858 of file imm.h.

◆ ImmRegisterWord

#define ImmRegisterWord   WINELIB_NAME_AW(ImmRegisterWord)

Definition at line 880 of file imm.h.

◆ ImmRequestMessage

#define ImmRequestMessage   WINELIB_NAME_AW(ImmRequestMessage);

Definition at line 254 of file imm.h.

◆ ImmSetCompositionString

#define ImmSetCompositionString   WINELIB_NAME_AW(ImmSetCompositionString)

Definition at line 905 of file imm.h.

◆ ImmUnregisterWord

#define ImmUnregisterWord   WINELIB_NAME_AW(ImmUnregisterWord)

Definition at line 929 of file imm.h.

◆ IMN_CHANGECANDIDATE

#define IMN_CHANGECANDIDATE   0x0003

Definition at line 523 of file imm.h.

◆ IMN_CLOSECANDIDATE

#define IMN_CLOSECANDIDATE   0x0004

Definition at line 524 of file imm.h.

◆ IMN_CLOSESTATUSWINDOW

#define IMN_CLOSESTATUSWINDOW   0x0001

Definition at line 521 of file imm.h.

◆ IMN_GUIDELINE

#define IMN_GUIDELINE   0x000D

Definition at line 533 of file imm.h.

◆ IMN_OPENCANDIDATE

#define IMN_OPENCANDIDATE   0x0005

Definition at line 525 of file imm.h.

◆ IMN_OPENSTATUSWINDOW

#define IMN_OPENSTATUSWINDOW   0x0002

Definition at line 522 of file imm.h.

◆ IMN_PRIVATE

#define IMN_PRIVATE   0x000E

Definition at line 534 of file imm.h.

◆ IMN_SETCANDIDATEPOS

#define IMN_SETCANDIDATEPOS   0x0009

Definition at line 529 of file imm.h.

◆ IMN_SETCOMPOSITIONFONT

#define IMN_SETCOMPOSITIONFONT   0x000A

Definition at line 530 of file imm.h.

◆ IMN_SETCOMPOSITIONWINDOW

#define IMN_SETCOMPOSITIONWINDOW   0x000B

Definition at line 531 of file imm.h.

◆ IMN_SETCONVERSIONMODE

#define IMN_SETCONVERSIONMODE   0x0006

Definition at line 526 of file imm.h.

◆ IMN_SETOPENSTATUS

#define IMN_SETOPENSTATUS   0x0008

Definition at line 528 of file imm.h.

◆ IMN_SETSENTENCEMODE

#define IMN_SETSENTENCEMODE   0x0007

Definition at line 527 of file imm.h.

◆ IMN_SETSTATUSWINDOWPOS

#define IMN_SETSTATUSWINDOWPOS   0x000C

Definition at line 532 of file imm.h.

◆ IMR_CANDIDATEWINDOW

#define IMR_CANDIDATEWINDOW   0x0002

Definition at line 539 of file imm.h.

◆ IMR_COMPOSITIONFONT

#define IMR_COMPOSITIONFONT   0x0003

Definition at line 540 of file imm.h.

◆ IMR_COMPOSITIONWINDOW

#define IMR_COMPOSITIONWINDOW   0x0001

Definition at line 538 of file imm.h.

◆ IMR_CONFIRMRECONVERTSTRING

#define IMR_CONFIRMRECONVERTSTRING   0x0005

Definition at line 542 of file imm.h.

◆ IMR_DOCUMENTFEED

#define IMR_DOCUMENTFEED   0x0007

Definition at line 544 of file imm.h.

◆ IMR_QUERYCHARPOSITION

#define IMR_QUERYCHARPOSITION   0x0006

Definition at line 543 of file imm.h.

◆ IMR_RECONVERTSTRING

#define IMR_RECONVERTSTRING   0x0004

Definition at line 541 of file imm.h.

◆ ISC_SHOWUIALL

#define ISC_SHOWUIALL   0xC000000F

Definition at line 308 of file imm.h.

◆ ISC_SHOWUIALLCANDIDATEWINDOW

#define ISC_SHOWUIALLCANDIDATEWINDOW   0x0000000F

Definition at line 307 of file imm.h.

◆ ISC_SHOWUICANDIDATEWINDOW

#define ISC_SHOWUICANDIDATEWINDOW   0x00000001

Definition at line 304 of file imm.h.

◆ ISC_SHOWUICOMPOSITIONWINDOW

#define ISC_SHOWUICOMPOSITIONWINDOW   0x80000000

Definition at line 305 of file imm.h.

◆ ISC_SHOWUIGUIDELINE

#define ISC_SHOWUIGUIDELINE   0x40000000

Definition at line 306 of file imm.h.

◆ MOD_ALT

#define MOD_ALT   0x0001

Definition at line 319 of file imm.h.

◆ MOD_CONTROL

#define MOD_CONTROL   0x0002

Definition at line 320 of file imm.h.

◆ MOD_IGNORE_ALL_MODIFIER

#define MOD_IGNORE_ALL_MODIFIER   0x0400

Definition at line 327 of file imm.h.

◆ MOD_LEFT

#define MOD_LEFT   0x8000

Definition at line 323 of file imm.h.

◆ MOD_ON_KEYUP

#define MOD_ON_KEYUP   0x0800

Definition at line 326 of file imm.h.

◆ MOD_RIGHT

#define MOD_RIGHT   0x4000

Definition at line 324 of file imm.h.

◆ MOD_SHIFT

#define MOD_SHIFT   0x0004

Definition at line 321 of file imm.h.

◆ NI_CHANGECANDIDATELIST [1/2]

#define NI_CHANGECANDIDATELIST   0x0013

Definition at line 296 of file imm.h.

◆ NI_CHANGECANDIDATELIST [2/2]

#define NI_CHANGECANDIDATELIST   0x0013

Definition at line 296 of file imm.h.

◆ NI_CLOSECANDIDATE [1/2]

#define NI_CLOSECANDIDATE   0x0011

Definition at line 294 of file imm.h.

◆ NI_CLOSECANDIDATE [2/2]

#define NI_CLOSECANDIDATE   0x0011

Definition at line 294 of file imm.h.

◆ NI_COMPOSITIONSTR [1/2]

#define NI_COMPOSITIONSTR   0x0015

Definition at line 298 of file imm.h.

◆ NI_COMPOSITIONSTR [2/2]

#define NI_COMPOSITIONSTR   0x0015

Definition at line 298 of file imm.h.

◆ NI_CONTEXTUPDATED

#define NI_CONTEXTUPDATED   0x0003

Definition at line 226 of file imm.h.

◆ NI_FINALIZECONVERSIONRESULT [1/2]

#define NI_FINALIZECONVERSIONRESULT   0x0014

Definition at line 297 of file imm.h.

◆ NI_FINALIZECONVERSIONRESULT [2/2]

#define NI_FINALIZECONVERSIONRESULT   0x0014

Definition at line 297 of file imm.h.

◆ NI_IMEMENUSELECTED [1/2]

#define NI_IMEMENUSELECTED   0x0018

Definition at line 301 of file imm.h.

◆ NI_IMEMENUSELECTED [2/2]

#define NI_IMEMENUSELECTED   0x0018

Definition at line 301 of file imm.h.

◆ NI_OPENCANDIDATE [1/2]

#define NI_OPENCANDIDATE   0x0010

Definition at line 293 of file imm.h.

◆ NI_OPENCANDIDATE [2/2]

#define NI_OPENCANDIDATE   0x0010

Definition at line 293 of file imm.h.

◆ NI_SELECTCANDIDATESTR [1/2]

#define NI_SELECTCANDIDATESTR   0x0012

Definition at line 295 of file imm.h.

◆ NI_SELECTCANDIDATESTR [2/2]

#define NI_SELECTCANDIDATESTR   0x0012

Definition at line 295 of file imm.h.

◆ NI_SETCANDIDATE_PAGESIZE [1/2]

#define NI_SETCANDIDATE_PAGESIZE   0x0017

Definition at line 300 of file imm.h.

◆ NI_SETCANDIDATE_PAGESIZE [2/2]

#define NI_SETCANDIDATE_PAGESIZE   0x0017

Definition at line 300 of file imm.h.

◆ NI_SETCANDIDATE_PAGESTART [1/2]

#define NI_SETCANDIDATE_PAGESTART   0x0016

Definition at line 299 of file imm.h.

◆ NI_SETCANDIDATE_PAGESTART [2/2]

#define NI_SETCANDIDATE_PAGESTART   0x0016

Definition at line 299 of file imm.h.

◆ SCS_CAP_COMPSTR

#define SCS_CAP_COMPSTR   0x00000001

Definition at line 403 of file imm.h.

◆ SCS_CAP_MAKEREAD

#define SCS_CAP_MAKEREAD   0x00000002

Definition at line 404 of file imm.h.

◆ SCS_CAP_SETRECONVERTSTRING

#define SCS_CAP_SETRECONVERTSTRING   0x00000004

Definition at line 405 of file imm.h.

◆ SCS_CHANGEATTR

#define SCS_CHANGEATTR   (GCS_COMPREADATTR|GCS_COMPATTR)

Definition at line 455 of file imm.h.

◆ SCS_CHANGECLAUSE

#define SCS_CHANGECLAUSE   (GCS_COMPREADCLAUSE|GCS_COMPCLAUSE)

Definition at line 456 of file imm.h.

◆ SCS_QUERYRECONVERTSTRING

#define SCS_QUERYRECONVERTSTRING   0x00020000

Definition at line 458 of file imm.h.

◆ SCS_SETRECONVERTSTRING

#define SCS_SETRECONVERTSTRING   0x00010000

Definition at line 457 of file imm.h.

◆ SCS_SETSTR

#define SCS_SETSTR   (GCS_COMPREADSTR|GCS_COMPSTR)

Definition at line 454 of file imm.h.

◆ SELECT_CAP_CONVERSION

#define SELECT_CAP_CONVERSION   0x00000001

Definition at line 408 of file imm.h.

◆ SELECT_CAP_SENTENCE

#define SELECT_CAP_SENTENCE   0x00000002

Definition at line 409 of file imm.h.

◆ SOFTKEYBOARD_TYPE_C1

#define SOFTKEYBOARD_TYPE_C1   0x0002

Definition at line 619 of file imm.h.

◆ SOFTKEYBOARD_TYPE_T1

#define SOFTKEYBOARD_TYPE_T1   0x0001

Definition at line 617 of file imm.h.

◆ UI_CAP_2700

#define UI_CAP_2700   0x00000001

Definition at line 397 of file imm.h.

◆ UI_CAP_ROT90

#define UI_CAP_ROT90   0x00000002

Definition at line 398 of file imm.h.

◆ UI_CAP_ROTANY

#define UI_CAP_ROTANY   0x00000004

Definition at line 399 of file imm.h.

◆ UI_CAP_SOFTKBD

#define UI_CAP_SOFTKBD   0x00010000

Definition at line 400 of file imm.h.

Typedef Documentation

◆ CANDIDATEFORM

◆ CANDIDATEINFO

◆ CANDIDATELIST

◆ COMPOSITIONFORM

◆ COMPOSITIONSTRING

◆ GUIDELINE

◆ HIMC

typedef HANDLE HIMC

Definition at line 33 of file imm.h.

◆ HIMCC

typedef HANDLE HIMCC

Definition at line 34 of file imm.h.

◆ IMCENUMPROC

typedef BOOL(CALLBACK * IMCENUMPROC) (HIMC, LPARAM)

Definition at line 147 of file imm.h.

◆ IMECHARPOSITION

◆ IMEINFO

◆ IMEMENUITEMINFOA

◆ IMEMENUITEMINFOW

◆ LPCANDIDATEFORM

◆ LPCANDIDATEINFO

◆ LPCANDIDATELIST

◆ LPCOMPOSITIONFORM

◆ LPCOMPOSITIONSTRING

◆ LPGUIDELINE

◆ LPIMECHARPOSITION

◆ LPIMEINFO

◆ LPIMEMENUITEMINFOA

◆ LPIMEMENUITEMINFOW

◆ LPRECONVERTSTRING

◆ LPREGISTERWORDA

◆ LPREGISTERWORDW

◆ LPSTYLEBUFA

◆ LPSTYLEBUFW

◆ NPIMECHARPOSITION

◆ NPREGISTERWORDA

◆ NPREGISTERWORDW

◆ PIMECHARPOSITION

◆ PREGISTERWORDA

◆ PREGISTERWORDW

◆ RECONVERTSTRING

◆ REGISTERWORDA

◆ REGISTERWORDENUMPROCA

typedef int(CALLBACK * REGISTERWORDENUMPROCA) (_In_ LPCSTR, _In_ DWORD, _In_ LPCSTR, _In_ LPVOID)

Definition at line 47 of file imm.h.

◆ REGISTERWORDENUMPROCW

typedef int(CALLBACK * REGISTERWORDENUMPROCW) (_In_ LPCWSTR, _In_ DWORD, _In_ LPCWSTR, _In_ LPVOID)

Definition at line 54 of file imm.h.

◆ REGISTERWORDW

◆ STYLEBUFA

◆ STYLEBUFW

Function Documentation

◆ CtfImmIsTextFrameServiceDisabled()

BOOL WINAPI CtfImmIsTextFrameServiceDisabled ( VOID  )

Definition at line 67 of file ctf.c.

68{
69 return !!(GetWin32ClientInfo()->CI_flags & CI_TFSDISABLED);
70}
#define CI_TFSDISABLED
Definition: ntuser.h:306
#define GetWin32ClientInfo()
Definition: ntuser.h:347

Referenced by Imm32SelectInputContext(), and ImmGetImeInfoEx().

◆ ImeConfigure()

BOOL WINAPI ImeConfigure ( HKL  ,
HWND  ,
DWORD  ,
LPVOID   
)

◆ ImeConversionList()

DWORD WINAPI ImeConversionList ( HIMC  ,
LPCWSTR  ,
LPCANDIDATELIST  ,
DWORD  ,
UINT   
)

◆ ImeDestroy()

BOOL WINAPI ImeDestroy ( UINT  )

◆ ImeEnumRegisterWord()

UINT WINAPI ImeEnumRegisterWord ( REGISTERWORDENUMPROCW  ,
LPCWSTR  ,
DWORD  ,
LPCWSTR  ,
LPVOID   
)

◆ ImeEscape()

LRESULT WINAPI ImeEscape ( HIMC  ,
UINT  ,
LPVOID   
)

◆ ImeGetImeMenuItems()

DWORD WINAPI ImeGetImeMenuItems ( HIMC  ,
DWORD  ,
DWORD  ,
LPIMEMENUITEMINFOW  ,
LPIMEMENUITEMINFOW  ,
DWORD   
)

◆ ImeGetRegisterWordStyle()

UINT WINAPI ImeGetRegisterWordStyle ( UINT  ,
LPSTYLEBUFW   
)

◆ ImeInquire()

BOOL WINAPI ImeInquire ( LPIMEINFO  ,
LPWSTR  ,
LPCWSTR  lpszOptions 
)

◆ ImeProcessKey()

BOOL WINAPI ImeProcessKey ( HIMC  ,
UINT  ,
LPARAM  ,
CONST  LPBYTE 
)

◆ ImeRegisterWord()

BOOL WINAPI ImeRegisterWord ( LPCWSTR  ,
DWORD  ,
LPCWSTR   
)

◆ ImeSelect()

BOOL WINAPI ImeSelect ( HIMC  ,
BOOL   
)

◆ ImeSetActiveContext()

BOOL WINAPI ImeSetActiveContext ( HIMC  ,
BOOL   
)

◆ ImeSetCompositionString()

BOOL WINAPI ImeSetCompositionString ( HIMC  ,
DWORD  ,
LPCVOID  ,
DWORD  ,
LPCVOID  ,
DWORD   
)

◆ ImeToAsciiEx()

UINT WINAPI ImeToAsciiEx ( UINT  ,
UINT  ,
CONST  LPBYTE,
LPDWORD  ,
UINT  ,
HIMC   
)

◆ ImeUnregisterWord()

BOOL WINAPI ImeUnregisterWord ( LPCWSTR  ,
DWORD  ,
LPCWSTR   
)

◆ ImmAssociateContext()

HIMC WINAPI ImmAssociateContext ( _In_  HWND,
_In_  HIMC 
)

◆ ImmAssociateContextEx()

BOOL WINAPI ImmAssociateContextEx ( _In_  HWND,
_In_  HIMC,
_In_  DWORD 
)

◆ ImmConfigureIMEA()

BOOL WINAPI ImmConfigureIMEA ( _In_  HKL,
_In_  HWND,
_In_  DWORD,
_In_  LPVOID 
)

◆ ImmConfigureIMEW()

BOOL WINAPI ImmConfigureIMEW ( _In_  HKL,
_In_  HWND,
_In_  DWORD,
_In_  LPVOID 
)

◆ ImmCreateContext()

HIMC WINAPI ImmCreateContext ( void  )

Definition at line 602 of file imm.c.

603{
604 PCLIENTIMC pClientImc;
605 HIMC hIMC;
606
607 TRACE("()\n");
608
609 if (!IS_IMM_MODE())
610 {
611 TRACE("\n");
612 return NULL;
613 }
614
615 pClientImc = ImmLocalAlloc(HEAP_ZERO_MEMORY, sizeof(CLIENTIMC));
616 if (IS_NULL_UNEXPECTEDLY(pClientImc))
617 return NULL;
618
619 hIMC = NtUserCreateInputContext((ULONG_PTR)pClientImc);
620 if (IS_NULL_UNEXPECTEDLY(hIMC))
621 {
622 ImmLocalFree(pClientImc);
623 return NULL;
624 }
625
626 RtlInitializeCriticalSection(&pClientImc->cs);
627
629
630 return hIMC;
631}
DWORD HIMC
Definition: dimm.idl:75
#define NULL
Definition: types.h:112
#define HEAP_ZERO_MEMORY
Definition: compat.h:134
LPVOID APIENTRY ImmLocalAlloc(DWORD dwFlags, DWORD dwBytes)
Definition: utils.c:415
#define ImmLocalFree(lpData)
Definition: precomp.h:89
#define IS_NULL_UNEXPECTEDLY(p)
Definition: precomp.h:120
@ THREADSTATE_IMECOMPATFLAGS
Definition: ntuser.h:2608
#define IS_IMM_MODE()
Definition: ntuser.h:1232
HIMC NTAPI NtUserCreateInputContext(ULONG_PTR dwClientImcData)
Definition: ime.c:1606
DWORD_PTR NTAPI NtUserGetThreadState(DWORD Routine)
Definition: misc.c:232
NTSYSAPI NTSTATUS NTAPI RtlInitializeCriticalSection(_In_ PRTL_CRITICAL_SECTION CriticalSection)
#define DWORD
Definition: nt_native.h:44
#define TRACE(s)
Definition: solgame.cpp:4
RTL_CRITICAL_SECTION cs
Definition: ntuser.h:1338
DWORD dwCompatFlags
Definition: ntuser.h:1337
uint32_t ULONG_PTR
Definition: typedefs.h:65

Referenced by ActiveIMMApp_CreateContext(), AnotherThreadFunc(), ImmGetContextThreadFunc(), OnInitDialog(), Test1(), test_ImmAssociateContextEx(), test_ImmDefaultHwnd(), test_ImmDestroyContext(), test_ImmGetIMCLockCount(), test_ImmNotifyIME(), and test_InvalidIMC().

◆ ImmCreateIMCC()

HIMCC WINAPI ImmCreateIMCC ( DWORD  size)

Definition at line 1178 of file utils.c.

1179{
1180 if (size < sizeof(DWORD))
1181 size = sizeof(DWORD);
1182 return LocalAlloc(LHND, size);
1183}
unsigned long DWORD
Definition: ntddk_ex.h:95
GLsizeiptr size
Definition: glext.h:5919
HLOCAL NTAPI LocalAlloc(UINT uFlags, SIZE_T dwBytes)
Definition: heapmem.c:1390
#define LHND
Definition: winbase.h:382

Referenced by Imm32CreateInputContext(), Imm32SelectInputContext(), START_TEST(), test_ImmDestroyIMCC(), and test_ImmGetIMCCLockCount().

◆ ImmCreateSoftKeyboard()

HWND WINAPI ImmCreateSoftKeyboard ( UINT  uType,
UINT  hOwner,
int  x,
int  y 
)

Definition at line 1109 of file imm.c.

1110{
1111 FIXME("(%d, %d, %d, %d): stub\n", uType, hOwner, x, y);
1113 return 0;
1114}
#define FIXME(fmt,...)
Definition: debug.h:111
#define ERROR_CALL_NOT_IMPLEMENTED
Definition: compat.h:102
#define SetLastError(x)
Definition: compat.h:752
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548

◆ ImmDestroyContext()

BOOL WINAPI ImmDestroyContext ( _In_ HIMC  hIMC)

◆ ImmDestroyIMCC()

HIMCC WINAPI ImmDestroyIMCC ( HIMCC  block)

Definition at line 1188 of file utils.c.

1189{
1190 if (block)
1191 return LocalFree(block);
1192 return NULL;
1193}
HLOCAL NTAPI LocalFree(HLOCAL hMem)
Definition: heapmem.c:1594
static unsigned int block
Definition: xmlmemory.c:101

Referenced by Imm32CreateInputContext(), Imm32DestroyInputContext(), Imm32SelectInputContext(), START_TEST(), test_ImmDestroyIMCC(), and test_ImmGetIMCCLockCount().

◆ ImmDestroySoftKeyboard()

BOOL WINAPI ImmDestroySoftKeyboard ( HWND  hSoftWnd)

Definition at line 1119 of file imm.c.

1120{
1121 TRACE("(%p)\n", hSoftWnd);
1122 return DestroyWindow(hSoftWnd);
1123}
BOOL WINAPI DestroyWindow(_In_ HWND)

◆ ImmDisableIME()

BOOL WINAPI ImmDisableIME ( _In_ DWORD  idThread)

◆ ImmEnumInputContext()

BOOL WINAPI ImmEnumInputContext ( _In_  DWORD,
_In_  IMCENUMPROC,
_In_  LPARAM 
)

◆ ImmEnumRegisterWordA()

UINT WINAPI ImmEnumRegisterWordA ( _In_  HKL,
_In_  REGISTERWORDENUMPROCA,
_In_opt_ LPCSTR  lpszReading,
_In_  DWORD,
_In_opt_ LPCSTR  lpszRegister,
_In_  LPVOID 
)

◆ ImmEnumRegisterWordW()

UINT WINAPI ImmEnumRegisterWordW ( _In_  HKL,
_In_  REGISTERWORDENUMPROCW,
_In_opt_ LPCWSTR  lpszReading,
_In_  DWORD,
_In_opt_ LPCWSTR  lpszRegister,
_In_  LPVOID 
)

◆ ImmEscapeA()

LRESULT WINAPI ImmEscapeA ( _In_  HKL,
_In_  HIMC,
_In_  UINT,
_In_  LPVOID 
)

◆ ImmEscapeW()

LRESULT WINAPI ImmEscapeW ( _In_  HKL,
_In_  HIMC,
_In_  UINT,
_In_  LPVOID 
)

◆ ImmGenerateMessage()

BOOL WINAPI ImmGenerateMessage ( HIMC  hIMC)

Definition at line 893 of file keymsg.c.

894{
895 PCLIENTIMC pClientImc;
896 LPINPUTCONTEXT pIC;
897 LPTRANSMSG pMsgs, pTrans = NULL, pItem;
898 HWND hWnd;
899 DWORD dwIndex, dwCount, cbTrans;
900 HIMCC hMsgBuf = NULL;
901 BOOL bAnsi;
902
903 TRACE("(%p)\n", hIMC);
904
905 if (IS_CROSS_THREAD_HIMC(hIMC))
906 return FALSE;
907
908 pClientImc = ImmLockClientImc(hIMC);
909 if (IS_NULL_UNEXPECTEDLY(pClientImc))
910 return FALSE;
911
912 bAnsi = !(pClientImc->dwFlags & CLIENTIMC_WIDE);
913 ImmUnlockClientImc(pClientImc);
914
915 pIC = ImmLockIMC(hIMC);
916 if (IS_NULL_UNEXPECTEDLY(pIC))
917 return FALSE;
918
919 dwCount = pIC->dwNumMsgBuf;
920 if (dwCount == 0)
921 goto Quit;
922
923 hMsgBuf = pIC->hMsgBuf;
924 pMsgs = ImmLockIMCC(hMsgBuf);
925 if (IS_NULL_UNEXPECTEDLY(pMsgs))
926 goto Quit;
927
928 cbTrans = dwCount * sizeof(TRANSMSG);
929 pTrans = ImmLocalAlloc(0, cbTrans);
930 if (IS_NULL_UNEXPECTEDLY(pTrans))
931 goto Quit;
932
933 RtlCopyMemory(pTrans, pMsgs, cbTrans);
934
935#ifdef IMM_WIN3_SUPPORT
936 if (GetWin32ClientInfo()->dwExpWinVer < _WIN32_WINNT_NT4) /* old version (3.x)? */
937 {
939 WORD wLang = PRIMARYLANGID(LangID);
940
941 /* translate the messages if Japanese or Korean */
942 if (wLang == LANG_JAPANESE ||
943 (wLang == LANG_KOREAN && NtUserGetAppImeLevel(pIC->hWnd) == 3))
944 {
945 dwCount = WINNLSTranslateMessage(dwCount, pTrans, hIMC, bAnsi, wLang);
946 }
947 }
948#endif
949
950 /* send them */
951 hWnd = pIC->hWnd;
952 pItem = pTrans;
953 for (dwIndex = 0; dwIndex < dwCount; ++dwIndex, ++pItem)
954 {
955 if (bAnsi)
956 SendMessageA(hWnd, pItem->message, pItem->wParam, pItem->lParam);
957 else
958 SendMessageW(hWnd, pItem->message, pItem->wParam, pItem->lParam);
959 }
960
961Quit:
962 ImmLocalFree(pTrans);
963 if (hMsgBuf)
964 ImmUnlockIMCC(hMsgBuf);
965 pIC->dwNumMsgBuf = 0; /* done */
966 ImmUnlockIMC(hIMC);
967 return TRUE;
968}
HWND hWnd
Definition: settings.c:17
DWORD HIMCC
Definition: dimm.idl:76
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
BOOL WINAPI ImmUnlockIMC(HIMC hIMC)
Definition: imm.c:1079
VOID WINAPI ImmUnlockClientImc(PCLIENTIMC pClientImc)
Definition: imm.c:996
PCLIENTIMC WINAPI ImmLockClientImc(HIMC hImc)
Definition: imm.c:950
LPINPUTCONTEXT WINAPI ImmLockIMC(HIMC hIMC)
Definition: imm.c:1070
#define IS_CROSS_THREAD_HIMC(hIMC)
Definition: precomp.h:143
BOOL WINAPI ImmUnlockIMCC(HIMCC imcc)
Definition: utils.c:1208
LPVOID WINAPI ImmLockIMCC(HIMCC imcc)
Definition: utils.c:1198
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned short WORD
Definition: ntddk_ex.h:93
struct _tagTRANSMSG TRANSMSG
DWORD NTAPI NtUserGetAppImeLevel(HWND hWnd)
Definition: ime.c:921
#define CLIENTIMC_WIDE
Definition: ntuser.h:1356
LCID WINAPI GetSystemDefaultLCID(void)
Definition: lang.c:797
#define LANGIDFROMLCID(l)
Definition: nls.h:18
#define LANG_JAPANESE
Definition: nls.h:76
#define PRIMARYLANGID(l)
Definition: nls.h:16
#define LANG_KOREAN
Definition: nls.h:84
#define _WIN32_WINNT_NT4
Definition: sdkddkver.h:20
HIMCC hMsgBuf
Definition: immdev.h:73
DWORD dwNumMsgBuf
Definition: immdev.h:72
DWORD dwFlags
Definition: ntuser.h:1336
WORD LANGID
Definition: typedefs.h:81
#define RtlCopyMemory(Destination, Source, Length)
Definition: typedefs.h:263
_Must_inspect_result_ _In_ WDFUSBDEVICE _In_opt_ WDFREQUEST _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_writes_opt_ NumCharacters PUSHORT _Inout_ PUSHORT _In_ UCHAR _In_opt_ USHORT LangID
Definition: wdfusb.h:1083
LRESULT WINAPI SendMessageA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)

Referenced by test_ImmMessages(), and test_InvalidIMC().

◆ ImmGetCandidateListA()

DWORD WINAPI ImmGetCandidateListA ( _In_  HIMC,
_In_ DWORD  deIndex,
_Out_writes_bytes_opt_(dwBufLen) LPCANDIDATELIST  lpCandList,
_In_ DWORD  dwBufLen 
)

◆ ImmGetCandidateListCountA()

DWORD WINAPI ImmGetCandidateListCountA ( _In_  HIMC,
_Out_  LPDWORD 
)

◆ ImmGetCandidateListCountW()

DWORD WINAPI ImmGetCandidateListCountW ( _In_  HIMC,
_Out_  LPDWORD 
)

◆ ImmGetCandidateListW()

DWORD WINAPI ImmGetCandidateListW ( _In_  HIMC,
_In_ DWORD  deIndex,
_Out_writes_bytes_opt_(dwBufLen) LPCANDIDATELIST  lpCandList,
_In_ DWORD  dwBufLen 
)

◆ ImmGetCandidateWindow()

BOOL WINAPI ImmGetCandidateWindow ( _In_  HIMC,
_In_  DWORD,
_Out_ LPCANDIDATEFORM  lpCandidate 
)

◆ ImmGetCompositionStringA()

LONG WINAPI ImmGetCompositionStringA ( _In_  HIMC,
_In_  DWORD,
_Out_writes_bytes_opt_(dwBufLen) LPVOID  lpBuf,
_In_ DWORD  dwBufLen 
)

◆ ImmGetCompositionStringW()

LONG WINAPI ImmGetCompositionStringW ( _In_  HIMC,
_In_  DWORD,
_Out_writes_bytes_opt_(dwBufLen) LPVOID  lpBuf,
_In_ DWORD  dwBufLen 
)

◆ ImmGetCompositionWindow()

BOOL WINAPI ImmGetCompositionWindow ( _In_  HIMC,
_Out_  LPCOMPOSITIONFORM 
)

◆ ImmGetContext()

HIMC WINAPI ImmGetContext ( _In_  HWND)

◆ ImmGetConversionListA()

DWORD WINAPI ImmGetConversionListA ( _In_  HKL,
_In_  HIMC,
_In_ LPCSTR  lpSrc,
_Out_writes_bytes_(dwBufLen) LPCANDIDATELIST  lpDst,
_In_ DWORD  dwBufLen,
_In_ UINT  uFlag 
)

◆ ImmGetConversionListW()

DWORD WINAPI ImmGetConversionListW ( _In_  HKL,
_In_  HIMC,
_In_ LPCWSTR  lpSrc,
_Out_writes_bytes_(dwBufLen) LPCANDIDATELIST  lpDst,
_In_ DWORD  dwBufLen,
_In_ UINT  uFlag 
)

◆ ImmGetConversionStatus()

BOOL WINAPI ImmGetConversionStatus ( _In_  HIMC,
_Out_opt_ LPDWORD  lpfdwConversion,
_Out_opt_ LPDWORD  lpfdwSentence 
)

◆ ImmGetDefaultIMEWnd()

HWND WINAPI ImmGetDefaultIMEWnd ( _In_  HWND)

◆ ImmGetDescriptionA()

UINT WINAPI ImmGetDescriptionA ( _In_  HKL,
_Out_writes_opt_(uBufLen) LPSTR  lpszDescription,
_In_ UINT  uBufLen 
)

◆ ImmGetDescriptionW()

UINT WINAPI ImmGetDescriptionW ( _In_  HKL,
_Out_writes_opt_(uBufLen) LPWSTR  lpszDescription,
_In_ UINT  uBufLen 
)

◆ ImmGetGuideLineA()

DWORD WINAPI ImmGetGuideLineA ( _In_  HIMC,
_In_ DWORD  dwIndex,
_Out_writes_bytes_opt_(dwBufLen) LPSTR  lpBuf,
_In_ DWORD  dwBufLen 
)

◆ ImmGetGuideLineW()

DWORD WINAPI ImmGetGuideLineW ( _In_  HIMC,
_In_ DWORD  dwIndex,
_Out_writes_bytes_opt_(dwBufLen) LPWSTR  lpBuf,
_In_ DWORD  dwBufLen 
)

◆ ImmGetIMCCLockCount()

DWORD WINAPI ImmGetIMCCLockCount ( HIMCC  imcc)

Definition at line 1218 of file utils.c.

1219{
1220 return LocalFlags(imcc) & LMEM_LOCKCOUNT;
1221}
UINT NTAPI LocalFlags(HLOCAL hMem)
Definition: heapmem.c:1520
#define LMEM_LOCKCOUNT
Definition: winbase.h:379

Referenced by Imm32SelectInputContext(), START_TEST(), test_ImmDestroyIMCC(), and test_ImmGetIMCCLockCount().

◆ ImmGetIMCCSize()

DWORD WINAPI ImmGetIMCCSize ( HIMCC  imcc)

Definition at line 1236 of file utils.c.

1237{
1238 if (imcc)
1239 return LocalSize(imcc);
1240 return 0;
1241}
SIZE_T NTAPI LocalSize(HLOCAL hMem)
Definition: heapmem.c:1794

Referenced by Imm32SelectInputContext(), START_TEST(), Test1(), and test_ImmDestroyIMCC().

◆ ImmGetIMCLockCount()

DWORD WINAPI ImmGetIMCLockCount ( HIMC  hIMC)

Definition at line 1246 of file utils.c.

1247{
1248 DWORD ret;
1249 HANDLE hInputContext;
1250 PCLIENTIMC pClientImc;
1251
1252 pClientImc = ImmLockClientImc(hIMC);
1253 if (IS_NULL_UNEXPECTEDLY(pClientImc))
1254 return 0;
1255
1256 ret = 0;
1257 hInputContext = pClientImc->hInputContext;
1258 if (hInputContext)
1259 ret = (LocalFlags(hInputContext) & LMEM_LOCKCOUNT);
1260
1261 ImmUnlockClientImc(pClientImc);
1262 return ret;
1263}
HANDLE hInputContext
Definition: ntuser.h:1334
int ret

Referenced by test_ImmDestroyContext(), and test_ImmGetIMCLockCount().

◆ ImmGetIMEFileNameA()

UINT WINAPI ImmGetIMEFileNameA ( _In_  HKL,
_Out_writes_opt_(uBufLen) LPSTR  lpszFileName,
_In_ UINT  uBufLen 
)

◆ ImmGetIMEFileNameW()

UINT WINAPI ImmGetIMEFileNameW ( _In_  HKL,
_Out_writes_opt_(uBufLen) LPWSTR  lpszFileName,
_In_ UINT  uBufLen 
)

◆ ImmGetImeMenuItemsA()

DWORD WINAPI ImmGetImeMenuItemsA ( _In_  HIMC,
_In_  DWORD,
_In_  DWORD,
_Out_opt_ LPIMEMENUITEMINFOA  lpImeParentMenu,
_Out_writes_bytes_opt_(dwSize) LPIMEMENUITEMINFOA  lpImeMenu,
_In_ DWORD  dwSize 
)

◆ ImmGetImeMenuItemsW()

DWORD WINAPI ImmGetImeMenuItemsW ( _In_  HIMC,
_In_  DWORD,
_In_  DWORD,
_Out_opt_ LPIMEMENUITEMINFOW  lpImeParentMenu,
_Out_writes_bytes_opt_(dwSize) LPIMEMENUITEMINFOW  lpImeMenu,
_In_ DWORD  dwSize 
)

◆ ImmGetOpenStatus()

BOOL WINAPI ImmGetOpenStatus ( _In_  HIMC)

◆ ImmGetProperty()

DWORD WINAPI ImmGetProperty ( _In_  HKL,
_In_  DWORD 
)

◆ ImmGetRegisterWordStyleA()

UINT WINAPI ImmGetRegisterWordStyleA ( _In_  HKL,
_In_ UINT  nItem,
_Out_writes_(nItem) LPSTYLEBUFA  lpStyleBuf 
)

◆ ImmGetRegisterWordStyleW()

UINT WINAPI ImmGetRegisterWordStyleW ( _In_  HKL,
_In_ UINT  nItem,
_Out_writes_(nItem) LPSTYLEBUFW  lpStyleBuf 
)

◆ ImmGetStatusWindowPos()

BOOL WINAPI ImmGetStatusWindowPos ( _In_  HIMC,
_Out_  LPPOINT 
)

◆ ImmGetVirtualKey()

UINT WINAPI ImmGetVirtualKey ( _In_  HWND)

◆ ImmInstallIMEA()

HKL WINAPI ImmInstallIMEA ( _In_  LPCSTR,
_In_  LPCSTR 
)

◆ ImmInstallIMEW()

HKL WINAPI ImmInstallIMEW ( _In_  LPCWSTR,
_In_  LPCWSTR 
)

◆ ImmIsIME()

BOOL WINAPI ImmIsIME ( _In_  HKL)

◆ ImmIsUIMessageA()

BOOL WINAPI ImmIsUIMessageA ( _In_  HWND,
_In_  UINT,
_In_  WPARAM,
_In_  LPARAM 
)

◆ ImmIsUIMessageW()

BOOL WINAPI ImmIsUIMessageW ( _In_  HWND,
_In_  UINT,
_In_  WPARAM,
_In_  LPARAM 
)

◆ ImmLoadIME()

BOOL WINAPI ImmLoadIME ( HKL  hKL)

Definition at line 1064 of file ime.c.

1065{
1066 PIMEDPI pImeDpi;
1067
1068 if (!IS_IME_HKL(hKL) && (!IS_CICERO_MODE() || IS_16BIT_MODE()))
1069 {
1070 TRACE("\n");
1071 return FALSE;
1072 }
1073
1074 pImeDpi = Imm32FindImeDpi(hKL);
1075 if (pImeDpi == NULL)
1076 pImeDpi = Imm32LoadImeDpi(hKL, FALSE);
1077 return (pImeDpi != NULL);
1078}
PIMEDPI APIENTRY Imm32FindImeDpi(HKL hKL)
Definition: ime.c:20
PIMEDPI APIENTRY Imm32LoadImeDpi(HKL hKL, BOOL bLock)
Definition: ime.c:267
#define IS_16BIT_MODE()
Definition: precomp.h:146
#define IS_CICERO_MODE()
Definition: ntuser.h:1233
#define IS_IME_HKL(hKL)
Definition: kbswitch.c:32

Referenced by CtfLoadThreadLayout(), and ImmActivateLayout().

◆ ImmLockIMCC()

◆ ImmNotifyIME()

BOOL WINAPI ImmNotifyIME ( _In_  HIMC,
_In_  DWORD,
_In_  DWORD,
_In_  DWORD 
)

◆ ImmProcessKey()

DWORD WINAPI ImmProcessKey ( HWND  hWnd,
HKL  hKL,
UINT  vKey,
LPARAM  lParam,
DWORD  dwHotKeyID 
)

Definition at line 774 of file keymsg.c.

775{
776 DWORD ret = 0;
777 HIMC hIMC;
778 PIMEDPI pImeDpi;
780 BYTE KeyState[256];
781 UINT vk;
782 BOOL bUseIme = TRUE, bSkipThisKey = FALSE, bLowWordOnly = FALSE;
783
784 TRACE("(%p, %p, 0x%X, %p, 0x%lX)\n", hWnd, hKL, vKey, lParam, dwHotKeyID);
785
786 hIMC = ImmGetContext(hWnd);
787 pImeDpi = ImmLockImeDpi(hKL);
788 if (pImeDpi)
789 {
790 pIC = (LPINPUTCONTEXTDX)ImmLockIMC(hIMC);
791 if (pIC)
792 {
793 if (LOBYTE(vKey) == VK_PACKET &&
795 {
796 if (ImeDpi_IsUnicode(pImeDpi))
797 {
798 bLowWordOnly = TRUE;
799 }
800 else
801 {
802 bUseIme = FALSE;
803 if (pIC->fOpen)
804 bSkipThisKey = TRUE;
805 }
806 }
807
808 if (bUseIme)
809 {
810 if (GetKeyboardState(KeyState))
811 {
812 vk = (bLowWordOnly ? LOWORD(vKey) : vKey);
813 if (pImeDpi->ImeProcessKey(hIMC, vk, lParam, KeyState))
814 {
815 pIC->bNeedsTrans = TRUE;
816 pIC->nVKey = vKey;
818 }
819 }
820 }
821 else if (bSkipThisKey)
822 {
824 }
825
826 ImmUnlockIMC(hIMC);
827 }
828
829 ImmUnlockImeDpi(pImeDpi);
830 }
831
832 if (dwHotKeyID != INVALID_HOTKEY_ID) /* Valid Hot-key */
833 {
834 if (Imm32ProcessHotKey(hWnd, hIMC, hKL, dwHotKeyID))
835 {
836 if (vKey != VK_KANJI || dwHotKeyID != IME_JHOTKEY_CLOSE_OPEN)
837 ret |= IPHK_HOTKEY;
838 }
839 }
840
841 if ((ret & IPHK_PROCESSBYIME) && (ImmGetAppCompatFlags(hIMC) & 0x10000))
842 {
843 /* The key has been processed by IME's ImeProcessKey */
845 if (PRIMARYLANGID(wLangID) == LANG_KOREAN &&
846 (vKey == VK_PROCESSKEY || (ret & IPHK_HOTKEY)))
847 {
848 /* Korean don't want VK_PROCESSKEY and IME hot-keys */
849 }
850 else
851 {
852 /* Add WM_KEYDOWN:VK_PROCESSKEY message */
854 ret &= ~IPHK_PROCESSBYIME;
856 }
857 }
858
859 ImmReleaseContext(hWnd, hIMC);
860 return ret; /* Returns IPHK_... flags */
861}
LPARAM lParam
Definition: combotst.c:139
PIMEDPI WINAPI ImmLockImeDpi(HKL hKL)
Definition: ime.c:987
VOID WINAPI ImmUnlockImeDpi(PIMEDPI pImeDpi)
Definition: ime.c:1016
HIMC WINAPI ImmGetContext(HWND hWnd)
Definition: imm.c:1057
BOOL WINAPI ImmReleaseContext(HWND hWnd, HIMC hIMC)
Definition: imm.c:1098
#define INVALID_HOTKEY_ID
Definition: precomp.h:52
#define ImeDpi_IsUnicode(pImeDpi)
Definition: precomp.h:145
#define IME_JHOTKEY_CLOSE_OPEN
Definition: imm.h:336
#define IME_PROP_ACCEPT_WIDE_VKEY
Definition: imm.h:218
struct INPUTCONTEXTDX * LPINPUTCONTEXTDX
#define LOBYTE(W)
Definition: jmemdos.c:487
BOOL WINAPI ImmTranslateMessage(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lKeyData)
Definition: keymsg.c:1030
DWORD WINAPI ImmGetAppCompatFlags(HIMC hIMC)
Definition: keymsg.c:755
BOOL APIENTRY Imm32ProcessHotKey(HWND hWnd, HIMC hIMC, HKL hKL, DWORD dwHotKeyID)
Definition: keymsg.c:252
WORD vk
Definition: input.c:77
unsigned int UINT
Definition: ndis.h:50
#define LOWORD(l)
Definition: pedump.c:82
IMEINFO ImeInfo
Definition: ntuser.h:1284
UINT nVKey
Definition: immdev.h:129
BOOL bNeedsTrans
Definition: immdev.h:130
DWORD fdwProperty
Definition: imm.h:158
#define IPHK_SKIPTHISKEY
Definition: undocuser.h:142
#define IPHK_HOTKEY
Definition: undocuser.h:139
#define IPHK_PROCESSBYIME
Definition: undocuser.h:140
#define VK_PROCESSKEY
Definition: winuser.h:2317
_Check_return_ BOOL WINAPI GetKeyboardState(_Out_writes_(256) PBYTE lpKeyState)
#define VK_KANJI
Definition: winuser.h:2203
#define WM_KEYDOWN
Definition: winuser.h:1705
unsigned char BYTE
Definition: xxhash.c:193

Referenced by ImmCallImeConsoleIME(), and User32CallImmProcessKeyFromKernel().

◆ ImmRegisterWordA()

BOOL WINAPI ImmRegisterWordA ( _In_  HKL,
_In_ LPCSTR  lpszReading,
_In_  DWORD,
_In_ LPCSTR  lpszRegister 
)

◆ ImmRegisterWordW()

BOOL WINAPI ImmRegisterWordW ( _In_  HKL,
_In_ LPCWSTR  lpszReading,
_In_  DWORD,
_In_ LPCWSTR  lpszRegister 
)

◆ ImmReleaseContext()

BOOL WINAPI ImmReleaseContext ( _In_  HWND,
_In_  HIMC 
)

◆ ImmRequestMessageA()

LRESULT WINAPI ImmRequestMessageA ( HIMC  hIMC,
WPARAM  wParam,
LPARAM  lParam 
)

Definition at line 1167 of file keymsg.c.

1168{
1169 TRACE("(%p, %p, %p)\n", hIMC, wParam, lParam);
1170 return ImmRequestMessageAW(hIMC, wParam, lParam, TRUE);
1171}
WPARAM wParam
Definition: combotst.c:138
LRESULT APIENTRY ImmRequestMessageAW(HIMC hIMC, WPARAM wParam, LPARAM lParam, BOOL bAnsi)
Definition: keymsg.c:646

Referenced by test_InvalidIMC().

◆ ImmRequestMessageW()

LRESULT WINAPI ImmRequestMessageW ( HIMC  hIMC,
WPARAM  wParam,
LPARAM  lParam 
)

Definition at line 1176 of file keymsg.c.

1177{
1178 TRACE("(%p, %p, %p)\n", hIMC, wParam, lParam);
1179 return ImmRequestMessageAW(hIMC, wParam, lParam, FALSE);
1180}

◆ ImmReSizeIMCC()

HIMCC WINAPI ImmReSizeIMCC ( HIMCC  imcc,
DWORD  size 
)

Definition at line 1226 of file utils.c.

1227{
1228 if (!imcc)
1229 return NULL;
1230 return LocalReAlloc(imcc, size, LHND);
1231}
HLOCAL NTAPI LocalReAlloc(HLOCAL hMem, SIZE_T dwBytes, UINT uFlags)
Definition: heapmem.c:1625

Referenced by Imm32SelectInputContext(), and test_ImmMessages().

◆ ImmSetActiveContext()

BOOL WINAPI ImmSetActiveContext ( HWND  hwnd,
HIMC  hIMC,
BOOL  fFlag 
)

Definition at line 1176 of file imm.c.

1177{
1178 PCLIENTIMC pClientImc;
1179 LPINPUTCONTEXTDX pIC;
1180 PIMEDPI pImeDpi;
1181 HIMC hOldIMC;
1182 HKL hKL;
1183 BOOL fOpen = FALSE;
1184 DWORD dwConversion = 0, dwShowFlags = ISC_SHOWUIALL;
1185 HWND hwndDefIME;
1186
1187 TRACE("(%p, %p, %d)\n", hWnd, hIMC, fActive);
1188
1189 if (!IS_IMM_MODE())
1190 {
1191 TRACE("\n");
1192 return FALSE;
1193 }
1194
1195 pClientImc = ImmLockClientImc(hIMC);
1196
1197 if (!fActive)
1198 {
1199 if (pClientImc)
1200 pClientImc->dwFlags &= ~CLIENTIMC_ACTIVE;
1201 }
1202 else if (hIMC)
1203 {
1204 if (IS_NULL_UNEXPECTEDLY(pClientImc))
1205 return FALSE;
1206
1207 pIC = (LPINPUTCONTEXTDX)ImmLockIMC(hIMC);
1208 if (IS_NULL_UNEXPECTEDLY(pIC))
1209 {
1210 ImmUnlockClientImc(pClientImc);
1211 return FALSE;
1212 }
1213
1214 pIC->hWnd = hWnd;
1215 pClientImc->dwFlags |= CLIENTIMC_ACTIVE;
1216
1217 if (pIC->dwUIFlags & 2)
1219
1220 fOpen = pIC->fOpen;
1221 dwConversion = pIC->fdwConversion;
1222
1223 ImmUnlockIMC(hIMC);
1224 }
1225 else
1226 {
1227 hOldIMC = ImmGetSaveContext(hWnd, 1);
1228 pIC = (LPINPUTCONTEXTDX)ImmLockIMC(hOldIMC);
1229 if (pIC)
1230 {
1231 pIC->hWnd = hWnd;
1232 ImmUnlockIMC(hOldIMC);
1233 }
1234 }
1235
1236 hKL = GetKeyboardLayout(0);
1237 if (IS_CICERO_MODE() && !IS_16BIT_MODE())
1238 {
1239 Imm32CiceroSetActiveContext(hIMC, fActive, hWnd, hKL);
1240 hKL = GetKeyboardLayout(0);
1241 }
1242
1243 pImeDpi = ImmLockImeDpi(hKL);
1244 if (pImeDpi)
1245 {
1246 if (IS_IME_HKL(hKL))
1247 pImeDpi->ImeSetActiveContext(hIMC, fActive);
1248 ImmUnlockImeDpi(pImeDpi);
1249 }
1250
1251 if (IsWindow(hWnd))
1252 {
1253 SendMessageW(hWnd, WM_IME_SETCONTEXT, fActive, dwShowFlags);
1254 if (fActive)
1255 NtUserNotifyIMEStatus(hWnd, fOpen, dwConversion);
1256 }
1257 else if (!fActive)
1258 {
1259 hwndDefIME = ImmGetDefaultIMEWnd(NULL);
1260 if (hwndDefIME)
1261 SendMessageW(hwndDefIME, WM_IME_SETCONTEXT, 0, dwShowFlags);
1262 }
1263
1264 if (pClientImc)
1265 ImmUnlockClientImc(pClientImc);
1266
1267 return TRUE;
1268}
HWND WINAPI ImmGetDefaultIMEWnd(HWND hWnd)
Definition: ime.c:890
static VOID APIENTRY Imm32CiceroSetActiveContext(HIMC hIMC, BOOL fActive, HWND hWnd, HKL hKL)
Definition: imm.c:495
static HIMC APIENTRY ImmGetSaveContext(HWND hWnd, DWORD dwContextFlags)
Definition: imm.c:1016
#define ISC_SHOWUIGUIDELINE
Definition: imm.h:306
#define ISC_SHOWUIALLCANDIDATEWINDOW
Definition: imm.h:307
#define ISC_SHOWUIALL
Definition: imm.h:308
DWORD NTAPI NtUserNotifyIMEStatus(HWND hwnd, BOOL fOpen, DWORD dwConversion)
Definition: ime.c:803
#define CLIENTIMC_ACTIVE
Definition: ntuser.h:1357
UINT_PTR HKL
Definition: msctf.idl:104
DWORD dwUIFlags
Definition: immdev.h:132
BOOL WINAPI IsWindow(_In_opt_ HWND)
HKL WINAPI GetKeyboardLayout(_In_ DWORD)
#define WM_IME_SETCONTEXT
Definition: winuser.h:1819

Referenced by ImmAssociateContext(), ImmAssociateContextEx(), ImmSetActiveContextConsoleIME(), ImmWINNLSEnableIME(), and User32SetImeActivenessOfWindow().

◆ ImmSetCandidateWindow()

BOOL WINAPI ImmSetCandidateWindow ( _In_  HIMC,
_In_  LPCANDIDATEFORM 
)

◆ ImmSetCompositionStringA()

BOOL WINAPI ImmSetCompositionStringA ( _In_  HIMC,
_In_ DWORD  dwIndex,
_Inout_updates_bytes_opt_(dwCompLen) LPVOID  lpComp,
_In_ DWORD  dwCompLen,
_Inout_updates_bytes_opt_(dwReadLen) LPVOID  lpRead,
_In_ DWORD  dwReadLen 
)

◆ ImmSetCompositionStringW()

BOOL WINAPI ImmSetCompositionStringW ( _In_  HIMC,
_In_ DWORD  dwIndex,
_Inout_updates_bytes_opt_(dwCompLen) LPVOID  lpComp,
_In_ DWORD  dwCompLen,
_Inout_updates_bytes_opt_(dwReadLen) LPVOID  lpRead,
_In_ DWORD  dwReadLen 
)

◆ ImmSetCompositionWindow()

BOOL WINAPI ImmSetCompositionWindow ( _In_  HIMC,
_In_  LPCOMPOSITIONFORM 
)

◆ ImmSetConversionStatus()

BOOL WINAPI ImmSetConversionStatus ( _In_  HIMC,
_In_  DWORD,
_In_  DWORD 
)

◆ ImmSetOpenStatus()

BOOL WINAPI ImmSetOpenStatus ( _In_  HIMC,
_In_  BOOL 
)

◆ ImmSetStatusWindowPos()

BOOL WINAPI ImmSetStatusWindowPos ( _In_  HIMC,
_In_  LPPOINT 
)

◆ ImmShowSoftKeyboard()

BOOL WINAPI ImmShowSoftKeyboard ( HWND  hSoftWnd,
int  nCmdShow 
)

Definition at line 1128 of file imm.c.

1129{
1130 TRACE("(%p, %d)\n", hSoftWnd, nCmdShow);
1131 if (hSoftWnd)
1132 return ShowWindow(hSoftWnd, nCmdShow);
1133 return FALSE;
1134}
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)

◆ ImmSimulateHotKey()

BOOL WINAPI ImmSimulateHotKey ( _In_  HWND,
_In_  DWORD 
)

◆ ImmTranslateMessage()

BOOL WINAPI ImmTranslateMessage ( HWND  hwnd,
UINT  msg,
WPARAM  wParam,
LPARAM  lKeyData 
)

Definition at line 1030 of file keymsg.c.

1031{
1032#define MSG_COUNT 0x100
1033 BOOL ret = FALSE;
1034 INT kret;
1035 LPINPUTCONTEXTDX pIC;
1036 PIMEDPI pImeDpi = NULL;
1038 LPTRANSMSG pTransMsg;
1039 BYTE abKeyState[256];
1040 HIMC hIMC;
1041 HKL hKL;
1042 UINT vk;
1043 DWORD dwThreadId, dwCount, cbList;
1044 WCHAR wch;
1045 WORD wChar;
1046
1047 TRACE("(%p, 0x%X, %p, %p)\n", hwnd, msg, wParam, lKeyData);
1048
1049 /* filter the message */
1050 switch (msg)
1051 {
1052 case WM_KEYDOWN: case WM_KEYUP: case WM_SYSKEYDOWN: case WM_SYSKEYUP:
1053 break;
1054 default:
1055 return FALSE;
1056 }
1057
1058 hIMC = ImmGetContext(hwnd);
1059 pIC = (LPINPUTCONTEXTDX)ImmLockIMC(hIMC);
1060 if (IS_NULL_UNEXPECTEDLY(pIC))
1061 {
1062 ImmReleaseContext(hwnd, hIMC);
1063 return FALSE;
1064 }
1065
1066 if (!pIC->bNeedsTrans) /* is translation needed? */
1067 {
1068 /* directly post them */
1069 dwCount = pIC->dwNumMsgBuf;
1070 if (dwCount == 0)
1071 goto Quit;
1072
1073 pTransMsg = ImmLockIMCC(pIC->hMsgBuf);
1074 if (pTransMsg)
1075 {
1076 ImmPostMessages(hwnd, hIMC, dwCount, pTransMsg);
1077 ImmUnlockIMCC(pIC->hMsgBuf);
1078 ret = TRUE;
1079 }
1080 pIC->dwNumMsgBuf = 0; /* done */
1081 goto Quit;
1082 }
1083 pIC->bNeedsTrans = FALSE; /* clear the flag */
1084
1087 pImeDpi = ImmLockImeDpi(hKL);
1088 if (IS_NULL_UNEXPECTEDLY(pImeDpi))
1089 goto Quit;
1090
1091 if (!GetKeyboardState(abKeyState)) /* get keyboard ON/OFF status */
1092 {
1093 WARN("\n");
1094 goto Quit;
1095 }
1096
1097 /* convert a virtual key if IME_PROP_KBD_CHAR_FIRST */
1098 vk = pIC->nVKey;
1100 {
1101 if (ImeDpi_IsUnicode(pImeDpi))
1102 {
1103 wch = 0;
1104 kret = ToUnicode(vk, HIWORD(lKeyData), abKeyState, &wch, 1, 0);
1105 if (kret == 1)
1106 vk = MAKELONG(LOBYTE(vk), wch);
1107 }
1108 else
1109 {
1110 wChar = 0;
1111 kret = ToAsciiEx(vk, HIWORD(lKeyData), abKeyState, &wChar, 0, hKL);
1112 if (kret > 0)
1113 {
1114 if ((BYTE)vk == VK_PACKET)
1115 {
1116 vk &= 0xFF;
1117 vk |= (wChar << 8);
1118 }
1119 else
1120 {
1121 vk = MAKEWORD(vk, wChar);
1122 }
1123 }
1124 }
1125 }
1126
1127 /* allocate a list */
1128 cbList = offsetof(TRANSMSGLIST, TransMsg) + MSG_COUNT * sizeof(TRANSMSG);
1129 pList = ImmLocalAlloc(0, cbList);
1131 goto Quit;
1132
1133 /* use IME conversion engine and convert the list */
1134 pList->uMsgCount = MSG_COUNT;
1135 kret = pImeDpi->ImeToAsciiEx(vk, HIWORD(lKeyData), abKeyState, pList, 0, hIMC);
1136 if (kret <= 0)
1137 goto Quit;
1138
1139 /* post them */
1140 if (kret <= MSG_COUNT)
1141 {
1142 ImmPostMessages(hwnd, hIMC, kret, pList->TransMsg);
1143 ret = TRUE;
1144 }
1145 else
1146 {
1147 pTransMsg = ImmLockIMCC(pIC->hMsgBuf);
1148 if (IS_NULL_UNEXPECTEDLY(pTransMsg))
1149 goto Quit;
1150 ImmPostMessages(hwnd, hIMC, kret, pTransMsg);
1151 ImmUnlockIMCC(pIC->hMsgBuf);
1152 }
1153
1154Quit:
1156 ImmUnlockImeDpi(pImeDpi);
1157 ImmUnlockIMC(hIMC);
1158 ImmReleaseContext(hwnd, hIMC);
1159 TRACE("ret: %d\n", ret);
1160 return ret;
1161#undef MSG_COUNT
1162}
#define msg(x)
Definition: auth_time.c:54
#define WARN(fmt,...)
Definition: debug.h:112
DWORD dwThreadId
Definition: fdebug.c:31
FxChildList * pList
#define IME_PROP_KBD_CHAR_FIRST
Definition: imm.h:214
VOID APIENTRY ImmPostMessages(HWND hwnd, HIMC hIMC, DWORD dwCount, LPTRANSMSG lpTransMsg)
Definition: keymsg.c:971
#define MSG_COUNT
#define offsetof(TYPE, MEMBER)
#define MAKEWORD(a, b)
Definition: typedefs.h:248
int32_t INT
Definition: typedefs.h:58
#define MAKELONG(a, b)
Definition: typedefs.h:249
#define HIWORD(l)
Definition: typedefs.h:247
DWORD WINAPI GetWindowThreadProcessId(HWND hWnd, PDWORD lpdwProcessId)
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023
#define WM_KEYUP
Definition: winuser.h:1706
int WINAPI ToUnicode(_In_ UINT wVirtKey, _In_ UINT wScanCode, _In_reads_bytes_opt_(256) CONST BYTE *lpKeyState, _Out_writes_(cchBuff) LPWSTR pwszBuff, _In_ int cchBuff, _In_ UINT wFlags)
#define WM_SYSKEYUP
Definition: winuser.h:1710
int WINAPI ToAsciiEx(_In_ UINT, _In_ UINT, _In_reads_opt_(256) CONST BYTE *, _Out_ LPWORD, _In_ UINT, _In_opt_ HKL)
#define WM_SYSKEYDOWN
Definition: winuser.h:1709
__wchar_t WCHAR
Definition: xmlstorage.h:180

Referenced by ImmProcessKey(), and TranslateMessage().

◆ ImmUnlockIMC()

BOOL WINAPI ImmUnlockIMC ( HIMC  hIMC)

Definition at line 1079 of file imm.c.

1080{
1081 PCLIENTIMC pClientImc;
1082
1083 pClientImc = ImmLockClientImc(hIMC);
1084 if (IS_NULL_UNEXPECTEDLY(pClientImc))
1085 return FALSE;
1086
1087 if (pClientImc->hInputContext)
1088 LocalUnlock(pClientImc->hInputContext);
1089
1090 InterlockedDecrement(&pClientImc->cLockObj);
1091 ImmUnlockClientImc(pClientImc);
1092 return TRUE;
1093}
#define InterlockedDecrement
Definition: armddk.h:52
BOOL NTAPI LocalUnlock(HLOCAL hMem)
Definition: heapmem.c:1805
LONG cLockObj
Definition: ntuser.h:1335

Referenced by EDIT_WindowProc(), ImeWnd_OnImeNotify(), ImeWnd_OnImeSetContext(), ImeWnd_OnImeSystem(), Imm32CImeNonImeToggle(), Imm32CShapeToggle(), Imm32CSymbolToggle(), Imm32DestroyInputContext(), Imm32JCloseOpen(), Imm32KEnglish(), Imm32KHanjaConvert(), Imm32KShapeToggle(), Imm32OpenICAndCS(), Imm32SelectInputContext(), Imm32SendNotificationProc(), ImmGenerateMessage(), ImmGetCandidateListAW(), ImmGetCandidateListCountAW(), ImmGetCandidateWindow(), ImmGetCompositionFontA(), ImmGetCompositionFontW(), ImmGetCompositionStringA(), ImmGetCompositionStringW(), ImmGetCompositionWindow(), ImmGetConversionStatus(), ImmGetGuideLineAW(), ImmGetImeMenuItemsAW(), ImmGetOpenStatus(), ImmGetStatusWindowPos(), ImmGetVirtualKey(), ImmProcessKey(), ImmRequestMessageAW(), ImmSetActiveContext(), ImmSetCandidateWindow(), ImmSetCompositionFontA(), ImmSetCompositionFontW(), ImmSetCompositionStringAW(), ImmSetCompositionWindow(), ImmSetConversionStatus(), ImmSetOpenStatus(), ImmSetStatusWindowPos(), ImmTranslateMessage(), ME_HandleMessage(), Test1(), test_ImmDestroyContext(), test_ImmGetIMCLockCount(), test_ImmMessages(), and test_InvalidIMC().

◆ ImmUnlockIMCC()

◆ ImmUnregisterWordA()

BOOL WINAPI ImmUnregisterWordA ( _In_  HKL,
_In_ LPCSTR  lpszReading,
_In_  DWORD,
_In_ LPCSTR  lpszUnregister 
)

◆ ImmUnregisterWordW()

BOOL WINAPI ImmUnregisterWordW ( _In_  HKL,
_In_ LPCWSTR  lpszReading,
_In_  DWORD,
_In_ LPCWSTR  lpszUnregister 
)

◆ NotifyIME()

BOOL WINAPI NotifyIME ( HIMC  ,
DWORD  ,
DWORD  ,
DWORD   
)