ReactOS  0.4.15-dev-3439-g2693a26
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 IMMGWL_IMC   0
 
#define IMMGWL_PRIVATE   (sizeof(LONG))
 
#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 466 of file imm.h.

◆ ATTR_FIXEDCONVERTED

#define ATTR_FIXEDCONVERTED   0x05

Definition at line 469 of file imm.h.

◆ ATTR_INPUT

#define ATTR_INPUT   0x00

Definition at line 464 of file imm.h.

◆ ATTR_INPUT_ERROR

#define ATTR_INPUT_ERROR   0x04

Definition at line 468 of file imm.h.

◆ ATTR_TARGET_CONVERTED

#define ATTR_TARGET_CONVERTED   0x01

Definition at line 465 of file imm.h.

◆ ATTR_TARGET_NOTCONVERTED

#define ATTR_TARGET_NOTCONVERTED   0x03

Definition at line 467 of file imm.h.

◆ CFS_CANDIDATEPOS

#define CFS_CANDIDATEPOS   0x0040

Definition at line 477 of file imm.h.

◆ CFS_DEFAULT

#define CFS_DEFAULT   0x0000

Definition at line 473 of file imm.h.

◆ CFS_EXCLUDE

#define CFS_EXCLUDE   0x0080

Definition at line 478 of file imm.h.

◆ CFS_FORCE_POSITION

#define CFS_FORCE_POSITION   0x0020

Definition at line 476 of file imm.h.

◆ CFS_POINT

#define CFS_POINT   0x0002

Definition at line 475 of file imm.h.

◆ CFS_RECT

#define CFS_RECT   0x0001

Definition at line 474 of file imm.h.

◆ CPS_CANCEL

#define CPS_CANCEL   0x0004

Definition at line 318 of file imm.h.

◆ CPS_COMPLETE

#define CPS_COMPLETE   0x0001

Definition at line 315 of file imm.h.

◆ CPS_CONVERT

#define CPS_CONVERT   0x0002

Definition at line 316 of file imm.h.

◆ CPS_REVERT

#define CPS_REVERT   0x0003

Definition at line 317 of file imm.h.

◆ CS_INSERTCHAR

#define CS_INSERTCHAR   0x2000

Definition at line 381 of file imm.h.

◆ CS_NOMOVECARET

#define CS_NOMOVECARET   0x4000

Definition at line 382 of file imm.h.

◆ GCL_CONVERSION

#define GCL_CONVERSION   0x0001

Definition at line 481 of file imm.h.

◆ GCL_REVERSE_LENGTH

#define GCL_REVERSE_LENGTH   0x0003

Definition at line 483 of file imm.h.

◆ GCL_REVERSECONVERSION

#define GCL_REVERSECONVERSION   0x0002

Definition at line 482 of file imm.h.

◆ GCS_COMPATTR

#define GCS_COMPATTR   0x0010

Definition at line 371 of file imm.h.

◆ GCS_COMPCLAUSE

#define GCS_COMPCLAUSE   0x0020

Definition at line 372 of file imm.h.

◆ GCS_COMPREADATTR

#define GCS_COMPREADATTR   0x0002

Definition at line 368 of file imm.h.

◆ GCS_COMPREADCLAUSE

#define GCS_COMPREADCLAUSE   0x0004

Definition at line 369 of file imm.h.

◆ GCS_COMPREADSTR

#define GCS_COMPREADSTR   0x0001

Definition at line 367 of file imm.h.

◆ GCS_COMPSTR

#define GCS_COMPSTR   0x0008

Definition at line 370 of file imm.h.

◆ GCS_CURSORPOS

#define GCS_CURSORPOS   0x0080

Definition at line 373 of file imm.h.

◆ GCS_DELTASTART

#define GCS_DELTASTART   0x0100

Definition at line 374 of file imm.h.

◆ GCS_RESULTCLAUSE

#define GCS_RESULTCLAUSE   0x1000

Definition at line 378 of file imm.h.

◆ GCS_RESULTREADCLAUSE

#define GCS_RESULTREADCLAUSE   0x0400

Definition at line 376 of file imm.h.

◆ GCS_RESULTREADSTR

#define GCS_RESULTREADSTR   0x0200

Definition at line 375 of file imm.h.

◆ GCS_RESULTSTR

#define GCS_RESULTSTR   0x0800

Definition at line 377 of file imm.h.

◆ GGL_INDEX

#define GGL_INDEX   0x00000002

Definition at line 417 of file imm.h.

◆ GGL_LEVEL

#define GGL_LEVEL   0x00000001

Definition at line 416 of file imm.h.

◆ GGL_PRIVATE

#define GGL_PRIVATE   0x00000004

Definition at line 419 of file imm.h.

◆ GGL_STRING

#define GGL_STRING   0x00000003

Definition at line 418 of file imm.h.

◆ GL_ID_CANNOTSAVE

#define GL_ID_CANNOTSAVE   0x00000011

Definition at line 432 of file imm.h.

◆ GL_ID_CHOOSECANDIDATE

#define GL_ID_CHOOSECANDIDATE   0x00000028

Definition at line 441 of file imm.h.

◆ GL_ID_INPUTCODE

#define GL_ID_INPUTCODE   0x00000026

Definition at line 439 of file imm.h.

◆ GL_ID_INPUTRADICAL

#define GL_ID_INPUTRADICAL   0x00000025

Definition at line 438 of file imm.h.

◆ GL_ID_INPUTREADING

#define GL_ID_INPUTREADING   0x00000024

Definition at line 437 of file imm.h.

◆ GL_ID_INPUTSYMBOL

#define GL_ID_INPUTSYMBOL   0x00000027

Definition at line 440 of file imm.h.

◆ GL_ID_NOCONVERT

#define GL_ID_NOCONVERT   0x00000020

Definition at line 433 of file imm.h.

◆ GL_ID_NODICTIONARY

#define GL_ID_NODICTIONARY   0x00000010

Definition at line 431 of file imm.h.

◆ GL_ID_NOMODULE

#define GL_ID_NOMODULE   0x00000001

Definition at line 430 of file imm.h.

◆ GL_ID_PRIVATE_FIRST

#define GL_ID_PRIVATE_FIRST   0x00008000

Definition at line 443 of file imm.h.

◆ GL_ID_PRIVATE_LAST

#define GL_ID_PRIVATE_LAST   0x0000FFFF

Definition at line 444 of file imm.h.

◆ GL_ID_READINGCONFLICT

#define GL_ID_READINGCONFLICT   0x00000023

Definition at line 436 of file imm.h.

◆ GL_ID_REVERSECONVERSION

#define GL_ID_REVERSECONVERSION   0x00000029

Definition at line 442 of file imm.h.

◆ GL_ID_TOOMANYSTROKE

#define GL_ID_TOOMANYSTROKE   0x00000022

Definition at line 435 of file imm.h.

◆ GL_ID_TYPINGERROR

#define GL_ID_TYPINGERROR   0x00000021

Definition at line 434 of file imm.h.

◆ GL_ID_UNKNOWN

#define GL_ID_UNKNOWN   0x00000000

Definition at line 429 of file imm.h.

◆ GL_LEVEL_ERROR

#define GL_LEVEL_ERROR   0x00000002

Definition at line 424 of file imm.h.

◆ GL_LEVEL_FATAL

#define GL_LEVEL_FATAL   0x00000001

Definition at line 423 of file imm.h.

◆ GL_LEVEL_INFORMATION

#define GL_LEVEL_INFORMATION   0x00000004

Definition at line 426 of file imm.h.

◆ GL_LEVEL_NOGUIDELINE

#define GL_LEVEL_NOGUIDELINE   0x00000000

Definition at line 422 of file imm.h.

◆ GL_LEVEL_WARNING

#define GL_LEVEL_WARNING   0x00000003

Definition at line 425 of file imm.h.

◆ IACE_CHILDREN

#define IACE_CHILDREN   0x0001

Definition at line 585 of file imm.h.

◆ IACE_DEFAULT

#define IACE_DEFAULT   0x0010

Definition at line 586 of file imm.h.

◆ IACE_IGNORENOCONTEXT

#define IACE_IGNORENOCONTEXT   0x0020

Definition at line 587 of file imm.h.

◆ IGIMIF_RIGHTMENU

#define IGIMIF_RIGHTMENU   0x0001

Definition at line 590 of file imm.h.

◆ IGIMII_CMODE

#define IGIMII_CMODE   0x0001

Definition at line 593 of file imm.h.

◆ IGIMII_CONFIGURE

#define IGIMII_CONFIGURE   0x0004

Definition at line 595 of file imm.h.

◆ IGIMII_HELP

#define IGIMII_HELP   0x0010

Definition at line 597 of file imm.h.

◆ IGIMII_INPUTTOOLS

#define IGIMII_INPUTTOOLS   0x0040

Definition at line 599 of file imm.h.

◆ IGIMII_OTHER

#define IGIMII_OTHER   0x0020

Definition at line 598 of file imm.h.

◆ IGIMII_SMODE

#define IGIMII_SMODE   0x0002

Definition at line 594 of file imm.h.

◆ IGIMII_TOOLS

#define IGIMII_TOOLS   0x0008

Definition at line 596 of file imm.h.

◆ IGP_CONVERSION

#define IGP_CONVERSION   0x00000008

Definition at line 449 of file imm.h.

◆ IGP_GETIMEVERSION

#define IGP_GETIMEVERSION   (DWORD)(-4)

Definition at line 447 of file imm.h.

◆ IGP_PROPERTY

#define IGP_PROPERTY   0x00000004

Definition at line 448 of file imm.h.

◆ IGP_SELECT

#define IGP_SELECT   0x00000018

Definition at line 453 of file imm.h.

◆ IGP_SENTENCE

#define IGP_SENTENCE   0x0000000c

Definition at line 450 of file imm.h.

◆ IGP_SETCOMPSTR

#define IGP_SETCOMPSTR   0x00000014

