dimm.idl 22 KB

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