Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

207 lines
12 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1992-1997.
  5. //
  6. // File: aimmp.idl
  7. //
  8. // Contents: ActiveIMM private interface definitions
  9. //
  10. //
  11. //--------------------------------------------------------------------------
  12. cpp_quote("//=--------------------------------------------------------------------------=")
  13. cpp_quote("// aimmp.h")
  14. cpp_quote("//=--------------------------------------------------------------------------=")
  15. cpp_quote("// (C) Copyright 1995-1997 Microsoft Corporation. All Rights Reserved.")
  16. cpp_quote("//")
  17. cpp_quote("// THIS CODE AND INFORMATION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF")
  18. cpp_quote("// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO")
  19. cpp_quote("// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A")
  20. cpp_quote("// PARTICULAR PURPOSE.")
  21. cpp_quote("//=--------------------------------------------------------------------------=")
  22. cpp_quote("")
  23. cpp_quote("#pragma comment(lib,\"uuid.lib\")")
  24. cpp_quote("")
  25. cpp_quote("//--------------------------------------------------------------------------")
  26. cpp_quote("// IActiveIMM Private (internal) Interfaces.")
  27. cpp_quote("")
  28. import "oaidl.idl";
  29. #ifndef DO_NO_IMPORTS
  30. import "unknwn.idl";
  31. #endif
  32. //
  33. // ACTIVE IME specific defines below
  34. //
  35. #ifndef DO_NO_IMPORTS
  36. import "aimm12.idl";
  37. import "msctf.idl";
  38. #endif
  39. cpp_quote("#include <windows.h>")
  40. cpp_quote("")
  41. cpp_quote("#ifdef __cplusplus")
  42. cpp_quote("extern \"C\" {")
  43. cpp_quote("#endif /* __cplusplus */")
  44. cpp_quote("")
  45. //
  46. // flags for AssociateFocus
  47. //
  48. // set focus flag
  49. cpp_quote("#define AIMMP_AFF_SETFOCUS 0x00000001")
  50. //
  51. // set NULL dim so no Tip will run.
  52. //
  53. cpp_quote("#define AIMMP_AFF_SETNULLDIM 0x00000002")
  54. //
  55. // flags for SelectEx
  56. //
  57. cpp_quote("#define AIMMP_SE_SELECT 0x00000001")
  58. cpp_quote("#define AIMMP_SE_ISPRESENT 0x00000002")
  59. cpp_quote("#ifdef __cplusplus")
  60. cpp_quote("}")
  61. cpp_quote("#endif /* __cplusplus */")
  62. [
  63. local,
  64. object,
  65. uuid(08C03411-F96B-11d0-A475-00AA006BCC59),
  66. pointer_default(unique)
  67. ]
  68. interface IActiveIMMIME_Private : IUnknown
  69. {
  70. HRESULT AssociateContext([in] HWND hWnd, [in] HIMC hIME, [out] HIMC *phPrev);
  71. HRESULT ConfigureIMEA([in] HKL hKL, [in] HWND hWnd, [in] DWORD dwMode, [in] REGISTERWORDA *pData);
  72. HRESULT ConfigureIMEW([in] HKL hKL, [in] HWND hWnd, [in] DWORD dwMode, [in] REGISTERWORDW *pData);
  73. HRESULT CreateContext([out] HIMC *phIMC);
  74. HRESULT DestroyContext([in] HIMC hIME);
  75. HRESULT EnumRegisterWordA([in] HKL hKL, [in] LPSTR szReading, [in] DWORD dwStyle, [in] LPSTR szRegister, [in] LPVOID pData, [out] IEnumRegisterWordA **pEnum);
  76. HRESULT EnumRegisterWordW([in] HKL hKL, [in] LPWSTR szReading, [in] DWORD dwStyle, [in] LPWSTR szRegister, [in] LPVOID pData, [out] IEnumRegisterWordW **pEnum);
  77. HRESULT EscapeA([in] HKL hKL, [in] HIMC hIMC, [in] UINT uEscape, [in, out] LPVOID pData, [out] LRESULT *plResult);
  78. HRESULT EscapeW([in] HKL hKL, [in] HIMC hIMC, [in] UINT uEscape, [in, out] LPVOID pData, [out] LRESULT *plResult);
  79. HRESULT GetCandidateListA([in] HIMC hIMC, [in] DWORD dwIndex, [in] UINT uBufLen, [out] CANDIDATELIST *pCandList, [out] UINT *puCopied);
  80. HRESULT GetCandidateListW([in] HIMC hIMC, [in] DWORD dwIndex, [in] UINT uBufLen, [out] CANDIDATELIST *pCandList, [out] UINT *puCopied);
  81. HRESULT GetCandidateListCountA([in] HIMC hIMC, [out] DWORD *pdwListSize, [out] DWORD *pdwBufLen);
  82. HRESULT GetCandidateListCountW([in] HIMC hIMC, [out] DWORD *pdwListSize, [out] DWORD *pdwBufLen);
  83. HRESULT GetCandidateWindow([in] HIMC hIMC, [in] DWORD dwIndex, [out] CANDIDATEFORM *pCandidate);
  84. HRESULT GetCompositionFontA([in] HIMC hIMC, [out] LOGFONTA *plf);
  85. HRESULT GetCompositionFontW([in] HIMC hIMC, [out] LOGFONTW *plf);
  86. HRESULT GetCompositionStringA([in] HIMC hIMC, [in] DWORD dwIndex, [in] DWORD dwBufLen, [out] LONG *plCopied, [out] LPVOID pBuf);
  87. HRESULT GetCompositionStringW([in] HIMC hIMC, [in] DWORD dwIndex, [in] DWORD dwBufLen, [out] LONG *plCopied, [out] LPVOID pBuf);
  88. HRESULT GetCompositionWindow([in] HIMC hIMC, [out] COMPOSITIONFORM *pCompForm);
  89. HRESULT GetContext([in] HWND hWnd, [out] HIMC *phIMC);
  90. HRESULT GetConversionListA([in] HKL hKL, [in] HIMC hIMC, [in] LPSTR pSrc, [in] UINT uBufLen, [in] UINT uFlag, [out] CANDIDATELIST *pDst, [out] UINT *puCopied);
  91. HRESULT GetConversionListW([in] HKL hKL, [in] HIMC hIMC, [in] LPWSTR pSrc, [in] UINT uBufLen, [in] UINT uFlag, [out] CANDIDATELIST *pDst, [out] UINT *puCopied);
  92. HRESULT GetConversionStatus([in] HIMC hIMC, [out] DWORD *pfdwConversion, [out] DWORD *pfdwSentence);
  93. HRESULT GetDefaultIMEWnd([in] HWND hWnd, [out] HWND *phDefWnd);
  94. HRESULT GetDescriptionA([in] HKL hKL, [in] UINT uBufLen, [out] LPSTR szDescription, [out] UINT *puCopied);
  95. HRESULT GetDescriptionW([in] HKL hKL, [in] UINT uBufLen, [out] LPWSTR szDescription, [out] UINT *puCopied);
  96. HRESULT GetGuideLineA([in] HIMC hIMC, [in] DWORD dwIndex, [in] DWORD dwBufLen, [out] LPSTR pBuf, [out] DWORD *pdwResult);
  97. HRESULT GetGuideLineW([in] HIMC hIMC, [in] DWORD dwIndex, [in] DWORD dwBufLen, [out] LPWSTR pBuf, [out] DWORD *pdwResult);
  98. HRESULT GetIMEFileNameA([in] HKL hKL, [in] UINT uBufLen, [out] LPSTR szFileName, [out] UINT *puCopied);
  99. HRESULT GetIMEFileNameW([in] HKL hKL, [in] UINT uBufLen, [out] LPWSTR szFileName, [out] UINT *puCopied);
  100. HRESULT GetOpenStatus([in] HIMC hIMC);
  101. HRESULT GetProperty([in] HKL hKL, [in] DWORD fdwIndex, [out] DWORD *pdwProperty);
  102. HRESULT GetRegisterWordStyleA([in] HKL hKL, [in] UINT nItem, [out] STYLEBUFA *pStyleBuf, [out] UINT *puCopied);
  103. HRESULT GetRegisterWordStyleW([in] HKL hKL, [in] UINT nItem, [out] STYLEBUFW *pStyleBuf, [out] UINT *puCopied);
  104. HRESULT GetStatusWindowPos([in] HIMC hIMC, [out] POINT *pptPos);
  105. HRESULT GetVirtualKey([in] HWND hWnd, [out] UINT *puVirtualKey);
  106. HRESULT InstallIMEA([in] LPSTR szIMEFileName, [in] LPSTR szLayoutText, [out] HKL *phKL);
  107. HRESULT InstallIMEW([in] LPWSTR szIMEFileName, [in] LPWSTR szLayoutText, [out] HKL *phKL);
  108. HRESULT IsIME([in] HKL hKL);
  109. HRESULT IsUIMessageA([in] HWND hWndIME, [in] UINT msg, [in] WPARAM wParam, [in] LPARAM lParam);
  110. HRESULT IsUIMessageW([in] HWND hWndIME, [in] UINT msg, [in] WPARAM wParam, [in] LPARAM lParam);
  111. HRESULT NotifyIME([in] HIMC hIMC, [in] DWORD dwAction, [in] DWORD dwIndex, [in] DWORD dwValue);
  112. HRESULT RegisterWordA([in] HKL hKL, [in] LPSTR szReading, [in] DWORD dwStyle, [in] LPSTR szRegister);
  113. HRESULT RegisterWordW([in] HKL hKL, [in] LPWSTR szReading, [in] DWORD dwStyle, [in] LPWSTR szRegister);
  114. HRESULT ReleaseContext([in] HWND hWnd, [in] HIMC hIMC);
  115. HRESULT SetCandidateWindow([in] HIMC hIMC, [in] CANDIDATEFORM *pCandidate);
  116. HRESULT SetCompositionFontA([in] HIMC hIMC, [in] LOGFONTA *plf);
  117. HRESULT SetCompositionFontW([in] HIMC hIMC, [in] LOGFONTW *plf);
  118. HRESULT SetCompositionStringA([in] HIMC hIMC, [in] DWORD dwIndex, [in] LPVOID pComp, [in] DWORD dwCompLen, [in] LPVOID pRead, [in] DWORD dwReadLen);
  119. HRESULT SetCompositionStringW([in] HIMC hIMC, [in] DWORD dwIndex, [in] LPVOID pComp, [in] DWORD dwCompLen, [in] LPVOID pRead, [in] DWORD dwReadLen);
  120. HRESULT SetCompositionWindow([in] HIMC hIMC, [in] COMPOSITIONFORM *pCompForm);
  121. HRESULT SetConversionStatus([in] HIMC hIMC, [in] DWORD fdwConversion, [in] DWORD fdwSentence);
  122. HRESULT SetOpenStatus([in] HIMC hIMC, [in] BOOL fOpen);
  123. HRESULT SetStatusWindowPos([in] HIMC hIMC, [in] POINT *pptPos);
  124. HRESULT SimulateHotKey([in] HWND hWnd, [in] DWORD dwHotKeyID);
  125. HRESULT UnregisterWordA([in] HKL hKL, [in] LPSTR szReading, [in] DWORD dwStyle, [in] LPSTR szUnregister);
  126. HRESULT UnregisterWordW([in] HKL hKL, [in] LPWSTR szReading, [in] DWORD dwStyle, [in] LPWSTR szUnregister);
  127. // ime helper methods
  128. HRESULT GenerateMessage([in] HIMC hIMC);
  129. // HIMC and HIMCC management api's
  130. HRESULT LockIMC([in] HIMC hIMC, [out] INPUTCONTEXT **ppIMC);
  131. HRESULT UnlockIMC([in] HIMC hIMC);
  132. HRESULT GetIMCLockCount([in] HIMC hIMC, [out] DWORD *pdwLockCount);
  133. HRESULT CreateIMCC([in] DWORD dwSize, [out] HIMCC *phIMCC);
  134. HRESULT DestroyIMCC([in] HIMCC hIMCC);
  135. HRESULT LockIMCC([in] HIMCC hIMCC, [out] void **ppv);
  136. HRESULT UnlockIMCC([in] HIMCC hIMCC);
  137. HRESULT ReSizeIMCC([in] HIMCC hIMCC, [in] DWORD dwSize, [out] HIMCC *phIMCC);
  138. HRESULT GetIMCCSize([in] HIMCC hIMCC, [out] DWORD *pdwSize);
  139. HRESULT GetIMCCLockCount([in] HIMCC hIMCC, [out] DWORD *pdwLockCount);
  140. // hot key manipulation api's
  141. HRESULT GetHotKey([in] DWORD dwHotKeyID, [out] UINT *puModifiers, [out] UINT *puVKey, [out] HKL *phKL);
  142. HRESULT SetHotKey([in] DWORD dwHotKeyID, [in] UINT uModifiers, [in] UINT uVKey, [in] HKL hKL);
  143. // win98/nt5 apis
  144. HRESULT AssociateContextEx([in] HWND hWnd, [in] HIMC hIMC, [in] DWORD dwFlags);
  145. HRESULT DisableIME([in] DWORD idThread);
  146. HRESULT GetImeMenuItemsA([in] HIMC hIMC, [in] DWORD dwFlags, [in] DWORD dwType, [in] IMEMENUITEMINFOA *pImeParentMenu, [out] IMEMENUITEMINFOA *pImeMenu, [in] DWORD dwSize, [out] DWORD *pdwResult);
  147. HRESULT GetImeMenuItemsW([in] HIMC hIMC, [in] DWORD dwFlags, [in] DWORD dwType, [in] IMEMENUITEMINFOW *pImeParentMenu, [out] IMEMENUITEMINFOW *pImeMenu, [in] DWORD dwSize, [out] DWORD *pdwResult);
  148. HRESULT EnumInputContext([in] DWORD idThread, [out] IEnumInputContext **ppEnum);
  149. HRESULT RequestMessageA([in] HIMC hIMC, [in] WPARAM wParam, [in] LPARAM lParam, [out] LRESULT *plResult);
  150. HRESULT RequestMessageW([in] HIMC hIMC, [in] WPARAM wParam, [in] LPARAM lParam, [out] LRESULT *plResult);
  151. HRESULT FilterClientWindowsEx([in] HWND hWnd, [in] BOOL fGuidMap);
  152. HRESULT FilterClientWindows([in] ATOM *aaClassList, [in] UINT uSize, [in] BOOL *aaGildMap);
  153. HRESULT GetGuidAtom([in] HIMC hImc, [in] BYTE bAttr, [out] TfGuidAtom *pGuidAtom);
  154. HRESULT UnfilterClientWindowsEx([in] HWND hWnd);
  155. HRESULT IsRealImePublic([out] BOOL *pfReal);
  156. };
  157. [
  158. local,
  159. object,
  160. uuid(5276cbe5-2130-4a60-bb76-8a5135448dec),
  161. pointer_default(unique)
  162. ]
  163. interface IActiveIME_Private : IUnknown
  164. {
  165. HRESULT ConnectIMM([in] IActiveIMMIME_Private *pActiveIMM);
  166. HRESULT UnconnectIMM();
  167. HRESULT Inquire([in] DWORD dwSystemInfoFlags, [out] IMEINFO *pIMEInfo, [out] LPWSTR szWndClass, [out] DWORD *pdwPrivate);
  168. HRESULT ConversionList([in] HIMC hIMC, [in] LPWSTR szSource, [in] UINT uFlag, [in] UINT uBufLen, [out] CANDIDATELIST *pDest, [out] UINT *puCopied);
  169. HRESULT Configure([in] HKL hKL, [in] HWND hWnd, [in] DWORD dwMode, [in] REGISTERWORDW *pRegisterWord);
  170. HRESULT Destroy([in] UINT uReserved);
  171. HRESULT Escape([in] HIMC hIMC, [in] UINT uEscape, [in, out] void *pData, [out] LRESULT *plResult);
  172. HRESULT ProcessKey([in] HIMC hIMC, [in] UINT uVirKey, [in] DWORD lParam, [in] BYTE *pbKeyState);
  173. HRESULT Notify([in] HIMC hIMC, [in] DWORD dwAction, [in] DWORD dwIndex, [in] DWORD dwValue);
  174. HRESULT SelectEx([in] HIMC hIMC, [in] DWORD dwFlags, [in] BOOL bIsRealIme_SelKL, [in] BOOL bIsRealIme_UnSelKL);
  175. HRESULT UnSelectCheck([in] HIMC hIMC);
  176. HRESULT SetCompositionString([in] HIMC hIMC, [in] DWORD dwIndex, [in] void *pComp, [in] DWORD dwCompLen, [in] void *pRead, [in] DWORD dwReadLen);
  177. HRESULT ToAsciiEx([in] UINT uVirKey, [in] UINT uScanCode, [in] BYTE *pbKeyState, [in] UINT fuState, [in] HIMC hIMC, [out] DWORD *pdwTransBuf, [out] UINT *puSize);
  178. HRESULT RegisterWord([in] LPWSTR szReading, [in] DWORD dwStyle, [in] LPWSTR szString);
  179. HRESULT UnregisterWord([in] LPWSTR szReading, [in] DWORD dwStyle, [in] LPWSTR szString);
  180. HRESULT GetRegisterWordStyle([in] UINT nItem, [out] STYLEBUFW *pStyleBuf, [out] UINT *puBufSize);
  181. HRESULT EnumRegisterWord([in] LPWSTR szReading, [in] DWORD dwStyle, [in] LPWSTR szRegister, [in] LPVOID pData, [out] IEnumRegisterWordW **ppEnum);
  182. HRESULT GetCodePageA([out] UINT *uCodePage);
  183. HRESULT GetLangId([out] LANGID *plid);
  184. HRESULT AssociateFocus([in] HWND hwnd, [in] HIMC hIMC, [in] DWORD dwFlags);
  185. HRESULT SetThreadCompartmentValue([in] REFGUID rguid, [in] VARIANT *pvar);
  186. HRESULT GetThreadCompartmentValue([in] REFGUID rguid, [out] VARIANT *pvar);
  187. };
  188. cpp_quote("DEFINE_GUID (GUID_PROP_MSIMTF_READONLY, 0xa48fa74e, 0xf767, 0x44e4, 0xbf, 0xbc, 0x16, 0x9e, 0x8b, 0x38, 0xff, 0x58);")
  189. cpp_quote("DEFINE_GUID (GUID_PROP_MSIMTF_TRACKCOMPOSITION, 0xb2c7f219, 0x68fb, 0x47d8, 0x98, 0x81, 0xaa, 0x68, 0x1d, 0x09, 0x44, 0xf0);")
  190. cpp_quote("DEFINE_GUID (GUID_PROP_MSIMTF_PREPARE_RECONVERT, 0x7a5ef1a, 0x3de1, 0x432d, 0x91, 0xe3, 0x2b, 0xcd, 0xb9, 0x11, 0x1a, 0x71);")