Definition at line 452 of file imm.h.

◆ IGP_UI

#define IGP_UI   0x00000010

Definition at line 451 of file imm.h.

◆ IMC_CLOSESTATUSWINDOW

#define IMC_CLOSESTATUSWINDOW   0x0021

Definition at line 289 of file imm.h.

◆ IMC_GETCANDIDATEPOS

#define IMC_GETCANDIDATEPOS   0x0007

Definition at line 281 of file imm.h.

◆ IMC_GETCOMPOSITIONFONT

#define IMC_GETCOMPOSITIONFONT   0x0009

Definition at line 283 of file imm.h.

◆ IMC_GETCOMPOSITIONWINDOW

#define IMC_GETCOMPOSITIONWINDOW   0x000B

Definition at line 285 of file imm.h.

◆ IMC_GETSTATUSWINDOWPOS

#define IMC_GETSTATUSWINDOWPOS   0x000F

Definition at line 287 of file imm.h.

◆ IMC_OPENSTATUSWINDOW

#define IMC_OPENSTATUSWINDOW   0x0022

Definition at line 290 of file imm.h.

◆ IMC_SETCANDIDATEPOS

#define IMC_SETCANDIDATEPOS   0x0008

Definition at line 282 of file imm.h.

◆ IMC_SETCOMPOSITIONFONT

#define IMC_SETCOMPOSITIONFONT   0x000A

Definition at line 284 of file imm.h.

◆ IMC_SETCOMPOSITIONWINDOW

#define IMC_SETCOMPOSITIONWINDOW   0x000C

Definition at line 286 of file imm.h.

◆ IMC_SETCONVERSIONMODE

#define IMC_SETCONVERSIONMODE   0x0002

Definition at line 224 of file imm.h.

◆ IMC_SETOPENSTATUS

#define IMC_SETOPENSTATUS   0x0006

Definition at line 226 of file imm.h.

◆ IMC_SETSENTENCEMODE

#define IMC_SETSENTENCEMODE   0x0004

Definition at line 225 of file imm.h.

◆ IMC_SETSTATUSWINDOWPOS

#define IMC_SETSTATUSWINDOWPOS   0x0010

Definition at line 288 of file imm.h.

◆ IME_CAND_CODE

#define IME_CAND_CODE   0x0002

Definition at line 517 of file imm.h.

◆ IME_CAND_MEANING

#define IME_CAND_MEANING   0x0003

Definition at line 518 of file imm.h.

◆ IME_CAND_RADICAL

#define IME_CAND_RADICAL   0x0004

Definition at line 519 of file imm.h.

◆ IME_CAND_READ

#define IME_CAND_READ   0x0001

Definition at line 516 of file imm.h.

◆ IME_CAND_STROKE

#define IME_CAND_STROKE   0x0005

Definition at line 520 of file imm.h.

◆ IME_CAND_UNKNOWN

#define IME_CAND_UNKNOWN   0x0000

Definition at line 515 of file imm.h.

◆ IME_CHOTKEY_IME_NONIME_TOGGLE

#define IME_CHOTKEY_IME_NONIME_TOGGLE   0x10

Definition at line 334 of file imm.h.

◆ IME_CHOTKEY_SHAPE_TOGGLE

#define IME_CHOTKEY_SHAPE_TOGGLE   0x11

Definition at line 335 of file imm.h.

◆ IME_CHOTKEY_SYMBOL_TOGGLE

#define IME_CHOTKEY_SYMBOL_TOGGLE   0x12

Definition at line 336 of file imm.h.

◆ IME_CMODE_ALPHANUMERIC

#define IME_CMODE_ALPHANUMERIC   0x0000

Definition at line 487 of file imm.h.

◆ IME_CMODE_CHARCODE

#define IME_CMODE_CHARCODE   0x0020

Definition at line 498 of file imm.h.

◆ IME_CMODE_CHINESE

#define IME_CMODE_CHINESE   IME_CMODE_NATIVE

Definition at line 489 of file imm.h.

◆ IME_CMODE_EUDC

#define IME_CMODE_EUDC   0x0200

Definition at line 502 of file imm.h.

◆ IME_CMODE_FIXED

#define IME_CMODE_FIXED   0x0800

Definition at line 504 of file imm.h.

◆ IME_CMODE_FULLSHAPE

#define IME_CMODE_FULLSHAPE   0x0008

Definition at line 496 of file imm.h.

◆ IME_CMODE_HANGEUL

#define IME_CMODE_HANGEUL   IME_CMODE_NATIVE

Definition at line 491 of file imm.h.

◆ IME_CMODE_HANGUL

#define IME_CMODE_HANGUL   IME_CMODE_NATIVE

Definition at line 492 of file imm.h.

◆ IME_CMODE_HANJACONVERT

#define IME_CMODE_HANJACONVERT   0x0040

Definition at line 499 of file imm.h.

◆ IME_CMODE_JAPANESE

#define IME_CMODE_JAPANESE   IME_CMODE_NATIVE

Definition at line 493 of file imm.h.

◆ IME_CMODE_KATAKANA

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

Definition at line 494 of file imm.h.

◆ IME_CMODE_LANGUAGE

#define IME_CMODE_LANGUAGE   0x0003

Definition at line 495 of file imm.h.

◆ IME_CMODE_NATIVE

#define IME_CMODE_NATIVE   0x0001

Definition at line 488 of file imm.h.

◆ IME_CMODE_NOCONVERSION

#define IME_CMODE_NOCONVERSION   0x0100

Definition at line 501 of file imm.h.

◆ IME_CMODE_ROMAN

#define IME_CMODE_ROMAN   0x0010

Definition at line 497 of file imm.h.

◆ IME_CMODE_SOFTKBD

#define IME_CMODE_SOFTKBD   0x0080

Definition at line 500 of file imm.h.

◆ IME_CMODE_SYMBOL

#define IME_CMODE_SYMBOL   0x0400

Definition at line 503 of file imm.h.

◆ IME_CONFIG_GENERAL

#define IME_CONFIG_GENERAL   1

Definition at line 556 of file imm.h.

◆ IME_CONFIG_REGISTERWORD

#define IME_CONFIG_REGISTERWORD   2

Definition at line 557 of file imm.h.

◆ IME_CONFIG_SELECTDICTIONARY

#define IME_CONFIG_SELECTDICTIONARY   3

Definition at line 558 of file imm.h.

◆ IME_ESC_AUTOMATA

#define IME_ESC_AUTOMATA   0x1009

Definition at line 573 of file imm.h.

◆ IME_ESC_GET_EUDC_DICTIONARY

#define IME_ESC_GET_EUDC_DICTIONARY   0x1003

Definition at line 567 of file imm.h.

◆ IME_ESC_GETHELPFILENAME

#define IME_ESC_GETHELPFILENAME   0x100b

Definition at line 575 of file imm.h.

◆ IME_ESC_HANJA_MODE

#define IME_ESC_HANJA_MODE   0x1008

Definition at line 572 of file imm.h.

◆ IME_ESC_IME_NAME

#define IME_ESC_IME_NAME   0x1006

Definition at line 570 of file imm.h.

◆ IME_ESC_MAX_KEY

#define IME_ESC_MAX_KEY   0x1005

Definition at line 569 of file imm.h.

◆ IME_ESC_PRIVATE_FIRST

#define IME_ESC_PRIVATE_FIRST   0x0800

Definition at line 564 of file imm.h.

◆ IME_ESC_PRIVATE_HOTKEY

#define IME_ESC_PRIVATE_HOTKEY   0x100a

Definition at line 574 of file imm.h.

◆ IME_ESC_PRIVATE_LAST

#define IME_ESC_PRIVATE_LAST   0x0FFF

Definition at line 565 of file imm.h.

◆ IME_ESC_QUERY_SUPPORT

#define IME_ESC_QUERY_SUPPORT   0x0003

Definition at line 561 of file imm.h.

◆ IME_ESC_RESERVED_FIRST

#define IME_ESC_RESERVED_FIRST   0x0004

Definition at line 562 of file imm.h.

◆ IME_ESC_RESERVED_LAST

#define IME_ESC_RESERVED_LAST   0x07FF

Definition at line 563 of file imm.h.

◆ IME_ESC_SEQUENCE_TO_INTERNAL

#define IME_ESC_SEQUENCE_TO_INTERNAL   0x1001

Definition at line 566 of file imm.h.

◆ IME_ESC_SET_EUDC_DICTIONARY

#define IME_ESC_SET_EUDC_DICTIONARY   0x1004

Definition at line 568 of file imm.h.

◆ IME_ESC_SYNC_HOTKEY

#define IME_ESC_SYNC_HOTKEY   0x1007

Definition at line 571 of file imm.h.

◆ IME_HOTKEY_DSWITCH_FIRST

#define IME_HOTKEY_DSWITCH_FIRST   0x100

Definition at line 351 of file imm.h.

◆ IME_HOTKEY_DSWITCH_LAST

#define IME_HOTKEY_DSWITCH_LAST   0x11F

Definition at line 352 of file imm.h.

◆ IME_HOTKEY_PRIVATE_FIRST

#define IME_HOTKEY_PRIVATE_FIRST   0x200

Definition at line 355 of file imm.h.

◆ IME_HOTKEY_PRIVATE_LAST

#define IME_HOTKEY_PRIVATE_LAST   0x21F

Definition at line 360 of file imm.h.

◆ IME_ITHOTKEY_PREVIOUS_COMPOSITION

#define IME_ITHOTKEY_PREVIOUS_COMPOSITION   0x201

Definition at line 357 of file imm.h.

◆ IME_ITHOTKEY_RECONVERTSTRING

#define IME_ITHOTKEY_RECONVERTSTRING   0x203

Definition at line 359 of file imm.h.

◆ IME_ITHOTKEY_RESEND_RESULTSTR

#define IME_ITHOTKEY_RESEND_RESULTSTR   0x200

