1cpp_quote("/**") 2cpp_quote(" * This file is part of the mingw-w64 runtime package.") 3cpp_quote(" * No warranty is given; refer to the file DISCLAIMER within this package.") 4cpp_quote(" */") 5cpp_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 18import "unknwn.idl"; 19#endif 20 21interface IEnumRegisterWordA; 22interface IEnumRegisterWordW; 23 24cpp_quote("#include <winapifamily.h>") 25cpp_quote("") 26cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") 27 28[uuid (4955dd30-B159-11d0-8fcf-00aa006bcc59), lcid (0x0000), version (0.1)] 29library ActiveIMM { 30 importlib ("stdole2.tlb"); 31 cpp_quote("#include <imm.h>") 32 33cpp_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 129typedef 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; 140cpp_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} 416cpp_quote("#endif") 417