| 1 | cpp_quote("/**") | 
 
 
 
 
 | 2 | cpp_quote(" * This file is part of the mingw-w64 runtime package.") | 
 
 
 
 
 | 3 | cpp_quote(" * No warranty is given; refer to the file DISCLAIMER within this package.") | 
 
 
 
 
 | 4 | cpp_quote(" */") | 
 
 
 
 
 | 5 | cpp_quote("") | 
 
 
 
 
 | 6 |  | 
 
 
 
 
 | 7 | #ifndef LF_FACESIZE | 
 
 
 
 
 | 8 | #define LF_FACESIZE 32 | 
 
 
 
 
 | 9 | #endif | 
 
 
 
 
 | 10 | #ifndef STYLE_DESCRIPTION_SIZE | 
 
 
 
 
 | 11 | #define STYLE_DESCRIPTION_SIZE 32 | 
 
 
 
 
 | 12 | #endif | 
 
 
 
 
 | 13 | #ifndef IMEMENUITEM_STRING_SIZE | 
 
 
 
 
 | 14 | #define IMEMENUITEM_STRING_SIZE 80 | 
 
 
 
 
 | 15 | #endif | 
 
 
 
 
 | 16 |  | 
 
 
 
 
 | 17 | #ifndef DO_NO_IMPORTS | 
 
 
 
 
 | 18 | import "unknwn.idl"; | 
 
 
 
 
 | 19 | #endif | 
 
 
 
 
 | 20 |  | 
 
 
 
 
 | 21 | interface IEnumRegisterWordA; | 
 
 
 
 
 | 22 | interface IEnumRegisterWordW; | 
 
 
 
 
 | 23 |  | 
 
 
 
 
 | 24 | cpp_quote("#include <winapifamily.h>") | 
 
 
 
 
 | 25 | cpp_quote("") | 
 
 
 
 
 | 26 | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") | 
 
 
 
 
 | 27 |  | 
 
 
 
 
 | 28 | [uuid (4955dd30-B159-11d0-8fcf-00aa006bcc59), lcid (0x0000), version (0.1)] | 
 
 
 
 
 | 29 | library ActiveIMM { | 
 
 
 
 
 | 30 | importlib ("stdole2.tlb"); | 
 
 
 
 
 | 31 | cpp_quote("#include <imm.h>") | 
 
 
 
 
 | 32 |  | 
 
 
 
 
 | 33 | cpp_quote("#if 0") | 
 
 
 
 
 | 34 | typedef WORD LANGID; | 
 
 
 
 
 | 35 | typedef struct { | 
 
 
 
 
 | 36 | LPSTR lpReading; | 
 
 
 
 
 | 37 | LPSTR lpWord; | 
 
 
 
 
 | 38 | } REGISTERWORDA; | 
 
 
 
 
 | 39 |  | 
 
 
 
 
 | 40 | typedef struct { | 
 
 
 
 
 | 41 | LPWSTR lpReading; | 
 
 
 
 
 | 42 | LPWSTR lpWord; | 
 
 
 
 
 | 43 | } REGISTERWORDW; | 
 
 
 
 
 | 44 |  | 
 
 
 
 
 | 45 | typedef struct { | 
 
 
 
 
 | 46 | LONG lfHeight; | 
 
 
 
 
 | 47 | LONG lfWidth; | 
 
 
 
 
 | 48 | LONG lfEscapement; | 
 
 
 
 
 | 49 | LONG lfOrientation; | 
 
 
 
 
 | 50 | LONG lfWeight; | 
 
 
 
 
 | 51 | BYTE lfItalic; | 
 
 
 
 
 | 52 | BYTE lfUnderline; | 
 
 
 
 
 | 53 | BYTE lfStrikeOut; | 
 
 
 
 
 | 54 | BYTE lfCharSet; | 
 
 
 
 
 | 55 | BYTE lfOutPrecision; | 
 
 
 
 
 | 56 | BYTE lfClipPrecision; | 
 
 
 
 
 | 57 | BYTE lfQuality; | 
 
 
 
 
 | 58 | BYTE lfPitchAndFamily; | 
 
 
 
 
 | 59 | CHAR lfFaceName[LF_FACESIZE]; | 
 
 
 
 
 | 60 | } LOGFONTA; | 
 
 
 
 
 | 61 |  | 
 
 
 
 
 | 62 | typedef struct { | 
 
 
 
 
 | 63 | LONG lfHeight; | 
 
 
 
 
 | 64 | LONG lfWidth; | 
 
 
 
 
 | 65 | LONG lfEscapement; | 
 
 
 
 
 | 66 | LONG lfOrientation; | 
 
 
 
 
 | 67 | LONG lfWeight; | 
 
 
 
 
 | 68 | BYTE lfItalic; | 
 
 
 
 
 | 69 | BYTE lfUnderline; | 
 
 
 
 
 | 70 | BYTE lfStrikeOut; | 
 
 
 
 
 | 71 | BYTE lfCharSet; | 
 
 
 
 
 | 72 | BYTE lfOutPrecision; | 
 
 
 
 
 | 73 | BYTE lfClipPrecision; | 
 
 
 
 
 | 74 | BYTE lfQuality; | 
 
 
 
 
 | 75 | BYTE lfPitchAndFamily; | 
 
 
 
 
 | 76 | WCHAR lfFaceName[LF_FACESIZE]; | 
 
 
 
 
 | 77 | } LOGFONTW; | 
 
 
 
 
 | 78 |  | 
 
 
 
 
 | 79 | typedef DWORD HIMC; | 
 
 
 
 
 | 80 | typedef DWORD HIMCC; | 
 
 
 
 
 | 81 |  | 
 
 
 
 
 | 82 | typedef struct { | 
 
 
 
 
 | 83 | DWORD dwIndex; | 
 
 
 
 
 | 84 | DWORD dwStyle; | 
 
 
 
 
 | 85 | POINT ptCurrentPos; | 
 
 
 
 
 | 86 | RECT rcArea; | 
 
 
 
 
 | 87 | } CANDIDATEFORM; | 
 
 
 
 
 | 88 |  | 
 
 
 
 
 | 89 | typedef struct { | 
 
 
 
 
 | 90 | DWORD dwStyle; | 
 
 
 
 
 | 91 | POINT ptCurrentPos; | 
 
 
 
 
 | 92 | RECT rcArea; | 
 
 
 
 
 | 93 | } COMPOSITIONFORM; | 
 
 
 
 
 | 94 |  | 
 
 
 
 
 | 95 | typedef struct { | 
 
 
 
 
 | 96 | DWORD dwSize; | 
 
 
 
 
 | 97 | DWORD dwStyle; | 
 
 
 
 
 | 98 | DWORD dwCount; | 
 
 
 
 
 | 99 | DWORD dwSelection; | 
 
 
 
 
 | 100 | DWORD dwPageStart; | 
 
 
 
 
 | 101 | DWORD dwPageSize; | 
 
 
 
 
 | 102 | DWORD dwOffset[1]; | 
 
 
 
 
 | 103 | } CANDIDATELIST; | 
 
 
 
 
 | 104 |  | 
 
 
 
 
 | 105 | typedef struct { | 
 
 
 
 
 | 106 | DWORD dwStyle; | 
 
 
 
 
 | 107 | CHAR szDescription[STYLE_DESCRIPTION_SIZE]; | 
 
 
 
 
 | 108 | } STYLEBUFA; | 
 
 
 
 
 | 109 |  | 
 
 
 
 
 | 110 | typedef struct { | 
 
 
 
 
 | 111 | DWORD dwStyle; | 
 
 
 
 
 | 112 | WCHAR szDescription[STYLE_DESCRIPTION_SIZE]; | 
 
 
 
 
 | 113 | } STYLEBUFW; | 
 
 
 
 
 | 114 |  | 
 
 
 
 
 | 115 | typedef WORD ATOM; | 
 
 
 
 
 | 116 |  | 
 
 
 
 
 | 117 | typedef struct { | 
 
 
 
 
 | 118 | UINT cbSize; | 
 
 
 
 
 | 119 | UINT fType; | 
 
 
 
 
 | 120 | UINT fState; | 
 
 
 
 
 | 121 | UINT wID; | 
 
 
 
 
 | 122 | HBITMAP hbmpChecked; | 
 
 
 
 
 | 123 | HBITMAP hbmpUnchecked; | 
 
 
 
 
 | 124 | DWORD dwItemData; | 
 
 
 
 
 | 125 | CHAR szString[IMEMENUITEM_STRING_SIZE]; | 
 
 
 
 
 | 126 | HBITMAP hbmpItem; | 
 
 
 
 
 | 127 | } IMEMENUITEMINFOA; | 
 
 
 
 
 | 128 |  | 
 
 
 
 
 | 129 | typedef struct { | 
 
 
 
 
 | 130 | UINT cbSize; | 
 
 
 
 
 | 131 | UINT fType; | 
 
 
 
 
 | 132 | UINT fState; | 
 
 
 
 
 | 133 | UINT wID; | 
 
 
 
 
 | 134 | HBITMAP hbmpChecked; | 
 
 
 
 
 | 135 | HBITMAP hbmpUnchecked; | 
 
 
 
 
 | 136 | DWORD dwItemData; | 
 
 
 
 
 | 137 | WCHAR szString[IMEMENUITEM_STRING_SIZE]; | 
 
 
 
 
 | 138 | HBITMAP hbmpItem; | 
 
 
 
 
 | 139 | } IMEMENUITEMINFOW; | 
 
 
 
 
 | 140 | cpp_quote("#endif") | 
 
 
 
 
 | 141 |  | 
 
 
 
 
 | 142 | cpp_quote("#ifndef _DDKIMM_H_") | 
 
 
 
 
 | 143 |  | 
 
 
 
 
 | 144 | typedef struct { | 
 
 
 
 
 | 145 | HWND hWnd; | 
 
 
 
 
 | 146 | BOOL fOpen; | 
 
 
 
 
 | 147 | POINT ptStatusWndPos; | 
 
 
 
 
 | 148 | POINT ptSoftKbdPos; | 
 
 
 
 
 | 149 | DWORD fdwConversion; | 
 
 
 
 
 | 150 | DWORD fdwSentence; | 
 
 
 
 
 | 151 | union { | 
 
 
 
 
 | 152 | LOGFONTA A; | 
 
 
 
 
 | 153 | LOGFONTW W; | 
 
 
 
 
 | 154 | } lfFont; | 
 
 
 
 
 | 155 | COMPOSITIONFORM cfCompForm; | 
 
 
 
 
 | 156 | CANDIDATEFORM cfCandForm[4]; | 
 
 
 
 
 | 157 | HIMCC hCompStr; | 
 
 
 
 
 | 158 | HIMCC hCandInfo; | 
 
 
 
 
 | 159 | HIMCC hGuideLine; | 
 
 
 
 
 | 160 | HIMCC hPrivate; | 
 
 
 
 
 | 161 | DWORD dwNumMsgBuf; | 
 
 
 
 
 | 162 | HIMCC hMsgBuf; | 
 
 
 
 
 | 163 | DWORD fdwInit; | 
 
 
 
 
 | 164 | DWORD dwReserve[3]; | 
 
 
 
 
 | 165 | } INPUTCONTEXT; | 
 
 
 
 
 | 166 |  | 
 
 
 
 
 | 167 | typedef struct { | 
 
 
 
 
 | 168 | DWORD dwPrivateDataSize; | 
 
 
 
 
 | 169 | DWORD fdwProperty; | 
 
 
 
 
 | 170 | DWORD fdwConversionCaps; | 
 
 
 
 
 | 171 | DWORD fdwSentenceCaps; | 
 
 
 
 
 | 172 | DWORD fdwUICaps; | 
 
 
 
 
 | 173 | DWORD fdwSCSCaps; | 
 
 
 
 
 | 174 | DWORD fdwSelectCaps; | 
 
 
 
 
 | 175 | } IMEINFO; | 
 
 
 
 
 | 176 | cpp_quote("#endif") | 
 
 
 
 
 | 177 |  | 
 
 
 
 
 | 178 | [object, uuid (09b5eab0-f997-11d1-93d4-0060b067b86e), pointer_default (unique)] | 
 
 
 
 
 | 179 | interface IEnumInputContext : IUnknown { | 
 
 
 
 
 | 180 | HRESULT Clone ([out] IEnumInputContext **ppEnum); | 
 
 
 
 
 | 181 | HRESULT Next ([in] ULONG ulCount,[out] HIMC *rgInputContext,[out] ULONG *pcFetched); | 
 
 
 
 
 | 182 | HRESULT Reset (); | 
 
 
 
 
 | 183 | HRESULT Skip ([in] ULONG ulCount); | 
 
 
 
 
 | 184 | }; | 
 
 
 
 
 | 185 |  | 
 
 
 
 
 | 186 | [object, uuid (b3458082-bd00-11d1-939b-0060b067b86e), pointer_default (unique)] | 
 
 
 
 
 | 187 | interface IActiveIMMRegistrar : IUnknown { | 
 
 
 
 
 | 188 | HRESULT RegisterIME ([in] REFCLSID rclsid,[in] LANGID lgid,[in] LPCWSTR pszIconFile,[in] LPCWSTR pszDesc); | 
 
 
 
 
 | 189 | HRESULT UnregisterIME ([in] REFCLSID rclsid); | 
 
 
 
 
 | 190 | }; | 
 
 
 
 
 | 191 |  | 
 
 
 
 
 | 192 | [object, uuid (b5cf2cfa-8aeb-11d1-9364-0060b067b86e), pointer_default (unique)] | 
 
 
 
 
 | 193 | interface IActiveIMMMessagePumpOwner : IUnknown { | 
 
 
 
 
 | 194 | HRESULT Start (); | 
 
 
 
 
 | 195 | HRESULT End (); | 
 
 
 
 
 | 196 | HRESULT OnTranslateMessage ([in] const MSG *pMsg); | 
 
 
 
 
 | 197 | HRESULT Pause ([out] DWORD *pdwCookie); | 
 
 
 
 
 | 198 | HRESULT Resume ([in] DWORD dwCookie); | 
 
 
 
 
 | 199 | } | 
 
 
 
 
 | 200 |  | 
 
 
 
 
 | 201 | [object, uuid (08c0e040-62d1-11d1-9326-0060b067b86e), pointer_default (unique)] | 
 
 
 
 
 | 202 | interface IActiveIMMApp : IUnknown { | 
 
 
 
 
 | 203 | HRESULT AssociateContext ([in] HWND hWnd,[in] HIMC hIME,[out] HIMC *phPrev); | 
 
 
 
 
 | 204 | HRESULT ConfigureIMEA ([in] HKL hKL,[in] HWND hWnd,[in] DWORD dwMode,[in] REGISTERWORDA *pData); | 
 
 
 
 
 | 205 | HRESULT ConfigureIMEW ([in] HKL hKL,[in] HWND hWnd,[in] DWORD dwMode,[in] REGISTERWORDW *pData); | 
 
 
 
 
 | 206 | HRESULT CreateContext ([out] HIMC *phIMC); | 
 
 
 
 
 | 207 | HRESULT DestroyContext ([in] HIMC hIME); | 
 
 
 
 
 | 208 | HRESULT EnumRegisterWordA ([in] HKL hKL,[in] LPSTR szReading,[in] DWORD dwStyle,[in] LPSTR szRegister,[in] LPVOID pData,[out] IEnumRegisterWordA **pEnum); | 
 
 
 
 
 | 209 | HRESULT EnumRegisterWordW ([in] HKL hKL,[in] LPWSTR szReading,[in] DWORD dwStyle,[in] LPWSTR szRegister,[in] LPVOID pData,[out] IEnumRegisterWordW **pEnum); | 
 
 
 
 
 | 210 | HRESULT EscapeA ([in] HKL hKL,[in] HIMC hIMC,[in] UINT uEscape,[in, out] LPVOID pData,[out] LRESULT *plResult); | 
 
 
 
 
 | 211 | HRESULT EscapeW ([in] HKL hKL,[in] HIMC hIMC,[in] UINT uEscape,[in, out] LPVOID pData,[out] LRESULT *plResult); | 
 
 
 
 
 | 212 | HRESULT GetCandidateListA ([in] HIMC hIMC,[in] DWORD dwIndex,[in] UINT uBufLen,[out] CANDIDATELIST *pCandList,[out] UINT *puCopied); | 
 
 
 
 
 | 213 | HRESULT GetCandidateListW ([in] HIMC hIMC,[in] DWORD dwIndex,[in] UINT uBufLen,[out] CANDIDATELIST *pCandList,[out] UINT *puCopied); | 
 
 
 
 
 | 214 | HRESULT GetCandidateListCountA ([in] HIMC hIMC,[out] DWORD *pdwListSize,[out] DWORD *pdwBufLen); | 
 
 
 
 
 | 215 | HRESULT GetCandidateListCountW ([in] HIMC hIMC,[out] DWORD *pdwListSize,[out] DWORD *pdwBufLen); | 
 
 
 
 
 | 216 | HRESULT GetCandidateWindow ([in] HIMC hIMC,[in] DWORD dwIndex,[out] CANDIDATEFORM *pCandidate); | 
 
 
 
 
 | 217 | HRESULT GetCompositionFontA ([in] HIMC hIMC,[out] LOGFONTA *plf); | 
 
 
 
 
 | 218 | HRESULT GetCompositionFontW ([in] HIMC hIMC,[out] LOGFONTW *plf); | 
 
 
 
 
 | 219 | HRESULT GetCompositionStringA ([in] HIMC hIMC,[in] DWORD dwIndex,[in] DWORD dwBufLen,[out] LONG *plCopied,[out] LPVOID pBuf); | 
 
 
 
 
 | 220 | HRESULT GetCompositionStringW ([in] HIMC hIMC,[in] DWORD dwIndex,[in] DWORD dwBufLen,[out] LONG *plCopied,[out] LPVOID pBuf); | 
 
 
 
 
 | 221 | HRESULT GetCompositionWindow ([in] HIMC hIMC,[out] COMPOSITIONFORM *pCompForm); | 
 
 
 
 
 | 222 | HRESULT GetContext ([in] HWND hWnd,[out] HIMC *phIMC); | 
 
 
 
 
 | 223 | HRESULT GetConversionListA ([in] HKL hKL,[in] HIMC hIMC,[in] LPSTR pSrc,[in] UINT uBufLen,[in] UINT uFlag,[out] CANDIDATELIST *pDst,[out] UINT *puCopied); | 
 
 
 
 
 | 224 | HRESULT GetConversionListW ([in] HKL hKL,[in] HIMC hIMC,[in] LPWSTR pSrc,[in] UINT uBufLen,[in] UINT uFlag,[out] CANDIDATELIST *pDst,[out] UINT *puCopied); | 
 
 
 
 
 | 225 | HRESULT GetConversionStatus ([in] HIMC hIMC,[out] DWORD *pfdwConversion,[out] DWORD *pfdwSentence); | 
 
 
 
 
 | 226 | HRESULT GetDefaultIMEWnd ([in] HWND hWnd,[out] HWND *phDefWnd); | 
 
 
 
 
 | 227 | HRESULT GetDescriptionA ([in] HKL hKL,[in] UINT uBufLen,[out] LPSTR szDescription,[out] UINT *puCopied); | 
 
 
 
 
 | 228 | HRESULT GetDescriptionW ([in] HKL hKL,[in] UINT uBufLen,[out] LPWSTR szDescription,[out] UINT *puCopied); | 
 
 
 
 
 | 229 | HRESULT GetGuideLineA ([in] HIMC hIMC,[in] DWORD dwIndex,[in] DWORD dwBufLen,[out] LPSTR pBuf,[out] DWORD *pdwResult); | 
 
 
 
 
 | 230 | HRESULT GetGuideLineW ([in] HIMC hIMC,[in] DWORD dwIndex,[in] DWORD dwBufLen,[out] LPWSTR pBuf,[out] DWORD *pdwResult); | 
 
 
 
 
 | 231 | HRESULT GetIMEFileNameA ([in] HKL hKL,[in] UINT uBufLen,[out] LPSTR szFileName,[out] UINT *puCopied); | 
 
 
 
 
 | 232 | HRESULT GetIMEFileNameW ([in] HKL hKL,[in] UINT uBufLen,[out] LPWSTR szFileName,[out] UINT *puCopied); | 
 
 
 
 
 | 233 | HRESULT GetOpenStatus ([in] HIMC hIMC); | 
 
 
 
 
 | 234 | HRESULT GetProperty ([in] HKL hKL,[in] DWORD fdwIndex,[out] DWORD *pdwProperty); | 
 
 
 
 
 | 235 | HRESULT GetRegisterWordStyleA ([in] HKL hKL,[in] UINT nItem,[out] STYLEBUFA *pStyleBuf,[out] UINT *puCopied); | 
 
 
 
 
 | 236 | HRESULT GetRegisterWordStyleW ([in] HKL hKL,[in] UINT nItem,[out] STYLEBUFW *pStyleBuf,[out] UINT *puCopied); | 
 
 
 
 
 | 237 | HRESULT GetStatusWindowPos ([in] HIMC hIMC,[out] POINT *pptPos); | 
 
 
 
 
 | 238 | HRESULT GetVirtualKey ([in] HWND hWnd,[out] UINT *puVirtualKey); | 
 
 
 
 
 | 239 | HRESULT InstallIMEA ([in] LPSTR szIMEFileName,[in] LPSTR szLayoutText,[out] HKL *phKL); | 
 
 
 
 
 | 240 | HRESULT InstallIMEW ([in] LPWSTR szIMEFileName,[in] LPWSTR szLayoutText,[out] HKL *phKL); | 
 
 
 
 
 | 241 | HRESULT IsIME ([in] HKL hKL); | 
 
 
 
 
 | 242 | HRESULT IsUIMessageA ([in] HWND hWndIME,[in] UINT msg,[in] WPARAM wParam,[in] LPARAM lParam); | 
 
 
 
 
 | 243 | HRESULT IsUIMessageW ([in] HWND hWndIME,[in] UINT msg,[in] WPARAM wParam,[in] LPARAM lParam); | 
 
 
 
 
 | 244 | HRESULT NotifyIME ([in] HIMC hIMC,[in] DWORD dwAction,[in] DWORD dwIndex,[in] DWORD dwValue); | 
 
 
 
 
 | 245 | HRESULT RegisterWordA ([in] HKL hKL,[in] LPSTR szReading,[in] DWORD dwStyle,[in] LPSTR szRegister); | 
 
 
 
 
 | 246 | HRESULT RegisterWordW ([in] HKL hKL,[in] LPWSTR szReading,[in] DWORD dwStyle,[in] LPWSTR szRegister); | 
 
 
 
 
 | 247 | HRESULT ReleaseContext ([in] HWND hWnd,[in] HIMC hIMC); | 
 
 
 
 
 | 248 | HRESULT SetCandidateWindow ([in] HIMC hIMC,[in] CANDIDATEFORM *pCandidate); | 
 
 
 
 
 | 249 | HRESULT SetCompositionFontA ([in] HIMC hIMC,[in] LOGFONTA *plf); | 
 
 
 
 
 | 250 | HRESULT SetCompositionFontW ([in] HIMC hIMC,[in] LOGFONTW *plf); | 
 
 
 
 
 | 251 | HRESULT SetCompositionStringA ([in] HIMC hIMC,[in] DWORD dwIndex,[in] LPVOID pComp,[in] DWORD dwCompLen,[in] LPVOID pRead,[in] DWORD dwReadLen); | 
 
 
 
 
 | 252 | HRESULT SetCompositionStringW ([in] HIMC hIMC,[in] DWORD dwIndex,[in] LPVOID pComp,[in] DWORD dwCompLen,[in] LPVOID pRead,[in] DWORD dwReadLen); | 
 
 
 
 
 | 253 | HRESULT SetCompositionWindow ([in] HIMC hIMC,[in] COMPOSITIONFORM *pCompForm); | 
 
 
 
 
 | 254 | HRESULT SetConversionStatus ([in] HIMC hIMC,[in] DWORD fdwConversion,[in] DWORD fdwSentence); | 
 
 
 
 
 | 255 | HRESULT SetOpenStatus ([in] HIMC hIMC,[in] BOOL fOpen); | 
 
 
 
 
 | 256 | HRESULT SetStatusWindowPos ([in] HIMC hIMC,[in] POINT *pptPos); | 
 
 
 
 
 | 257 | HRESULT SimulateHotKey ([in] HWND hWnd,[in] DWORD dwHotKeyID); | 
 
 
 
 
 | 258 | HRESULT UnregisterWordA ([in] HKL hKL,[in] LPSTR szReading,[in] DWORD dwStyle,[in] LPSTR szUnregister); | 
 
 
 
 
 | 259 | HRESULT UnregisterWordW ([in] HKL hKL,[in] LPWSTR szReading,[in] DWORD dwStyle,[in] LPWSTR szUnregister); | 
 
 
 
 
 | 260 | HRESULT Activate ([in] BOOL fRestoreLayout); | 
 
 
 
 
 | 261 | HRESULT Deactivate (); | 
 
 
 
 
 | 262 | HRESULT OnDefWindowProc ([in] HWND hWnd,[in] UINT Msg,[in] WPARAM wParam,[in] LPARAM lParam,[out] LRESULT *plResult); | 
 
 
 
 
 | 263 | HRESULT FilterClientWindows ([in] ATOM *aaClassList,[in] UINT uSize); | 
 
 
 
 
 | 264 | HRESULT GetCodePageA ([in] HKL hKL,[out] UINT *uCodePage); | 
 
 
 
 
 | 265 | HRESULT GetLangId ([in] HKL hKL,[out] LANGID *plid); | 
 
 
 
 
 | 266 | HRESULT AssociateContextEx ([in] HWND hWnd,[in] HIMC hIMC,[in] DWORD dwFlags); | 
 
 
 
 
 | 267 | HRESULT DisableIME ([in] DWORD idThread); | 
 
 
 
 
 | 268 | HRESULT GetImeMenuItemsA ([in] HIMC hIMC,[in] DWORD dwFlags,[in] DWORD dwType,[in] IMEMENUITEMINFOA *pImeParentMenu,[out] IMEMENUITEMINFOA *pImeMenu,[in] DWORD dwSize,[out] DWORD *pdwResult); | 
 
 
 
 
 | 269 | HRESULT GetImeMenuItemsW ([in] HIMC hIMC,[in] DWORD dwFlags,[in] DWORD dwType,[in] IMEMENUITEMINFOW *pImeParentMenu,[out] IMEMENUITEMINFOW *pImeMenu,[in] DWORD dwSize,[out] DWORD *pdwResult); | 
 
 
 
 
 | 270 | HRESULT EnumInputContext ([in] DWORD idThread,[out] IEnumInputContext **ppEnum); | 
 
 
 
 
 | 271 | }; | 
 
 
 
 
 | 272 |  | 
 
 
 
 
 | 273 | [object, uuid (08c03411-F96B-11d0-A475-00aa006bcc59), pointer_default (unique)] | 
 
 
 
 
 | 274 | interface IActiveIMMIME : IUnknown { | 
 
 
 
 
 | 275 | HRESULT AssociateContext ([in] HWND hWnd,[in] HIMC hIME,[out] HIMC *phPrev); | 
 
 
 
 
 | 276 | HRESULT ConfigureIMEA ([in] HKL hKL,[in] HWND hWnd,[in] DWORD dwMode,[in] REGISTERWORDA *pData); | 
 
 
 
 
 | 277 | HRESULT ConfigureIMEW ([in] HKL hKL,[in] HWND hWnd,[in] DWORD dwMode,[in] REGISTERWORDW *pData); | 
 
 
 
 
 | 278 | HRESULT CreateContext ([out] HIMC *phIMC); | 
 
 
 
 
 | 279 | HRESULT DestroyContext ([in] HIMC hIME); | 
 
 
 
 
 | 280 | HRESULT EnumRegisterWordA ([in] HKL hKL,[in] LPSTR szReading,[in] DWORD dwStyle,[in] LPSTR szRegister,[in] LPVOID pData,[out] IEnumRegisterWordA **pEnum); | 
 
 
 
 
 | 281 | HRESULT EnumRegisterWordW ([in] HKL hKL,[in] LPWSTR szReading,[in] DWORD dwStyle,[in] LPWSTR szRegister,[in] LPVOID pData,[out] IEnumRegisterWordW **pEnum); | 
 
 
 
 
 | 282 | HRESULT EscapeA ([in] HKL hKL,[in] HIMC hIMC,[in] UINT uEscape,[in, out] LPVOID pData,[out] LRESULT *plResult); | 
 
 
 
 
 | 283 | HRESULT EscapeW ([in] HKL hKL,[in] HIMC hIMC,[in] UINT uEscape,[in, out] LPVOID pData,[out] LRESULT *plResult); | 
 
 
 
 
 | 284 | HRESULT GetCandidateListA ([in] HIMC hIMC,[in] DWORD dwIndex,[in] UINT uBufLen,[out] CANDIDATELIST *pCandList,[out] UINT *puCopied); | 
 
 
 
 
 | 285 | HRESULT GetCandidateListW ([in] HIMC hIMC,[in] DWORD dwIndex,[in] UINT uBufLen,[out] CANDIDATELIST *pCandList,[out] UINT *puCopied); | 
 
 
 
 
 | 286 | HRESULT GetCandidateListCountA ([in] HIMC hIMC,[out] DWORD *pdwListSize,[out] DWORD *pdwBufLen); | 
 
 
 
 
 | 287 | HRESULT GetCandidateListCountW ([in] HIMC hIMC,[out] DWORD *pdwListSize,[out] DWORD *pdwBufLen); | 
 
 
 
 
 | 288 | HRESULT GetCandidateWindow ([in] HIMC hIMC,[in] DWORD dwIndex,[out] CANDIDATEFORM *pCandidate); | 
 
 
 
 
 | 289 | HRESULT GetCompositionFontA ([in] HIMC hIMC,[out] LOGFONTA *plf); | 
 
 
 
 
 | 290 | HRESULT GetCompositionFontW ([in] HIMC hIMC,[out] LOGFONTW *plf); | 
 
 
 
 
 | 291 | HRESULT GetCompositionStringA ([in] HIMC hIMC,[in] DWORD dwIndex,[in] DWORD dwBufLen,[out] LONG *plCopied,[out] LPVOID pBuf); | 
 
 
 
 
 | 292 | HRESULT GetCompositionStringW ([in] HIMC hIMC,[in] DWORD dwIndex,[in] DWORD dwBufLen,[out] LONG *plCopied,[out] LPVOID pBuf); | 
 
 
 
 
 | 293 | HRESULT GetCompositionWindow ([in] HIMC hIMC,[out] COMPOSITIONFORM *pCompForm); | 
 
 
 
 
 | 294 | HRESULT GetContext ([in] HWND hWnd,[out] HIMC *phIMC); | 
 
 
 
 
 | 295 | HRESULT GetConversionListA ([in] HKL hKL,[in] HIMC hIMC,[in] LPSTR pSrc,[in] UINT uBufLen,[in] UINT uFlag,[out] CANDIDATELIST *pDst,[out] UINT *puCopied); | 
 
 
 
 
 | 296 | HRESULT GetConversionListW ([in] HKL hKL,[in] HIMC hIMC,[in] LPWSTR pSrc,[in] UINT uBufLen,[in] UINT uFlag,[out] CANDIDATELIST *pDst,[out] UINT *puCopied); | 
 
 
 
 
 | 297 | HRESULT GetConversionStatus ([in] HIMC hIMC,[out] DWORD *pfdwConversion,[out] DWORD *pfdwSentence); | 
 
 
 
 
 | 298 | HRESULT GetDefaultIMEWnd ([in] HWND hWnd,[out] HWND *phDefWnd); | 
 
 
 
 
 | 299 | HRESULT GetDescriptionA ([in] HKL hKL,[in] UINT uBufLen,[out] LPSTR szDescription,[out] UINT *puCopied); | 
 
 
 
 
 | 300 | HRESULT GetDescriptionW ([in] HKL hKL,[in] UINT uBufLen,[out] LPWSTR szDescription,[out] UINT *puCopied); | 
 
 
 
 
 | 301 | HRESULT GetGuideLineA ([in] HIMC hIMC,[in] DWORD dwIndex,[in] DWORD dwBufLen,[out] LPSTR pBuf,[out] DWORD *pdwResult); | 
 
 
 
 
 | 302 | HRESULT GetGuideLineW ([in] HIMC hIMC,[in] DWORD dwIndex,[in] DWORD dwBufLen,[out] LPWSTR pBuf,[out] DWORD *pdwResult); | 
 
 
 
 
 | 303 | HRESULT GetIMEFileNameA ([in] HKL hKL,[in] UINT uBufLen,[out] LPSTR szFileName,[out] UINT *puCopied); | 
 
 
 
 
 | 304 | HRESULT GetIMEFileNameW ([in] HKL hKL,[in] UINT uBufLen,[out] LPWSTR szFileName,[out] UINT *puCopied); | 
 
 
 
 
 | 305 | HRESULT GetOpenStatus ([in] HIMC hIMC); | 
 
 
 
 
 | 306 | HRESULT GetProperty ([in] HKL hKL,[in] DWORD fdwIndex,[out] DWORD *pdwProperty); | 
 
 
 
 
 | 307 | HRESULT GetRegisterWordStyleA ([in] HKL hKL,[in] UINT nItem,[out] STYLEBUFA *pStyleBuf,[out] UINT *puCopied); | 
 
 
 
 
 | 308 | HRESULT GetRegisterWordStyleW ([in] HKL hKL,[in] UINT nItem,[out] STYLEBUFW *pStyleBuf,[out] UINT *puCopied); | 
 
 
 
 
 | 309 | HRESULT GetStatusWindowPos ([in] HIMC hIMC,[out] POINT *pptPos); | 
 
 
 
 
 | 310 | HRESULT GetVirtualKey ([in] HWND hWnd,[out] UINT *puVirtualKey); | 
 
 
 
 
 | 311 | HRESULT InstallIMEA ([in] LPSTR szIMEFileName,[in] LPSTR szLayoutText,[out] HKL *phKL); | 
 
 
 
 
 | 312 | HRESULT InstallIMEW ([in] LPWSTR szIMEFileName,[in] LPWSTR szLayoutText,[out] HKL *phKL); | 
 
 
 
 
 | 313 | HRESULT IsIME ([in] HKL hKL); | 
 
 
 
 
 | 314 | HRESULT IsUIMessageA ([in] HWND hWndIME,[in] UINT msg,[in] WPARAM wParam,[in] LPARAM lParam); | 
 
 
 
 
 | 315 | HRESULT IsUIMessageW ([in] HWND hWndIME,[in] UINT msg,[in] WPARAM wParam,[in] LPARAM lParam); | 
 
 
 
 
 | 316 | HRESULT NotifyIME ([in] HIMC hIMC,[in] DWORD dwAction,[in] DWORD dwIndex,[in] DWORD dwValue); | 
 
 
 
 
 | 317 | HRESULT RegisterWordA ([in] HKL hKL,[in] LPSTR szReading,[in] DWORD dwStyle,[in] LPSTR szRegister); | 
 
 
 
 
 | 318 | HRESULT RegisterWordW ([in] HKL hKL,[in] LPWSTR szReading,[in] DWORD dwStyle,[in] LPWSTR szRegister); | 
 
 
 
 
 | 319 | HRESULT ReleaseContext ([in] HWND hWnd,[in] HIMC hIMC); | 
 
 
 
 
 | 320 | HRESULT SetCandidateWindow ([in] HIMC hIMC,[in] CANDIDATEFORM *pCandidate); | 
 
 
 
 
 | 321 | HRESULT SetCompositionFontA ([in] HIMC hIMC,[in] LOGFONTA *plf); | 
 
 
 
 
 | 322 | HRESULT SetCompositionFontW ([in] HIMC hIMC,[in] LOGFONTW *plf); | 
 
 
 
 
 | 323 | HRESULT SetCompositionStringA ([in] HIMC hIMC,[in] DWORD dwIndex,[in] LPVOID pComp,[in] DWORD dwCompLen,[in] LPVOID pRead,[in] DWORD dwReadLen); | 
 
 
 
 
 | 324 | HRESULT SetCompositionStringW ([in] HIMC hIMC,[in] DWORD dwIndex,[in] LPVOID pComp,[in] DWORD dwCompLen,[in] LPVOID pRead,[in] DWORD dwReadLen); | 
 
 
 
 
 | 325 | HRESULT SetCompositionWindow ([in] HIMC hIMC,[in] COMPOSITIONFORM *pCompForm); | 
 
 
 
 
 | 326 | HRESULT SetConversionStatus ([in] HIMC hIMC,[in] DWORD fdwConversion,[in] DWORD fdwSentence); | 
 
 
 
 
 | 327 | HRESULT SetOpenStatus ([in] HIMC hIMC,[in] BOOL fOpen); | 
 
 
 
 
 | 328 | HRESULT SetStatusWindowPos ([in] HIMC hIMC,[in] POINT *pptPos); | 
 
 
 
 
 | 329 | HRESULT SimulateHotKey ([in] HWND hWnd,[in] DWORD dwHotKeyID); | 
 
 
 
 
 | 330 | HRESULT UnregisterWordA ([in] HKL hKL,[in] LPSTR szReading,[in] DWORD dwStyle,[in] LPSTR szUnregister); | 
 
 
 
 
 | 331 | HRESULT UnregisterWordW ([in] HKL hKL,[in] LPWSTR szReading,[in] DWORD dwStyle,[in] LPWSTR szUnregister); | 
 
 
 
 
 | 332 | HRESULT GenerateMessage ([in] HIMC hIMC); | 
 
 
 
 
 | 333 | HRESULT LockIMC ([in] HIMC hIMC,[out] INPUTCONTEXT **ppIMC); | 
 
 
 
 
 | 334 | HRESULT UnlockIMC ([in] HIMC hIMC); | 
 
 
 
 
 | 335 | HRESULT GetIMCLockCount ([in] HIMC hIMC,[out] DWORD *pdwLockCount); | 
 
 
 
 
 | 336 | HRESULT CreateIMCC ([in] DWORD dwSize,[out] HIMCC *phIMCC); | 
 
 
 
 
 | 337 | HRESULT DestroyIMCC ([in] HIMCC hIMCC); | 
 
 
 
 
 | 338 | HRESULT LockIMCC ([in] HIMCC hIMCC,[out] void **ppv); | 
 
 
 
 
 | 339 | HRESULT UnlockIMCC ([in] HIMCC hIMCC); | 
 
 
 
 
 | 340 | HRESULT ReSizeIMCC ([in] HIMCC hIMCC,[in] DWORD dwSize,[out] HIMCC *phIMCC); | 
 
 
 
 
 | 341 | HRESULT GetIMCCSize ([in] HIMCC hIMCC,[out] DWORD *pdwSize); | 
 
 
 
 
 | 342 | HRESULT GetIMCCLockCount ([in] HIMCC hIMCC,[out] DWORD *pdwLockCount); | 
 
 
 
 
 | 343 | HRESULT GetHotKey ([in] DWORD dwHotKeyID,[out] UINT *puModifiers,[out] UINT *puVKey,[out] HKL *phKL); | 
 
 
 
 
 | 344 | HRESULT SetHotKey ([in] DWORD dwHotKeyID,[in] UINT uModifiers,[in] UINT uVKey,[in] HKL hKL); | 
 
 
 
 
 | 345 | HRESULT CreateSoftKeyboard ([in] UINT uType,[in] HWND hOwner,[in] int x,[in] int y,[out] HWND *phSoftKbdWnd); | 
 
 
 
 
 | 346 | HRESULT DestroySoftKeyboard ([in] HWND hSoftKbdWnd); | 
 
 
 
 
 | 347 | HRESULT ShowSoftKeyboard ([in] HWND hSoftKbdWnd,[in] int nCmdShow); | 
 
 
 
 
 | 348 | HRESULT GetCodePageA ([in] HKL hKL,[out] UINT *uCodePage); | 
 
 
 
 
 | 349 | HRESULT GetLangId ([in] HKL hKL,[out] LANGID *plid); | 
 
 
 
 
 | 350 | HRESULT KeybdEvent ([in] LANGID lgidIME,[in] BYTE bVk,[in] BYTE bScan,[in] DWORD dwFlags,[in] DWORD dwExtraInfo); | 
 
 
 
 
 | 351 | HRESULT LockModal (); | 
 
 
 
 
 | 352 | HRESULT UnlockModal (); | 
 
 
 
 
 | 353 | HRESULT AssociateContextEx ([in] HWND hWnd,[in] HIMC hIMC,[in] DWORD dwFlags); | 
 
 
 
 
 | 354 | HRESULT DisableIME ([in] DWORD idThread); | 
 
 
 
 
 | 355 | HRESULT GetImeMenuItemsA ([in] HIMC hIMC,[in] DWORD dwFlags,[in] DWORD dwType,[in] IMEMENUITEMINFOA *pImeParentMenu,[out] IMEMENUITEMINFOA *pImeMenu,[in] DWORD dwSize,[out] DWORD *pdwResult); | 
 
 
 
 
 | 356 | HRESULT GetImeMenuItemsW ([in] HIMC hIMC,[in] DWORD dwFlags,[in] DWORD dwType,[in] IMEMENUITEMINFOW *pImeParentMenu,[out] IMEMENUITEMINFOW *pImeMenu,[in] DWORD dwSize,[out] DWORD *pdwResult); | 
 
 
 
 
 | 357 | HRESULT EnumInputContext ([in] DWORD idThread,[out] IEnumInputContext **ppEnum); | 
 
 
 
 
 | 358 | HRESULT RequestMessageA ([in] HIMC hIMC,[in] WPARAM wParam,[in] LPARAM lParam,[out] LRESULT *plResult); | 
 
 
 
 
 | 359 | HRESULT RequestMessageW ([in] HIMC hIMC,[in] WPARAM wParam,[in] LPARAM lParam,[out] LRESULT *plResult); | 
 
 
 
 
 | 360 | HRESULT SendIMCA ([in] HWND hWnd,[in] UINT uMsg,[in] WPARAM wParam,[in] LPARAM lParam,[out] LRESULT *plResult); | 
 
 
 
 
 | 361 | HRESULT SendIMCW ([in] HWND hWnd,[in] UINT uMsg,[in] WPARAM wParam,[in] LPARAM lParam,[out] LRESULT *plResult); | 
 
 
 
 
 | 362 | HRESULT IsSleeping (); | 
 
 
 
 
 | 363 | }; | 
 
 
 
 
 | 364 |  | 
 
 
 
 
 | 365 | [object, uuid (6fe20962-D077-11d0-8fe7-00aa006bcc59), pointer_default (unique)] | 
 
 
 
 
 | 366 | interface IActiveIME : IUnknown { | 
 
 
 
 
 | 367 | HRESULT Inquire ([in] DWORD dwSystemInfoFlags,[out] IMEINFO *pIMEInfo,[out] LPWSTR szWndClass,[out] DWORD *pdwPrivate); | 
 
 
 
 
 | 368 | HRESULT ConversionList ([in] HIMC hIMC,[in] LPWSTR szSource,[in] UINT uFlag,[in] UINT uBufLen,[out] CANDIDATELIST *pDest,[out] UINT *puCopied); | 
 
 
 
 
 | 369 | HRESULT Configure ([in] HKL hKL,[in] HWND hWnd,[in] DWORD dwMode,[in] REGISTERWORDW *pRegisterWord); | 
 
 
 
 
 | 370 | HRESULT Destroy ([in] UINT uReserved); | 
 
 
 
 
 | 371 | HRESULT Escape ([in] HIMC hIMC,[in] UINT uEscape,[in, out] void *pData,[out] LRESULT *plResult); | 
 
 
 
 
 | 372 | HRESULT SetActiveContext ([in] HIMC hIMC,[in] BOOL fFlag); | 
 
 
 
 
 | 373 | HRESULT ProcessKey ([in] HIMC hIMC,[in] UINT uVirKey,[in] DWORD lParam,[in] BYTE *pbKeyState); | 
 
 
 
 
 | 374 | HRESULT Notify ([in] HIMC hIMC,[in] DWORD dwAction,[in] DWORD dwIndex,[in] DWORD dwValue); | 
 
 
 
 
 | 375 | HRESULT Select ([in] HIMC hIMC,[in] BOOL fSelect); | 
 
 
 
 
 | 376 | HRESULT SetCompositionString ([in] HIMC hIMC,[in] DWORD dwIndex,[in] void *pComp,[in] DWORD dwCompLen,[in] void *pRead,[in] DWORD dwReadLen); | 
 
 
 
 
 | 377 | HRESULT ToAsciiEx ([in] UINT uVirKey,[in] UINT uScanCode,[in] BYTE *pbKeyState,[in] UINT fuState,[in] HIMC hIMC,[out] DWORD *pdwTransBuf,[out] UINT *puSize); | 
 
 
 
 
 | 378 | HRESULT RegisterWord ([in] LPWSTR szReading,[in] DWORD dwStyle,[in] LPWSTR szString); | 
 
 
 
 
 | 379 | HRESULT UnregisterWord ([in] LPWSTR szReading,[in] DWORD dwStyle,[in] LPWSTR szString); | 
 
 
 
 
 | 380 | HRESULT GetRegisterWordStyle ([in] UINT nItem,[out] STYLEBUFW *pStyleBuf,[out] UINT *puBufSize); | 
 
 
 
 
 | 381 | HRESULT EnumRegisterWord ([in] LPWSTR szReading,[in] DWORD dwStyle,[in] LPWSTR szRegister,[in] LPVOID pData,[out] IEnumRegisterWordW **ppEnum); | 
 
 
 
 
 | 382 | HRESULT GetCodePageA ([out] UINT *uCodePage); | 
 
 
 
 
 | 383 | HRESULT GetLangId ([out] LANGID *plid); | 
 
 
 
 
 | 384 | }; | 
 
 
 
 
 | 385 |  | 
 
 
 
 
 | 386 | [object, uuid (e1c4bf0e-2d53-11d2-93e1-0060b067b86e), pointer_default (unique)] | 
 
 
 
 
 | 387 | interface IActiveIME2 : IActiveIME { | 
 
 
 
 
 | 388 | HRESULT Sleep (); | 
 
 
 
 
 | 389 | HRESULT Unsleep ([in] BOOL fDead); | 
 
 
 
 
 | 390 | }; | 
 
 
 
 
 | 391 |  | 
 
 
 
 
 | 392 | [object, uuid (08c03412-F96B-11d0-A475-00aa006bcc59), pointer_default (unique)] | 
 
 
 
 
 | 393 | interface IEnumRegisterWordA : IUnknown { | 
 
 
 
 
 | 394 | HRESULT Clone ([out] IEnumRegisterWordA **ppEnum); | 
 
 
 
 
 | 395 | HRESULT Next ([in] ULONG ulCount,[out] REGISTERWORDA *rgRegisterWord,[out] ULONG *pcFetched); | 
 
 
 
 
 | 396 | HRESULT Reset (); | 
 
 
 
 
 | 397 | HRESULT Skip ([in] ULONG ulCount); | 
 
 
 
 
 | 398 | }; | 
 
 
 
 
 | 399 |  | 
 
 
 
 
 | 400 | [object, uuid (4955dd31-B159-11d0-8fcf-00aa006bcc59), pointer_default (unique)] | 
 
 
 
 
 | 401 | interface IEnumRegisterWordW : IUnknown { | 
 
 
 
 
 | 402 | HRESULT Clone ([out] IEnumRegisterWordW **ppEnum); | 
 
 
 
 
 | 403 | HRESULT Next ([in] ULONG ulCount,[out] REGISTERWORDW *rgRegisterWord,[out] ULONG *pcFetched); | 
 
 
 
 
 | 404 | HRESULT Reset (); | 
 
 
 
 
 | 405 | HRESULT Skip ([in] ULONG ulCount); | 
 
 
 
 
 | 406 | }; | 
 
 
 
 
 | 407 |  | 
 
 
 
 
 | 408 | [uuid (4955dd33-B159-11d0-8fcf-00aa006bcc59)] | 
 
 
 
 
 | 409 | coclass CActiveIMM { | 
 
 
 
 
 | 410 | [default] interface IActiveIMMApp; | 
 
 
 
 
 | 411 | interface IActiveIMMIME; | 
 
 
 
 
 | 412 | interface IActiveIMMRegistrar; | 
 
 
 
 
 | 413 | interface IActiveIMMMessagePumpOwner; | 
 
 
 
 
 | 414 | }; | 
 
 
 
 
 | 415 | } | 
 
 
 
 
 | 416 | cpp_quote("#endif") |