Definition at line 356 of file imm.h.

◆ IME_ITHOTKEY_UISTYLE_TOGGLE

#define IME_ITHOTKEY_UISTYLE_TOGGLE   0x202

Definition at line 358 of file imm.h.

◆ IME_JHOTKEY_CLOSE_OPEN

#define IME_JHOTKEY_CLOSE_OPEN   0x30

Definition at line 339 of file imm.h.

◆ IME_KHOTKEY_ENGLISH

#define IME_KHOTKEY_ENGLISH   0x52

Definition at line 344 of file imm.h.

◆ IME_KHOTKEY_HANJACONVERT

#define IME_KHOTKEY_HANJACONVERT   0x51

Definition at line 343 of file imm.h.

◆ IME_KHOTKEY_SHAPE_TOGGLE

#define IME_KHOTKEY_SHAPE_TOGGLE   0x50

Definition at line 342 of file imm.h.

◆ IME_PROP_ACCEPT_WIDE_VKEY

#define IME_PROP_ACCEPT_WIDE_VKEY   0x0020

Definition at line 221 of file imm.h.

◆ IME_PROP_AT_CARET

#define IME_PROP_AT_CARET   0x00010000

Definition at line 393 of file imm.h.

◆ IME_PROP_CANDLIST_START_FROM_1

#define IME_PROP_CANDLIST_START_FROM_1   0x00040000

Definition at line 395 of file imm.h.

◆ IME_PROP_COMPLETE_ON_UNSELECT

#define IME_PROP_COMPLETE_ON_UNSELECT   0x00100000

Definition at line 397 of file imm.h.

◆ IME_PROP_END_UNLOAD

#define IME_PROP_END_UNLOAD   0x0001

Definition at line 216 of file imm.h.

◆ IME_PROP_IGNORE_UPKEYS

#define IME_PROP_IGNORE_UPKEYS   0x0004

Definition at line 218 of file imm.h.

◆ IME_PROP_KBD_CHAR_FIRST

#define IME_PROP_KBD_CHAR_FIRST   0x0002

Definition at line 217 of file imm.h.

◆ IME_PROP_NEED_ALTKEY

#define IME_PROP_NEED_ALTKEY   0x0008

Definition at line 219 of file imm.h.

◆ IME_PROP_NO_KEYS_ON_CLOSE

#define IME_PROP_NO_KEYS_ON_CLOSE   0x0010

Definition at line 220 of file imm.h.

◆ IME_PROP_SPECIAL_UI

#define IME_PROP_SPECIAL_UI   0x00020000

Definition at line 394 of file imm.h.

◆ IME_PROP_UNICODE

#define IME_PROP_UNICODE   0x00080000

Definition at line 396 of file imm.h.

◆ IME_REGWORD_STYLE_EUDC

#define IME_REGWORD_STYLE_EUDC   0x00000001

Definition at line 579 of file imm.h.

◆ IME_REGWORD_STYLE_USER_FIRST

#define IME_REGWORD_STYLE_USER_FIRST   0x80000000

Definition at line 580 of file imm.h.

◆ IME_REGWORD_STYLE_USER_LAST

#define IME_REGWORD_STYLE_USER_LAST   0xFFFFFFFF

Definition at line 581 of file imm.h.

◆ IME_SMODE_AUTOMATIC

#define IME_SMODE_AUTOMATIC   0x0004

Definition at line 510 of file imm.h.

◆ IME_SMODE_CONVERSATION

#define IME_SMODE_CONVERSATION   0x0010

Definition at line 512 of file imm.h.

◆ IME_SMODE_NONE

#define IME_SMODE_NONE   0x0000

Definition at line 507 of file imm.h.

◆ IME_SMODE_PHRASEPREDICT

#define IME_SMODE_PHRASEPREDICT   0x0008

Definition at line 511 of file imm.h.

◆ IME_SMODE_PLAURALCLAUSE

#define IME_SMODE_PLAURALCLAUSE   0x0001

Definition at line 508 of file imm.h.

◆ IME_SMODE_SINGLECONVERT

#define IME_SMODE_SINGLECONVERT   0x0002

Definition at line 509 of file imm.h.

◆ IME_SYSINFO_WINLOGON

#define IME_SYSINFO_WINLOGON   0x0001

Definition at line 241 of file imm.h.

◆ IME_SYSINFO_WOW16

#define IME_SYSINFO_WOW16   0x0002

Definition at line 242 of file imm.h.

◆ IME_THOTKEY_IME_NONIME_TOGGLE

#define IME_THOTKEY_IME_NONIME_TOGGLE   0x70

Definition at line 346 of file imm.h.

◆ IME_THOTKEY_SHAPE_TOGGLE

#define IME_THOTKEY_SHAPE_TOGGLE   0x71

Definition at line 347 of file imm.h.

◆ IME_THOTKEY_SYMBOL_TOGGLE

#define IME_THOTKEY_SYMBOL_TOGGLE   0x72

Definition at line 348 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 389 of file imm.h.

◆ IMEVER_0400

#define IMEVER_0400   0x00040000

Definition at line 390 of file imm.h.

◆ IMFS_CHECKED

#define IMFS_CHECKED   MFS_CHECKED

Definition at line 609 of file imm.h.

◆ IMFS_DEFAULT

#define IMFS_DEFAULT   MFS_DEFAULT

Definition at line 614 of file imm.h.

◆ IMFS_DISABLED

#define IMFS_DISABLED   MFS_DISABLED

Definition at line 608 of file imm.h.

◆ IMFS_ENABLED

#define IMFS_ENABLED   MFS_ENABLED

Definition at line 611 of file imm.h.

◆ IMFS_GRAYED

#define IMFS_GRAYED   MFS_GRAYED

Definition at line 607 of file imm.h.

◆ IMFS_HILITE

#define IMFS_HILITE   MFS_HILITE

Definition at line 610 of file imm.h.

◆ IMFS_UNCHECKED

#define IMFS_UNCHECKED   MFS_UNCHECKED

Definition at line 612 of file imm.h.

◆ IMFS_UNHILITE

#define IMFS_UNHILITE   MFS_UNHILITE

Definition at line 613 of file imm.h.

◆ IMFT_RADIOCHECK

#define IMFT_RADIOCHECK   0x00001

Definition at line 602 of file imm.h.

◆ IMFT_SEPARATOR

#define IMFT_SEPARATOR   0x00002

Definition at line 603 of file imm.h.

◆ IMFT_SUBMENU

#define IMFT_SUBMENU   0x00004

Definition at line 604 of file imm.h.

◆ IMM_ERROR_GENERAL

#define IMM_ERROR_GENERAL   (-2)

Definition at line 552 of file imm.h.

◆ IMM_ERROR_NODATA

#define IMM_ERROR_NODATA   (-1)

Definition at line 551 of file imm.h.

◆ ImmConfigureIME

#define ImmConfigureIME   WINELIB_NAME_AW(ImmConfigureIME)

Definition at line 631 of file imm.h.

◆ ImmEnumRegisterWord

#define ImmEnumRegisterWord   WINELIB_NAME_AW(ImmEnumRegisterWord)

Definition at line 661 of file imm.h.

◆ ImmEscape

#define ImmEscape   WINELIB_NAME_AW(ImmEscape)

Definition at line 665 of file imm.h.

◆ ImmGetCandidateList

#define ImmGetCandidateList   WINELIB_NAME_AW(ImmGetCandidateList)

Definition at line 683 of file imm.h.

◆ ImmGetCandidateListCount

#define ImmGetCandidateListCount   WINELIB_NAME_AW(ImmGetCandidateListCount)

Definition at line 687 of file imm.h.

◆ ImmGetCompositionString

#define ImmGetCompositionString   WINELIB_NAME_AW(ImmGetCompositionString)

Definition at line 724 of file imm.h.

◆ ImmGetConversionList

#define ImmGetConversionList   WINELIB_NAME_AW(ImmGetConversionList)

Definition at line 749 of file imm.h.

◆ ImmGetDescription

#define ImmGetDescription   WINELIB_NAME_AW(ImmGetDescription)

Definition at line 774 of file imm.h.

◆ ImmGetGuideLine

#define ImmGetGuideLine   WINELIB_NAME_AW(ImmGetGuideLine)

Definition at line 792 of file imm.h.

◆ ImmGetIMEFileName

#define ImmGetIMEFileName   WINELIB_NAME_AW(ImmGetIMEFileName)

Definition at line 808 of file imm.h.

◆ ImmGetImeMenuItems

#define ImmGetImeMenuItems   WINELIB_NAME_AW(ImmGetImeMenuItems)

Definition at line 830 of file imm.h.

◆ ImmGetRegisterWordStyle

#define ImmGetRegisterWordStyle   WINELIB_NAME_AW(ImmGetRegisterWordStyle)

Definition at line 849 of file imm.h.

◆ IMMGWL_IMC

#define IMMGWL_IMC   0

Definition at line 212 of file imm.h.

◆ IMMGWL_PRIVATE

#define IMMGWL_PRIVATE   (sizeof(LONG))

Definition at line 213 of file imm.h.

◆ ImmInstallIME

#define ImmInstallIME   WINELIB_NAME_AW(ImmInstallIME)

Definition at line 856 of file imm.h.

◆ ImmIsUIMessage

#define ImmIsUIMessage   WINELIB_NAME_AW(ImmIsUIMessage)

Definition at line 862 of file imm.h.

◆ ImmRegisterWord

#define ImmRegisterWord   WINELIB_NAME_AW(ImmRegisterWord)

Definition at line 884 of file imm.h.

◆ ImmRequestMessage

#define ImmRequestMessage   WINELIB_NAME_AW(ImmRequestMessage);

Definition at line 257 of file imm.h.

◆ ImmSetCompositionString

#define ImmSetCompositionString   WINELIB_NAME_AW(ImmSetCompositionString)

Definition at line 909 of file imm.h.

◆ ImmUnregisterWord

#define ImmUnregisterWord   WINELIB_NAME_AW(ImmUnregisterWord)

Definition at line 933 of file imm.h.

◆ IMN_CHANGECANDIDATE

#define IMN_CHANGECANDIDATE   0x0003

Definition at line 526 of file imm.h.

◆ IMN_CLOSECANDIDATE

#define IMN_CLOSECANDIDATE   0x0004

Definition at line 527 of file imm.h.

◆ IMN_CLOSESTATUSWINDOW

#define IMN_CLOSESTATUSWINDOW   0x0001

Definition at line 524 of file imm.h.

◆ IMN_GUIDELINE

#define IMN_GUIDELINE   0x000D

Definition at line 536 of file imm.h.

◆ IMN_OPENCANDIDATE

#define IMN_OPENCANDIDATE   0x0005

Definition at line 528 of file imm.h.

◆ IMN_OPENSTATUSWINDOW

#define IMN_OPENSTATUSWINDOW   0x0002

Definition at line 525 of file imm.h.

◆ IMN_PRIVATE

#define IMN_PRIVATE   0x000E

Definition at line 537 of file imm.h.

◆ IMN_SETCANDIDATEPOS

#define IMN_SETCANDIDATEPOS   0x0009

Definition at line 532 of file imm.h.

◆ IMN_SETCOMPOSITIONFONT

#define IMN_SETCOMPOSITIONFONT   0x000A

Definition at line 533 of file imm.h.

◆ IMN_SETCOMPOSITIONWINDOW

#define IMN_SETCOMPOSITIONWINDOW   0x000B

Definition at line 534 of file imm.h.

◆ IMN_SETCONVERSIONMODE

#define IMN_SETCONVERSIONMODE   0x0006

Definition at line 529 of file imm.h.

◆ IMN_SETOPENSTATUS

#define IMN_SETOPENSTATUS   0x0008

Definition at line 531 of file imm.h.

◆ IMN_SETSENTENCEMODE

#define IMN_SETSENTENCEMODE   0x0007

Definition at line 530 of file imm.h.

◆ IMN_SETSTATUSWINDOWPOS

#define IMN_SETSTATUSWINDOWPOS   0x000C

Definition at line 535 of file imm.h.

◆ IMR_CANDIDATEWINDOW

#define IMR_CANDIDATEWINDOW   0x0002

Definition at line 542 of file imm.h.

◆ IMR_COMPOSITIONFONT

#define IMR_COMPOSITIONFONT   0x0003

Definition at line 543 of file imm.h.

◆ IMR_COMPOSITIONWINDOW

#define IMR_COMPOSITIONWINDOW   0x0001

Definition at line 541 of file imm.h.

◆ IMR_CONFIRMRECONVERTSTRING

#define IMR_CONFIRMRECONVERTSTRING   0x0005

Definition at line 545 of file imm.h.

◆ IMR_DOCUMENTFEED

#define IMR_DOCUMENTFEED   0x0007

Definition at line 547 of file imm.h.

◆ IMR_QUERYCHARPOSITION

#define IMR_QUERYCHARPOSITION   0x0006

Definition at line 546 of file imm.h.

◆ IMR_RECONVERTSTRING

#define IMR_RECONVERTSTRING   0x0004

Definition at line 544 of file imm.h.

◆ ISC_SHOWUIALL

#define ISC_SHOWUIALL   0xC000000F

Definition at line 311 of file imm.h.

◆ ISC_SHOWUIALLCANDIDATEWINDOW

#define ISC_SHOWUIALLCANDIDATEWINDOW   0x0000000F

Definition at line 310 of file imm.h.

◆ ISC_SHOWUICANDIDATEWINDOW

#define ISC_SHOWUICANDIDATEWINDOW   0x00000001

Definition at line 307 of file imm.h.

◆ ISC_SHOWUICOMPOSITIONWINDOW

#define ISC_SHOWUICOMPOSITIONWINDOW   0x80000000

Definition at line 308 of file imm.h.

◆ ISC_SHOWUIGUIDELINE

#define ISC_SHOWUIGUIDELINE   0x40000000

Definition at line 309 of file imm.h.

◆ MOD_ALT

#define MOD_ALT   0x0001

Definition at line 322 of file imm.h.

◆ MOD_CONTROL

#define MOD_CONTROL   0x0002

Definition at line 323 of file imm.h.

◆ MOD_IGNORE_ALL_MODIFIER

#define MOD_IGNORE_ALL_MODIFIER   0x0400

Definition at line 330 of file imm.h.

◆ MOD_LEFT

#define MOD_LEFT   0x8000

Definition at line 326 of file imm.h.

◆ MOD_ON_KEYUP

#define MOD_ON_KEYUP   0x0800

Definition at line 329 of file imm.h.

◆ MOD_RIGHT

#define MOD_RIGHT   0x4000

Definition at line 327 of file imm.h.

◆ MOD_SHIFT

#define MOD_SHIFT   0x0004

Definition at line 324 of file imm.h.

◆ NI_CHANGECANDIDATELIST [1/2]

#define NI_CHANGECANDIDATELIST   0x0013

Definition at line 299 of file imm.h.

◆ NI_CHANGECANDIDATELIST [2/2]

#define NI_CHANGECANDIDATELIST   0x0013

Definition at line 299 of file imm.h.

◆ NI_CLOSECANDIDATE [1/2]

#define NI_CLOSECANDIDATE   0x0011

Definition at line 297 of file imm.h.

◆ NI_CLOSECANDIDATE [2/2]

#define NI_CLOSECANDIDATE   0x0011

Definition at line 297 of file imm.h.

◆ NI_COMPOSITIONSTR [1/2]

#define NI_COMPOSITIONSTR   0x0015

Definition at line 301 of file imm.h.

◆ NI_COMPOSITIONSTR [2/2]

#define NI_COMPOSITIONSTR   0x0015

Definition at line 301 of file imm.h.

◆ NI_CONTEXTUPDATED

#define NI_CONTEXTUPDATED   0x0003

Definition at line 229 of file imm.h.

◆ NI_FINALIZECONVERSIONRESULT [1/2]

#define NI_FINALIZECONVERSIONRESULT   0x0014

Definition at line 300 of file imm.h.

◆ NI_FINALIZECONVERSIONRESULT [2/2]

#define NI_FINALIZECONVERSIONRESULT   0x0014

Definition at line 300 of file imm.h.

◆ NI_IMEMENUSELECTED [1/2]

#define NI_IMEMENUSELECTED   0x0018

Definition at line 304 of file imm.h.

◆ NI_IMEMENUSELECTED [2/2]

#define NI_IMEMENUSELECTED   0x0018

Definition at line 304 of file imm.h.

◆ NI_OPENCANDIDATE [1/2]

#define NI_OPENCANDIDATE   0x0010

Definition at line 296 of file imm.h.

◆ NI_OPENCANDIDATE [2/2]

#define NI_OPENCANDIDATE   0x0010

Definition at line 296 of file imm.h.

◆ NI_SELECTCANDIDATESTR [1/2]

#define NI_SELECTCANDIDATESTR   0x0012

Definition at line 298 of file imm.h.

◆ NI_SELECTCANDIDATESTR [2/2]

#define NI_SELECTCANDIDATESTR   0x0012

Definition at line 298 of file imm.h.

◆ NI_SETCANDIDATE_PAGESIZE [1/2]

#define NI_SETCANDIDATE_PAGESIZE   0x0017

Definition at line 303 of file imm.h.

◆ NI_SETCANDIDATE_PAGESIZE [2/2]

#define NI_SETCANDIDATE_PAGESIZE   0x0017

Definition at line 303 of file imm.h.

◆ NI_SETCANDIDATE_PAGESTART [1/2]

#define NI_SETCANDIDATE_PAGESTART   0x0016

Definition at line 302 of file imm.h.

◆ NI_SETCANDIDATE_PAGESTART [2/2]

#define NI_SETCANDIDATE_PAGESTART   0x0016

Definition at line 302 of file imm.h.

◆ SCS_CAP_COMPSTR

#define SCS_CAP_COMPSTR   0x00000001

Definition at line 406 of file imm.h.

◆ SCS_CAP_MAKEREAD

#define SCS_CAP_MAKEREAD   0x00000002

Definition at line 407 of file imm.h.

◆ SCS_CAP_SETRECONVERTSTRING

#define SCS_CAP_SETRECONVERTSTRING   0x00000004

Definition at line 408 of file imm.h.

◆ SCS_CHANGEATTR

#define SCS_CHANGEATTR   (GCS_COMPREADATTR|GCS_COMPATTR)

Definition at line 458 of file imm.h.

◆ SCS_CHANGECLAUSE

#define SCS_CHANGECLAUSE   (GCS_COMPREADCLAUSE|GCS_COMPCLAUSE)

Definition at line 459 of file imm.h.

◆ SCS_QUERYRECONVERTSTRING

#define SCS_QUERYRECONVERTSTRING   0x00020000

Definition at line 461 of file imm.h.

◆ SCS_SETRECONVERTSTRING

#define SCS_SETRECONVERTSTRING   0x00010000

Definition at line 460 of file imm.h.

◆ SCS_SETSTR

#define SCS_SETSTR   (GCS_COMPREADSTR|GCS_COMPSTR)

Definition at line 457 of file imm.h.

◆ SELECT_CAP_CONVERSION

#define SELECT_CAP_CONVERSION   0x00000001

Definition at line 411 of file imm.h.

◆ SELECT_CAP_SENTENCE

#define SELECT_CAP_SENTENCE   0x00000002

Definition at line 412 of file imm.h.

◆ SOFTKEYBOARD_TYPE_C1

#define SOFTKEYBOARD_TYPE_C1   0x0002

Definition at line 623 of file imm.h.

◆ SOFTKEYBOARD_TYPE_T1

#define SOFTKEYBOARD_TYPE_T1   0x0001

Definition at line 621 of file imm.h.

◆ UI_CAP_2700

#define UI_CAP_2700   0x00000001

Definition at line 400 of file imm.h.

◆ UI_CAP_ROT90

#define UI_CAP_ROT90   0x00000002

Definition at line 401 of file imm.h.

◆ UI_CAP_ROTANY

#define UI_CAP_ROTANY   0x00000004

Definition at line 402 of file imm.h.

◆ UI_CAP_SOFTKBD

#define UI_CAP_SOFTKBD   0x00010000

Definition at line 403 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 48 of file imm.h.

◆ REGISTERWORDENUMPROCW

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

Definition at line 55 of file imm.h.

◆ REGISTERWORDW

◆ STYLEBUFA

◆ STYLEBUFW

Function Documentation

◆ CtfImmIsTextFrameServiceDisabled()

BOOL WINAPI CtfImmIsTextFrameServiceDisabled ( VOID  )

Definition at line 909 of file utils.c.

910 {
911  return !!(GetWin32ClientInfo()->CI_flags & CI_TFSDISABLED);
912 }
#define GetWin32ClientInfo()
Definition: ntuser.h:326
#define CI_TFSDISABLED
Definition: ntuser.h:289

Referenced by Imm32SelectLayout(), 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 586 of file imm.c.

587 {
588  PCLIENTIMC pClientImc;
589  HIMC hIMC;
590 
591  TRACE("()\n");
592 
593  if (!Imm32IsImmMode())
594  return NULL;
595 
596  pClientImc = Imm32HeapAlloc(HEAP_ZERO_MEMORY, sizeof(CLIENTIMC));
597  if (pClientImc == NULL)
598  return NULL;
599 
600  hIMC = NtUserCreateInputContext(pClientImc);
601  if (hIMC == NULL)
602  {
603  Imm32HeapFree(pClientImc);
604  return NULL;
605  }
606 
607  RtlInitializeCriticalSection(&pClientImc->cs);
608 
609  // FIXME: NtUserGetThreadState and enum ThreadStateRoutines are broken.
610  pClientImc->unknown = NtUserGetThreadState(13);
611 
612  return hIMC;
613 }
HIMC NTAPI NtUserCreateInputContext(PCLIENTIMC pClientImc)
Definition: ntstubs.c:421
DWORD_PTR NTAPI NtUserGetThreadState(DWORD Routine)
Definition: misc.c:231
LPVOID APIENTRY Imm32HeapAlloc(DWORD dwFlags, DWORD dwBytes)
Definition: utils.c:193
#define Imm32HeapFree(lpData)
Definition: precomp.h:88
DWORD unknown
Definition: ntuser.h:1296
DWORD HIMC
Definition: dimm.idl:75
#define TRACE(s)
Definition: solgame.cpp:4
NTSYSAPI NTSTATUS NTAPI RtlInitializeCriticalSection(_In_ PRTL_CRITICAL_SECTION CriticalSection)
RTL_CRITICAL_SECTION cs
Definition: ntuser.h:1297
#define Imm32IsImmMode()
Definition: precomp.h:114
#define NULL
Definition: types.h:112
#define HEAP_ZERO_MEMORY
Definition: compat.h:134

Referenced by ActiveIMMApp_CreateContext(), ImmGetContextThreadFunc(), START_TEST(), test_ImmAssociateContextEx(), test_ImmDefaultHwnd(), test_ImmDestroyContext(), test_ImmGetIMCLockCount(), test_ImmNotifyIME(), and test_InvalidIMC().

◆ ImmCreateIMCC()

HIMCC WINAPI ImmCreateIMCC ( DWORD  )

Definition at line 917 of file utils.c.

918 {
919  if (size < sizeof(DWORD))
920  size = sizeof(DWORD);
921  return LocalAlloc(LHND, size);
922 }
#define DWORD
Definition: nt_native.h:44
GLsizeiptr size
Definition: glext.h:5919
unsigned long DWORD
Definition: ntddk_ex.h:95
#define LHND
Definition: winbase.h:379
HLOCAL NTAPI LocalAlloc(UINT uFlags, SIZE_T dwBytes)
Definition: heapmem.c:1373

Referenced by Imm32InitContext(), Imm32SelectLayout(), START_TEST(), test_ImmDestroyIMCC(), and test_ImmGetIMCCLockCount().

◆ ImmCreateSoftKeyboard()

HWND WINAPI ImmCreateSoftKeyboard ( UINT  ,
UINT  ,
int  ,
int   
)

Definition at line 1068 of file imm.c.

1069 {
1070  FIXME("(%d, %d, %d, %d): stub\n", uType, hOwner, x, y);
1072  return 0;
1073 }
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
#define FIXME(fmt,...)
Definition: debug.h:111
#define SetLastError(x)
Definition: compat.h:611
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
#define ERROR_CALL_NOT_IMPLEMENTED
Definition: compat.h:102

◆ ImmDestroyContext()

BOOL WINAPI ImmDestroyContext ( _In_ HIMC  hIMC)

◆ ImmDestroyIMCC()

HIMCC WINAPI ImmDestroyIMCC ( HIMCC  )

Definition at line 927 of file utils.c.

928 {
929  if (block)
930  return LocalFree(block);
931  return NULL;
932 }
static unsigned int block
Definition: xmlmemory.c:118
HLOCAL NTAPI LocalFree(HLOCAL hMem)
Definition: heapmem.c:1577
#define NULL
Definition: types.h:112

Referenced by Imm32CleanupContext(), Imm32InitContext(), Imm32SelectLayout(), START_TEST(), test_ImmDestroyIMCC(), and test_ImmGetIMCCLockCount().

◆ ImmDestroySoftKeyboard()

BOOL WINAPI ImmDestroySoftKeyboard ( HWND  )

Definition at line 1078 of file imm.c.

1079 {
1080  TRACE("(%p)\n", hSoftWnd);
1081  return DestroyWindow(hSoftWnd);
1082 }
BOOL WINAPI DestroyWindow(_In_ HWND)
#define TRACE(s)
Definition: solgame.cpp:4

◆ 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  )

Definition at line 777 of file keymsg.c.

778 {
779  PCLIENTIMC pClientImc;
780  LPINPUTCONTEXT pIC;
781  LPTRANSMSG pMsgs, pTrans = NULL, pItem;
782  HWND hWnd;
783  DWORD dwIndex, dwCount, cbTrans;
784  HIMCC hMsgBuf = NULL;
785  BOOL bAnsi;
786 
787  TRACE("(%p)\n", hIMC);
788 
789  if (Imm32IsCrossThreadAccess(hIMC))
790  return FALSE;
791 
792  pClientImc = ImmLockClientImc(hIMC);
793  if (pClientImc == NULL)
794  return FALSE;
795 
796  bAnsi = !(pClientImc->dwFlags & CLIENTIMC_WIDE);
797  ImmUnlockClientImc(pClientImc);
798 
799  pIC = ImmLockIMC(hIMC);
800  if (pIC == NULL)
801  return FALSE;
802 
803  dwCount = pIC->dwNumMsgBuf;
804  if (dwCount == 0)
805  goto Quit;
806 
807  hMsgBuf = pIC->hMsgBuf;
808  pMsgs = ImmLockIMCC(hMsgBuf);
809  if (pMsgs == NULL)
810  goto Quit;
811 
812  cbTrans = dwCount * sizeof(TRANSMSG);
813  pTrans = Imm32HeapAlloc(0, cbTrans);
814  if (pTrans == NULL)
815  goto Quit;
816 
817  RtlCopyMemory(pTrans, pMsgs, cbTrans);
818 
819 #ifdef IMM_WIN3_SUPPORT
820  if (GetWin32ClientInfo()->dwExpWinVer < _WIN32_WINNT_NT4) /* old version (3.x)? */
821  {
823  WORD wLang = PRIMARYLANGID(LangID);
824 
825  /* translate the messages if Japanese or Korean */
826  if (wLang == LANG_JAPANESE ||
827  (wLang == LANG_KOREAN && NtUserGetAppImeLevel(pIC->hWnd) == 3))
828  {
829  dwCount = ImmNt3Trans(dwCount, pTrans, hIMC, bAnsi, wLang);
830  }
831  }
832 #endif
833 
834  /* send them */
835  hWnd = pIC->hWnd;
836  pItem = pTrans;
837  for (dwIndex = 0; dwIndex < dwCount; ++dwIndex, ++pItem)
838  {
839  if (bAnsi)
840  SendMessageA(hWnd, pItem->message, pItem->wParam, pItem->lParam);
841  else
842  SendMessageW(hWnd, pItem->message, pItem->wParam, pItem->lParam);
843  }
844 
845 Quit:
846  Imm32HeapFree(pTrans);
847  if (hMsgBuf)
848  ImmUnlockIMCC(hMsgBuf);
849  pIC->dwNumMsgBuf = 0; /* done */
850  ImmUnlockIMC(hIMC);
851  return TRUE;
852 }
DWORD HIMCC
Definition: dimm.idl:76
LPVOID APIENTRY Imm32HeapAlloc(DWORD dwFlags, DWORD dwBytes)
Definition: utils.c:193
#define Imm32HeapFree(lpData)
Definition: precomp.h:88
#define TRUE
Definition: types.h:120
LRESULT WINAPI SendMessageA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
LPINPUTCONTEXT WINAPI ImmLockIMC(HIMC hIMC)
Definition: imm.c:1029
HWND hWnd
Definition: settings.c:17
LPVOID WINAPI ImmLockIMCC(HIMCC imcc)
Definition: utils.c:937
WORD LANGID
Definition: typedefs.h:81
#define GetWin32ClientInfo()
Definition: ntuser.h:326
#define CLIENTIMC_WIDE
Definition: ntuser.h:1314
#define LANG_JAPANESE
Definition: nls.h:76
#define FALSE
Definition: types.h:117
unsigned int BOOL
Definition: ntddk_ex.h:94
#define _WIN32_WINNT_NT4
Definition: sdkddkver.h:20
LCID WINAPI GetSystemDefaultLCID(void)
Definition: lang.c:791
PCLIENTIMC WINAPI ImmLockClientImc(HIMC hImc)
Definition: imm.c:905
DWORD NTAPI NtUserGetAppImeLevel(HWND hWnd)
Definition: ime.c:95
#define TRACE(s)
Definition: solgame.cpp:4
unsigned short WORD
Definition: ntddk_ex.h:93
unsigned long DWORD
Definition: ntddk_ex.h:95
struct _tagTRANSMSG TRANSMSG
HWND hWnd
Definition: imm.h:28
static BOOL Imm32IsCrossThreadAccess(HIMC hIMC)
Definition: precomp.h:98
BOOL WINAPI ImmUnlockIMCC(HIMCC imcc)
Definition: utils.c:947
HIMCC hMsgBuf
Definition: imm.h:45
#define LANGIDFROMLCID(l)
Definition: nls.h:18
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
DWORD dwNumMsgBuf
Definition: imm.h:44
#define NULL
Definition: types.h:112
DWORD dwFlags
Definition: ntuser.h:1295
#define RtlCopyMemory(Destination, Source, Length)
Definition: typedefs.h:263
#define LANG_KOREAN
Definition: nls.h:84
_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:1075
BOOL WINAPI ImmUnlockIMC(HIMC hIMC)
Definition: imm.c:1038
#define PRIMARYLANGID(l)
Definition: nls.h:16
VOID WINAPI ImmUnlockClientImc(PCLIENTIMC pClientImc)
Definition: imm.c:952

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  )

Definition at line 957 of file utils.c.

958 {
959  return LocalFlags(imcc) & LMEM_LOCKCOUNT;
960 }
#define LMEM_LOCKCOUNT
Definition: winbase.h:376
UINT NTAPI LocalFlags(HLOCAL hMem)
Definition: heapmem.c:1503

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

◆ ImmGetIMCCSize()

DWORD WINAPI ImmGetIMCCSize ( HIMCC  )

Definition at line 975 of file utils.c.

976 {
977  if (imcc)
978  return LocalSize(imcc);
979  return 0;
980 }
SIZE_T NTAPI LocalSize(HLOCAL hMem)
Definition: heapmem.c:1777

Referenced by Imm32SelectLayout(), START_TEST(), and test_ImmDestroyIMCC().

◆ ImmGetIMCLockCount()

DWORD WINAPI ImmGetIMCLockCount ( HIMC  )

Definition at line 985 of file utils.c.

986 {
987  DWORD ret;
988  HANDLE hInputContext;
989  PCLIENTIMC pClientImc;
990 
991  pClientImc = ImmLockClientImc(hIMC);
992  if (pClientImc == NULL)
993  return 0;
994 
995  ret = 0;
996  hInputContext = pClientImc->hInputContext;
997  if (hInputContext)
998  ret = (LocalFlags(hInputContext) & LMEM_LOCKCOUNT);
999 
1000  ImmUnlockClientImc(pClientImc);
1001  return ret;
1002 }
#define LMEM_LOCKCOUNT
Definition: winbase.h:376
PCLIENTIMC WINAPI ImmLockClientImc(HIMC hImc)
Definition: imm.c:905
HANDLE hInputContext
Definition: ntuser.h:1293
unsigned long DWORD
Definition: ntddk_ex.h:95
int ret
#define NULL
Definition: types.h:112
UINT NTAPI LocalFlags(HLOCAL hMem)
Definition: heapmem.c:1503
VOID WINAPI ImmUnlockClientImc(PCLIENTIMC pClientImc)
Definition: imm.c:952

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 803 of file ime.c.

804 {
805  PIMEDPI pImeDpi;
806 
807  if (!IS_IME_HKL(hKL) && (!Imm32IsCiceroMode() || Imm32Is16BitMode()))
808  return FALSE;
809 
810  pImeDpi = Imm32FindImeDpi(hKL);
811  if (pImeDpi == NULL)
812  pImeDpi = Ime32LoadImeDpi(hKL, FALSE);
813  return (pImeDpi != NULL);
814 }
#define FALSE
Definition: types.h:117
#define IS_IME_HKL(hkl)
Definition: ntuser.h:1193
PIMEDPI APIENTRY Ime32LoadImeDpi(HKL hKL, BOOL bLock)
Definition: ime.c:218
#define NULL
Definition: types.h:112
#define Imm32Is16BitMode()
Definition: precomp.h:116
PIMEDPI APIENTRY Imm32FindImeDpi(HKL hKL)
Definition: ime.c:20
#define Imm32IsCiceroMode()
Definition: precomp.h:115

Referenced by ImmActivateLayout().

◆ ImmLockIMCC()

◆ ImmNotifyIME()

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

◆ ImmProcessKey()

DWORD WINAPI ImmProcessKey ( HWND  ,
HKL  ,
UINT  ,
LPARAM  ,
DWORD   
)

Definition at line 673 of file keymsg.c.

674 {
675  DWORD ret = 0;
676  HIMC hIMC;
677  PIMEDPI pImeDpi;
678  LPINPUTCONTEXTDX pIC;
679  BYTE KeyState[256];
680  UINT vk;
681  BOOL bUseIme = TRUE, bSkipThisKey = FALSE, bLowWordOnly = FALSE;
682 
683  TRACE("(%p, %p, 0x%X, %p, 0x%lX)\n", hWnd, hKL, vKey, lParam, dwHotKeyID);
684 
685  hIMC = ImmGetContext(hWnd);
686  pImeDpi = ImmLockImeDpi(hKL);
687  if (pImeDpi)
688  {
689  pIC = (LPINPUTCONTEXTDX)ImmLockIMC(hIMC);
690  if (pIC)
691  {
692  if (LOBYTE(vKey) == VK_PACKET &&
694  {
695  if (ImeDpi_IsUnicode(pImeDpi))
696  {
697  bLowWordOnly = TRUE;
698  }
699  else
700  {
701  bUseIme = FALSE;
702  if (pIC->fOpen)
703  bSkipThisKey = TRUE;
704  }
705  }
706 
707  if (bUseIme)
708  {
709  if (GetKeyboardState(KeyState))
710  {
711  vk = (bLowWordOnly ? LOWORD(vKey) : vKey);
712  if (pImeDpi->ImeProcessKey(hIMC, vk, lParam, KeyState))
713  {
714  pIC->bNeedsTrans = TRUE;
715  pIC->nVKey = vKey;
717  }
718  }
719  }
720  else if (bSkipThisKey)
721  {
723  }
724 
725  ImmUnlockIMC(hIMC);
726  }
727 
728  ImmUnlockImeDpi(pImeDpi);
729  }
730 
731  if (dwHotKeyID != INVALID_HOTKEY_ID)
732  {
733  if (Imm32ProcessHotKey(hWnd, hIMC, hKL, dwHotKeyID))
734  {
735  if (vKey != VK_KANJI || dwHotKeyID != IME_JHOTKEY_CLOSE_OPEN)
736  ret |= IPHK_HOTKEY;
737  }
738  }
739 
740  if (ret & IPHK_PROCESSBYIME)
741  {
742  FIXME("TODO: We have to do something here.\n");
743  }
744 
745  ImmReleaseContext(hWnd, hIMC);
746  return ret;
747 }
VOID WINAPI ImmUnlockImeDpi(PIMEDPI pImeDpi)
Definition: ime.c:755
IMEINFO ImeInfo
Definition: ntuser.h:1243
#define VK_KANJI
Definition: winuser.h:2193
#define LOBYTE(W)
Definition: jmemdos.c:487
#define TRUE
Definition: types.h:120
LPINPUTCONTEXT WINAPI ImmLockIMC(HIMC hIMC)
Definition: imm.c:1029
WORD vk
Definition: input.c:77
HWND hWnd
Definition: settings.c:17
BOOL APIENTRY Imm32ProcessHotKey(HWND hWnd, HIMC hIMC, HKL hKL, DWORD dwHotKeyID)
Definition: keymsg.c:183
#define IPHK_PROCESSBYIME
Definition: undocuser.h:139
#define FALSE
Definition: types.h:117
unsigned int BOOL
Definition: ntddk_ex.h:94
BOOL bNeedsTrans
Definition: imm.h:96
UINT nVKey
Definition: imm.h:95
#define FIXME(fmt,...)
Definition: debug.h:111
DWORD HIMC
Definition: dimm.idl:75
#define TRACE(s)
Definition: solgame.cpp:4
DWORD fdwProperty
Definition: imm.h:158
HIMC WINAPI ImmGetContext(HWND hWnd)
Definition: imm.c:1008
PIMEDPI WINAPI ImmLockImeDpi(HKL hKL)
Definition: ime.c:726
unsigned long DWORD
Definition: ntddk_ex.h:95
#define ImeDpi_IsUnicode(pImeDpi)
Definition: precomp.h:113
_Check_return_ BOOL WINAPI GetKeyboardState(_Out_writes_(256) PBYTE lpKeyState)
int ret
unsigned char BYTE
Definition: xxhash.c:193
BOOL WINAPI ImmReleaseContext(HWND hWnd, HIMC hIMC)
Definition: imm.c:1057
#define IME_JHOTKEY_CLOSE_OPEN
Definition: imm.h:339
#define IPHK_SKIPTHISKEY
Definition: undocuser.h:141
unsigned int UINT
Definition: ndis.h:50
#define IPHK_HOTKEY
Definition: undocuser.h:138
#define INVALID_HOTKEY_ID
Definition: precomp.h:52
#define IME_PROP_ACCEPT_WIDE_VKEY
Definition: imm.h:221
BOOL WINAPI ImmUnlockIMC(HIMC hIMC)
Definition: imm.c:1038
LPARAM lParam
Definition: combotst.c:139
#define LOWORD(l)
Definition: pedump.c:82
struct INPUTCONTEXTDX * LPINPUTCONTEXTDX

◆ 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  ,
WPARAM  ,
LPARAM   
)

Definition at line 1037 of file keymsg.c.

1038 {
1039  TRACE("(%p, %p, %p)\n", hIMC, wParam, lParam);
1040  return Imm32RequestMessageAW(hIMC, wParam, lParam, TRUE);
1041 }
#define TRUE
Definition: types.h:120
LRESULT APIENTRY Imm32RequestMessageAW(HIMC hIMC, WPARAM wParam, LPARAM lParam, BOOL bAnsi)
Definition: keymsg.c:559
WPARAM wParam
Definition: combotst.c:138
#define TRACE(s)
Definition: solgame.cpp:4
LPARAM lParam
Definition: combotst.c:139

Referenced by test_InvalidIMC().

◆ ImmRequestMessageW()

LRESULT WINAPI ImmRequestMessageW ( HIMC  ,
WPARAM  ,
LPARAM   
)

Definition at line 1046 of file keymsg.c.

1047 {
1048  TRACE("(%p, %p, %p)\n", hIMC, wParam, lParam);
1049  return Imm32RequestMessageAW(hIMC, wParam, lParam, FALSE);
1050 }
LRESULT APIENTRY Imm32RequestMessageAW(HIMC hIMC, WPARAM wParam, LPARAM lParam, BOOL bAnsi)
Definition: keymsg.c:559
WPARAM wParam
Definition: combotst.c:138
#define FALSE
Definition: types.h:117
#define TRACE(s)
Definition: solgame.cpp:4
LPARAM lParam
Definition: combotst.c:139

◆ ImmReSizeIMCC()

HIMCC WINAPI ImmReSizeIMCC ( HIMCC  ,
DWORD   
)

Definition at line 965 of file utils.c.

966 {
967  if (!imcc)
968  return NULL;
969  return LocalReAlloc(imcc, size, LHND);
970 }
GLsizeiptr size
Definition: glext.h:5919
HLOCAL NTAPI LocalReAlloc(HLOCAL hMem, SIZE_T dwBytes, UINT uFlags)
Definition: heapmem.c:1608
#define LHND
Definition: winbase.h:379
#define NULL
Definition: types.h:112

Referenced by Imm32SelectLayout(), and test_ImmMessages().

◆ ImmSetActiveContext()

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

Definition at line 1135 of file imm.c.

1136 {
1137  PCLIENTIMC pClientImc;
1138  LPINPUTCONTEXTDX pIC;
1139  PIMEDPI pImeDpi;
1140  HKL hKL;
1141  BOOL fOpen = FALSE;
1142  DWORD dwConversion = 0, iShow = ISC_SHOWUIALL;
1143  HWND hwndDefIME;
1144 
1145  TRACE("(%p, %p, %d)\n", hWnd, hIMC, fActive);
1146 
1147  if (!Imm32IsImmMode())
1148  return FALSE;
1149 
1150  pClientImc = ImmLockClientImc(hIMC);
1151 
1152  if (!fActive)
1153  {
1154  if (pClientImc)
1155  pClientImc->dwFlags &= ~CLIENTIMC_UNKNOWN4;
1156  }
1157  else if (hIMC)
1158  {
1159  if (!pClientImc)
1160  return FALSE;
1161 
1162  pIC = (LPINPUTCONTEXTDX)ImmLockIMC(hIMC);
1163  if (!pIC)
1164  {
1165  ImmUnlockClientImc(pClientImc);
1166  return FALSE;
1167  }
1168 
1169  pIC->hWnd = hWnd;
1170  pClientImc->dwFlags |= CLIENTIMC_UNKNOWN5;
1171 
1172  if (pIC->dwUIFlags & 2)
1174 
1175  fOpen = pIC->fOpen;
1176  dwConversion = pIC->fdwConversion;
1177 
1178  ImmUnlockIMC(hIMC);
1179  }
1180  else
1181  {
1182  hIMC = Imm32GetContextEx(hWnd, TRUE);
1183  pIC = (LPINPUTCONTEXTDX)ImmLockIMC(hIMC);
1184  if (pIC)
1185  {
1186  pIC->hWnd = hWnd;
1187  ImmUnlockIMC(hIMC);
1188  }
1189  hIMC = NULL;
1190  }
1191 
1192  hKL = GetKeyboardLayout(0);
1193 
1194  if (Imm32IsCiceroMode() && !Imm32Is16BitMode())
1195  {
1196  Imm32CiceroSetActiveContext(hIMC, fActive, hWnd, hKL);
1197  hKL = GetKeyboardLayout(0);
1198  }
1199 
1200  pImeDpi = ImmLockImeDpi(hKL);
1201  if (pImeDpi)
1202  {
1203  if (IS_IME_HKL(hKL))
1204  pImeDpi->ImeSetActiveContext(hIMC, fActive);
1205  ImmUnlockImeDpi(pImeDpi);
1206  }
1207 
1208  if (IsWindow(hWnd))
1209  {
1210  SendMessageW(hWnd, WM_IME_SETCONTEXT, fActive, iShow);
1211  if (fActive)
1212  NtUserNotifyIMEStatus(hWnd, fOpen, dwConversion);
1213  }
1214  else if (!fActive)
1215  {
1216  hwndDefIME = ImmGetDefaultIMEWnd(NULL);
1217  if (hwndDefIME)
1218  SendMessageW(hwndDefIME, WM_IME_SETCONTEXT, 0, iShow);
1219  }
1220 
1221  if (pClientImc)
1222  ImmUnlockClientImc(pClientImc);
1223 
1224  return TRUE;
1225 }
VOID WINAPI ImmUnlockImeDpi(PIMEDPI pImeDpi)
Definition: ime.c:755
DWORD dwUIFlags
Definition: imm.h:98
BOOL WINAPI IsWindow(_In_opt_ HWND)
#define TRUE
Definition: types.h:120
LPINPUTCONTEXT WINAPI ImmLockIMC(HIMC hIMC)
Definition: imm.c:1029
HWND hWnd
Definition: settings.c:17
#define ISC_SHOWUIGUIDELINE
Definition: imm.h:309
DWORD NTAPI NtUserNotifyIMEStatus(HWND hwnd, BOOL fOpen, DWORD dwConversion)
Definition: ime.c:53
static VOID APIENTRY Imm32CiceroSetActiveContext(HIMC hIMC, BOOL fActive, HWND hWnd, HKL hKL)
Definition: imm.c:489
#define CLIENTIMC_UNKNOWN5
Definition: ntuser.h:1315
#define FALSE
Definition: types.h:117
unsigned int BOOL
Definition: ntddk_ex.h:94
#define IS_IME_HKL(hkl)
Definition: ntuser.h:1193
PCLIENTIMC WINAPI ImmLockClientImc(HIMC hImc)
Definition: imm.c:905
#define TRACE(s)
Definition: solgame.cpp:4
#define WM_IME_SETCONTEXT
Definition: winuser.h:1816
PIMEDPI WINAPI ImmLockImeDpi(HKL hKL)
Definition: ime.c:726
unsigned long DWORD
Definition: ntddk_ex.h:95
static HIMC APIENTRY Imm32GetContextEx(HWND hWnd, DWORD dwContextFlags)
Definition: imm.c:971
UINT_PTR HKL
Definition: msctf.idl:101
HWND WINAPI ImmGetDefaultIMEWnd(HWND hWnd)
Definition: ime.c:633
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
PKEYBOARD_LAYOUT GetKeyboardLayout()
Definition: utils.c:194
#define Imm32IsImmMode()
Definition: precomp.h:114
#define NULL
Definition: types.h:112
#define ISC_SHOWUIALL
Definition: imm.h:311
#define Imm32Is16BitMode()
Definition: precomp.h:116
DWORD dwFlags
Definition: ntuser.h:1295
#define ISC_SHOWUIALLCANDIDATEWINDOW
Definition: imm.h:310
#define CLIENTIMC_UNKNOWN4
Definition: ntuser.h:1316
BOOL WINAPI ImmUnlockIMC(HIMC hIMC)
Definition: imm.c:1038
#define Imm32IsCiceroMode()
Definition: precomp.h:115
VOID WINAPI ImmUnlockClientImc(PCLIENTIMC pClientImc)
Definition: imm.c:952
struct INPUTCONTEXTDX * LPINPUTCONTEXTDX

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

◆ 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  ,
int   
)

Definition at line 1087 of file imm.c.

1088 {
1089  TRACE("(%p, %d)\n", hSoftWnd, nCmdShow);
1090  if (hSoftWnd)
1091  return ShowWindow(hSoftWnd, nCmdShow);
1092  return FALSE;
1093 }
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
#define FALSE
Definition: types.h:117
#define TRACE(s)
Definition: solgame.cpp:4

◆ ImmSimulateHotKey()

BOOL WINAPI ImmSimulateHotKey ( _In_  HWND,
_In_  DWORD 
)

◆ ImmTranslateMessage()

BOOL WINAPI ImmTranslateMessage ( HWND  ,
UINT  ,
WPARAM  ,
LPARAM   
)

Definition at line 914 of file keymsg.c.

915 {
916 #define MSG_COUNT 0x100
917  BOOL ret = FALSE;
918  INT kret;
919  LPINPUTCONTEXTDX pIC;
920  PIMEDPI pImeDpi = NULL;
922  LPTRANSMSG pTransMsg;
923  BYTE abKeyState[256];
924  HIMC hIMC;
925  HKL hKL;
926  UINT vk;
927  DWORD dwThreadId, dwCount, cbList;
928  WCHAR wch;
929  WORD wChar;
930 
931  TRACE("(%p, 0x%X, %p, %p)\n", hwnd, msg, wParam, lKeyData);
932 
933  /* filter the message */
934  switch (msg)
935  {
936  case WM_KEYDOWN: case WM_KEYUP: case WM_SYSKEYDOWN: case WM_SYSKEYUP:
937  break;
938  default:
939  return FALSE;
940  }
941 
942  hIMC = ImmGetContext(hwnd);
943  pIC = (LPINPUTCONTEXTDX)ImmLockIMC(hIMC);
944  if (pIC == NULL)
945  {
946  ImmReleaseContext(hwnd, hIMC);
947  return FALSE;
948  }
949 
950  if (!pIC->bNeedsTrans) /* is translation needed? */
951  {
952  /* directly post them */
953  dwCount = pIC->dwNumMsgBuf;
954  if (dwCount == 0)
955  goto Quit;
956 
957  pTransMsg = ImmLockIMCC(pIC->hMsgBuf);
958  if (pTransMsg)
959  {
960  Imm32PostMessages(hwnd, hIMC, dwCount, pTransMsg);
961  ImmUnlockIMCC(pIC->hMsgBuf);
962  ret = TRUE;
963  }
964  pIC->dwNumMsgBuf = 0; /* done */
965  goto Quit;
966  }
967  pIC->bNeedsTrans = FALSE; /* clear the flag */
968 
971  pImeDpi = ImmLockImeDpi(hKL);
972  if (pImeDpi == NULL)
973  goto Quit;
974 
975  if (!GetKeyboardState(abKeyState)) /* get keyboard ON/OFF status */
976  goto Quit;
977 
978  /* convert a virtual key if IME_PROP_KBD_CHAR_FIRST */
979  vk = pIC->nVKey;
981  {
982  if (ImeDpi_IsUnicode(pImeDpi))
983  {
984  wch = 0;
985  kret = ToUnicode(vk, HIWORD(lKeyData), abKeyState, &wch, 1, 0);
986  if (kret == 1)
987  vk = MAKELONG(LOBYTE(vk), wch);
988  }
989  else
990  {
991  wChar = 0;
992  kret = ToAsciiEx(vk, HIWORD(lKeyData), abKeyState, &wChar, 0, hKL);
993  if (kret > 0)
994  vk = MAKEWORD(vk, wChar);
995  }
996  }
997 
998  /* allocate a list */
999  cbList = offsetof(TRANSMSGLIST, TransMsg) + MSG_COUNT * sizeof(TRANSMSG);
1000  pList = Imm32HeapAlloc(0, cbList);
1001  if (!pList)
1002  goto Quit;
1003 
1004  /* use IME conversion engine and convert the list */
1005  pList->uMsgCount = MSG_COUNT;
1006  kret = pImeDpi->ImeToAsciiEx(vk, HIWORD(lKeyData), abKeyState, pList, 0, hIMC);
1007  if (kret <= 0)
1008  goto Quit;
1009 
1010  /* post them */
1011  if (kret <= MSG_COUNT)
1012  {
1013  Imm32PostMessages(hwnd, hIMC, kret, pList->TransMsg);
1014  ret = TRUE;
1015  }
1016  else
1017  {
1018  pTransMsg = ImmLockIMCC(pIC->hMsgBuf);
1019  if (pTransMsg == NULL)
1020  goto Quit;
1021  Imm32PostMessages(hwnd, hIMC, kret, pTransMsg);
1022  ImmUnlockIMCC(pIC->hMsgBuf);
1023  }
1024 
1025 Quit:
1027  ImmUnlockImeDpi(pImeDpi);
1028  ImmUnlockIMC(hIMC);
1029  ImmReleaseContext(hwnd, hIMC);
1030  return ret;
1031 #undef MSG_COUNT
1032 }
VOID WINAPI ImmUnlockImeDpi(PIMEDPI pImeDpi)
Definition: ime.c:755
#define IME_PROP_KBD_CHAR_FIRST
Definition: imm.h:217
const DOCKBAR PVOID HWND HWND * hwnd
Definition: tooldock.h:22
IMEINFO ImeInfo
Definition: ntuser.h:1243
LPVOID APIENTRY Imm32HeapAlloc(DWORD dwFlags, DWORD dwBytes)
Definition: utils.c:193
#define LOBYTE(W)
Definition: jmemdos.c:487
#define MAKEWORD(a, b)
Definition: typedefs.h:248
#define Imm32HeapFree(lpData)
Definition: precomp.h:88
#define TRUE
Definition: types.h:120
LPINPUTCONTEXT WINAPI ImmLockIMC(HIMC hIMC)
Definition: imm.c:1029
WORD vk
Definition: input.c:77
LPVOID WINAPI ImmLockIMCC(HIMCC imcc)
Definition: utils.c:937
int32_t INT
Definition: typedefs.h:58
WPARAM wParam
Definition: combotst.c:138
#define FALSE
Definition: types.h:117
unsigned int BOOL
Definition: ntddk_ex.h:94
FxChildList * pList
BOOL bNeedsTrans
Definition: imm.h:96
UINT nVKey
Definition: imm.h:95
DWORD WINAPI GetWindowThreadProcessId(HWND, PDWORD)
#define MAKELONG(a, b)
Definition: typedefs.h:249
#define offsetof(TYPE, MEMBER)
#define WM_KEYDOWN
Definition: winuser.h:1702
DWORD HIMC
Definition: dimm.idl:75
#define TRACE(s)
Definition: solgame.cpp:4
__wchar_t WCHAR
Definition: xmlstorage.h:180
DWORD fdwProperty
Definition: imm.h:158
HIMC WINAPI ImmGetContext(HWND hWnd)
Definition: imm.c:1008
PIMEDPI WINAPI ImmLockImeDpi(HKL hKL)
Definition: ime.c:726
#define WM_KEYUP
Definition: winuser.h:1703
unsigned short WORD
Definition: ntddk_ex.h:93
unsigned long DWORD
Definition: ntddk_ex.h:95
struct _tagTRANSMSG TRANSMSG
#define ImeDpi_IsUnicode(pImeDpi)
Definition: precomp.h:113
_Check_return_ BOOL WINAPI GetKeyboardState(_Out_writes_(256) PBYTE lpKeyState)
#define MSG_COUNT
BOOL WINAPI ImmUnlockIMCC(HIMCC imcc)
Definition: utils.c:947
int ret
DWORD dwThreadId
Definition: fdebug.c:31
UINT_PTR HKL
Definition: msctf.idl:101
unsigned char BYTE
Definition: xxhash.c:193
int WINAPI ToAsciiEx(_In_ UINT, _In_ UINT, _In_reads_opt_(256) CONST BYTE *, _Out_ LPWORD, _In_ UINT, _In_opt_ HKL)
BOOL WINAPI ImmReleaseContext(HWND hWnd, HIMC hIMC)
Definition: imm.c:1057
#define WM_SYSKEYUP
Definition: winuser.h:1707
PKEYBOARD_LAYOUT GetKeyboardLayout()
Definition: utils.c:194
unsigned int UINT
Definition: ndis.h:50
#define NULL
Definition: types.h:112
VOID APIENTRY Imm32PostMessages(HWND hwnd, HIMC hIMC, DWORD dwCount, LPTRANSMSG lpTransMsg)
Definition: keymsg.c:855
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 msg(x)
Definition: auth_time.c:54
#define WM_SYSKEYDOWN
Definition: winuser.h:1706
#define HIWORD(l)
Definition: typedefs.h:247
BOOL WINAPI ImmUnlockIMC(HIMC hIMC)
Definition: imm.c:1038
struct INPUTCONTEXTDX * LPINPUTCONTEXTDX

◆ ImmUnlockIMC()

BOOL WINAPI ImmUnlockIMC ( HIMC  )

Definition at line 1038 of file imm.c.

1039 {
1040  PCLIENTIMC pClientImc;
1041 
1042  pClientImc = ImmLockClientImc(hIMC);
1043  if (pClientImc == NULL)
1044  return FALSE;
1045 
1046  if (pClientImc->hInputContext)
1047  LocalUnlock(pClientImc->hInputContext);
1048 
1049  InterlockedDecrement(&pClientImc->cLockObj);
1050  ImmUnlockClientImc(pClientImc);
1051  return TRUE;
1052 }
BOOL NTAPI LocalUnlock(HLOCAL hMem)
Definition: heapmem.c:1788
#define TRUE
Definition: types.h:120
LONG cLockObj
Definition: ntuser.h:1294
#define FALSE
Definition: types.h:117
PCLIENTIMC WINAPI ImmLockClientImc(HIMC hImc)
Definition: imm.c:905
HANDLE hInputContext
Definition: ntuser.h:1293
#define InterlockedDecrement
Definition: armddk.h:52
#define NULL
Definition: types.h:112
VOID WINAPI ImmUnlockClientImc(PCLIENTIMC pClientImc)
Definition: imm.c:952

Referenced by Imm32CleanupContext(), Imm32CShapeToggle(), Imm32CSymbolToggle(), Imm32GetImeMenuItemsAW(), Imm32ImeNonImeToggle(), Imm32KEnglish(), Imm32KHanjaConvert(), Imm32KShapeToggle(), Imm32OpenICAndCS(), Imm32RequestMessageAW(), Imm32SelectLayout(), Imm32SendChangeProc(), Imm32SetCompositionStringAW(), ImmGenerateMessage(), ImmGetCandidateListAW(), ImmGetCandidateListCountAW(), ImmGetCandidateWindow(), ImmGetCompositionFontA(), ImmGetCompositionFontW(), ImmGetCompositionStringA(), ImmGetCompositionStringW(), ImmGetCompositionWindow(), ImmGetConversionStatus(), ImmGetGuideLineAW(), ImmGetOpenStatus(), ImmGetStatusWindowPos(), ImmGetVirtualKey(), ImmProcessKey(), ImmSetActiveContext(), ImmSetCandidateWindow(), ImmSetCompositionFontA(), ImmSetCompositionFontW(), ImmSetCompositionWindow(), ImmSetConversionStatus(), ImmSetOpenStatus(), ImmSetStatusWindowPos(), ImmTranslateMessage(), START_TEST(), 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   
)