1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* ***** BEGIN LICENSE BLOCK *****
3 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
5 * The contents of this file are subject to the Mozilla Public License Version
6 * 1.1 (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 * http://www.mozilla.org/MPL/
10 * Software distributed under the License is distributed on an "AS IS" basis,
11 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12 * for the specific language governing rights and limitations under the
15 * The Original Code is mozilla.org code.
17 * The Initial Developer of the Original Code is
18 * Netscape Communications Corporation.
19 * Portions created by the Initial Developer are Copyright (C) 1998
20 * the Initial Developer. All Rights Reserved.
24 * Alternatively, the contents of this file may be used under the terms of
25 * either the GNU General Public License Version 2 or later (the "GPL"), or
26 * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
27 * in which case the provisions of the GPL or the LGPL are applicable instead
28 * of those above. If you wish to allow use of your version of this file only
29 * under the terms of either the GPL or the LGPL, and not to allow others to
30 * use your version of this file under the terms of the MPL, indicate your
31 * decision by deleting the provisions above and replace them with the notice
32 * and other provisions required by the GPL or the LGPL. If you do not delete
33 * the provisions above, a recipient may use your version of this file under
34 * the terms of any one of the MPL, the GPL or the LGPL.
36 * ***** END LICENSE BLOCK ***** */
39 This file contains the interface definitation of the Active IMM.
40 Please do not change it since the interface have already been fixed.
43 #ifndef __AIMM_DEFINED__
44 #define __AIMM_DEFINED__
49 #if defined(__cplusplus) && !defined(CINTERFACE)
51 interface IEnumRegisterWordA
;
52 interface IEnumRegisterWordW
;
53 interface IEnumInputContext
;
54 struct NS_IMEMENUITEMINFOA
;
55 struct NS_IMEMENUITEMINFOW
;
58 IActiveIMMApp
: public IUnknown
61 virtual HRESULT STDMETHODCALLTYPE
AssociateContext(
64 /* [out] */ HIMC __RPC_FAR
*phPrev
) = 0;
66 virtual HRESULT STDMETHODCALLTYPE
ConfigureIMEA(
69 /* [in] */ DWORD dwMode
,
70 /* [in] */ REGISTERWORDA __RPC_FAR
*pData
) = 0;
72 virtual HRESULT STDMETHODCALLTYPE
ConfigureIMEW(
75 /* [in] */ DWORD dwMode
,
76 /* [in] */ REGISTERWORDW __RPC_FAR
*pData
) = 0;
78 virtual HRESULT STDMETHODCALLTYPE
CreateContext(
79 /* [out] */ HIMC __RPC_FAR
*phIMC
) = 0;
81 virtual HRESULT STDMETHODCALLTYPE
DestroyContext(
82 /* [in] */ HIMC hIME
) = 0;
84 virtual HRESULT STDMETHODCALLTYPE
EnumRegisterWordA(
86 /* [in] */ LPSTR szReading
,
87 /* [in] */ DWORD dwStyle
,
88 /* [in] */ LPSTR szRegister
,
89 /* [in] */ LPVOID pData
,
90 /* [out] */ IEnumRegisterWordA __RPC_FAR
*__RPC_FAR
*pEnum
) = 0;
92 virtual HRESULT STDMETHODCALLTYPE
EnumRegisterWordW(
94 /* [in] */ LPWSTR szReading
,
95 /* [in] */ DWORD dwStyle
,
96 /* [in] */ LPWSTR szRegister
,
97 /* [in] */ LPVOID pData
,
98 /* [out] */ IEnumRegisterWordW __RPC_FAR
*__RPC_FAR
*pEnum
) = 0;
100 virtual HRESULT STDMETHODCALLTYPE
EscapeA(
102 /* [in] */ HIMC hIMC
,
103 /* [in] */ UINT uEscape
,
104 /* [out][in] */ LPVOID pData
,
105 /* [out] */ LRESULT __RPC_FAR
*plResult
) = 0;
107 virtual HRESULT STDMETHODCALLTYPE
EscapeW(
109 /* [in] */ HIMC hIMC
,
110 /* [in] */ UINT uEscape
,
111 /* [out][in] */ LPVOID pData
,
112 /* [out] */ LRESULT __RPC_FAR
*plResult
) = 0;
114 virtual HRESULT STDMETHODCALLTYPE
GetCandidateListA(
115 /* [in] */ HIMC hIMC
,
116 /* [in] */ DWORD dwIndex
,
117 /* [in] */ UINT uBufLen
,
118 /* [out] */ CANDIDATELIST __RPC_FAR
*pCandList
,
119 /* [out] */ UINT __RPC_FAR
*puCopied
) = 0;
121 virtual HRESULT STDMETHODCALLTYPE
GetCandidateListW(
122 /* [in] */ HIMC hIMC
,
123 /* [in] */ DWORD dwIndex
,
124 /* [in] */ UINT uBufLen
,
125 /* [out] */ CANDIDATELIST __RPC_FAR
*pCandList
,
126 /* [out] */ UINT __RPC_FAR
*puCopied
) = 0;
128 virtual HRESULT STDMETHODCALLTYPE
GetCandidateListCountA(
129 /* [in] */ HIMC hIMC
,
130 /* [out] */ DWORD __RPC_FAR
*pdwListSize
,
131 /* [out] */ DWORD __RPC_FAR
*pdwBufLen
) = 0;
133 virtual HRESULT STDMETHODCALLTYPE
GetCandidateListCountW(
134 /* [in] */ HIMC hIMC
,
135 /* [out] */ DWORD __RPC_FAR
*pdwListSize
,
136 /* [out] */ DWORD __RPC_FAR
*pdwBufLen
) = 0;
138 virtual HRESULT STDMETHODCALLTYPE
GetCandidateWindow(
139 /* [in] */ HIMC hIMC
,
140 /* [in] */ DWORD dwIndex
,
141 /* [out] */ CANDIDATEFORM __RPC_FAR
*pCandidate
) = 0;
143 virtual HRESULT STDMETHODCALLTYPE
GetCompositionFontA(
144 /* [in] */ HIMC hIMC
,
145 /* [out] */ LOGFONTA __RPC_FAR
*plf
) = 0;
147 virtual HRESULT STDMETHODCALLTYPE
GetCompositionFontW(
148 /* [in] */ HIMC hIMC
,
149 /* [out] */ LOGFONTW __RPC_FAR
*plf
) = 0;
151 virtual HRESULT STDMETHODCALLTYPE
GetCompositionStringA(
152 /* [in] */ HIMC hIMC
,
153 /* [in] */ DWORD dwIndex
,
154 /* [in] */ DWORD dwBufLen
,
155 /* [out] */ LONG __RPC_FAR
*plCopied
,
156 /* [out] */ LPVOID pBuf
) = 0;
158 virtual HRESULT STDMETHODCALLTYPE
GetCompositionStringW(
159 /* [in] */ HIMC hIMC
,
160 /* [in] */ DWORD dwIndex
,
161 /* [in] */ DWORD dwBufLen
,
162 /* [out] */ LONG __RPC_FAR
*plCopied
,
163 /* [out] */ LPVOID pBuf
) = 0;
165 virtual HRESULT STDMETHODCALLTYPE
GetCompositionWindow(
166 /* [in] */ HIMC hIMC
,
167 /* [out] */ COMPOSITIONFORM __RPC_FAR
*pCompForm
) = 0;
169 virtual HRESULT STDMETHODCALLTYPE
GetContext(
170 /* [in] */ HWND hWnd
,
171 /* [out] */ HIMC __RPC_FAR
*phIMC
) = 0;
173 virtual HRESULT STDMETHODCALLTYPE
GetConversionListA(
175 /* [in] */ HIMC hIMC
,
176 /* [in] */ LPSTR pSrc
,
177 /* [in] */ UINT uBufLen
,
178 /* [in] */ UINT uFlag
,
179 /* [out] */ CANDIDATELIST __RPC_FAR
*pDst
,
180 /* [out] */ UINT __RPC_FAR
*puCopied
) = 0;
182 virtual HRESULT STDMETHODCALLTYPE
GetConversionListW(
184 /* [in] */ HIMC hIMC
,
185 /* [in] */ LPWSTR pSrc
,
186 /* [in] */ UINT uBufLen
,
187 /* [in] */ UINT uFlag
,
188 /* [out] */ CANDIDATELIST __RPC_FAR
*pDst
,
189 /* [out] */ UINT __RPC_FAR
*puCopied
) = 0;
191 virtual HRESULT STDMETHODCALLTYPE
GetConversionStatus(
192 /* [in] */ HIMC hIMC
,
193 /* [out] */ DWORD __RPC_FAR
*pfdwConversion
,
194 /* [out] */ DWORD __RPC_FAR
*pfdwSentence
) = 0;
196 virtual HRESULT STDMETHODCALLTYPE
GetDefaultIMEWnd(
197 /* [in] */ HWND hWnd
,
198 /* [out] */ HWND __RPC_FAR
*phDefWnd
) = 0;
200 virtual HRESULT STDMETHODCALLTYPE
GetDescriptionA(
202 /* [in] */ UINT uBufLen
,
203 /* [out] */ LPSTR szDescription
,
204 /* [out] */ UINT __RPC_FAR
*puCopied
) = 0;
206 virtual HRESULT STDMETHODCALLTYPE
GetDescriptionW(
208 /* [in] */ UINT uBufLen
,
209 /* [out] */ LPWSTR szDescription
,
210 /* [out] */ UINT __RPC_FAR
*puCopied
) = 0;
212 virtual HRESULT STDMETHODCALLTYPE
GetGuideLineA(
213 /* [in] */ HIMC hIMC
,
214 /* [in] */ DWORD dwIndex
,
215 /* [in] */ DWORD dwBufLen
,
216 /* [out] */ LPSTR pBuf
,
217 /* [out] */ DWORD __RPC_FAR
*pdwResult
) = 0;
219 virtual HRESULT STDMETHODCALLTYPE
GetGuideLineW(
220 /* [in] */ HIMC hIMC
,
221 /* [in] */ DWORD dwIndex
,
222 /* [in] */ DWORD dwBufLen
,
223 /* [out] */ LPWSTR pBuf
,
224 /* [out] */ DWORD __RPC_FAR
*pdwResult
) = 0;
226 virtual HRESULT STDMETHODCALLTYPE
GetIMEFileNameA(
228 /* [in] */ UINT uBufLen
,
229 /* [out] */ LPSTR szFileName
,
230 /* [out] */ UINT __RPC_FAR
*puCopied
) = 0;
232 virtual HRESULT STDMETHODCALLTYPE
GetIMEFileNameW(
234 /* [in] */ UINT uBufLen
,
235 /* [out] */ LPWSTR szFileName
,
236 /* [out] */ UINT __RPC_FAR
*puCopied
) = 0;
238 virtual HRESULT STDMETHODCALLTYPE
GetOpenStatus(
239 /* [in] */ HIMC hIMC
) = 0;
241 virtual HRESULT STDMETHODCALLTYPE
GetProperty(
243 /* [in] */ DWORD fdwIndex
,
244 /* [out] */ DWORD __RPC_FAR
*pdwProperty
) = 0;
246 virtual HRESULT STDMETHODCALLTYPE
GetRegisterWordStyleA(
248 /* [in] */ UINT nItem
,
249 /* [out] */ STYLEBUFA __RPC_FAR
*pStyleBuf
,
250 /* [out] */ UINT __RPC_FAR
*puCopied
) = 0;
252 virtual HRESULT STDMETHODCALLTYPE
GetRegisterWordStyleW(
254 /* [in] */ UINT nItem
,
255 /* [out] */ STYLEBUFW __RPC_FAR
*pStyleBuf
,
256 /* [out] */ UINT __RPC_FAR
*puCopied
) = 0;
258 virtual HRESULT STDMETHODCALLTYPE
GetStatusWindowPos(
259 /* [in] */ HIMC hIMC
,
260 /* [out] */ POINT __RPC_FAR
*pptPos
) = 0;
262 virtual HRESULT STDMETHODCALLTYPE
GetVirtualKey(
263 /* [in] */ HWND hWnd
,
264 /* [out] */ UINT __RPC_FAR
*puVirtualKey
) = 0;
266 virtual HRESULT STDMETHODCALLTYPE
InstallIMEA(
267 /* [in] */ LPSTR szIMEFileName
,
268 /* [in] */ LPSTR szLayoutText
,
269 /* [out] */ HKL __RPC_FAR
*phKL
) = 0;
271 virtual HRESULT STDMETHODCALLTYPE
InstallIMEW(
272 /* [in] */ LPWSTR szIMEFileName
,
273 /* [in] */ LPWSTR szLayoutText
,
274 /* [out] */ HKL __RPC_FAR
*phKL
) = 0;
276 virtual HRESULT STDMETHODCALLTYPE
IsIME(
277 /* [in] */ HKL hKL
) = 0;
279 virtual HRESULT STDMETHODCALLTYPE
IsUIMessageA(
280 /* [in] */ HWND hWndIME
,
282 /* [in] */ WPARAM wParam
,
283 /* [in] */ LPARAM lParam
) = 0;
285 virtual HRESULT STDMETHODCALLTYPE
IsUIMessageW(
286 /* [in] */ HWND hWndIME
,
288 /* [in] */ WPARAM wParam
,
289 /* [in] */ LPARAM lParam
) = 0;
291 virtual HRESULT STDMETHODCALLTYPE
NotifyIME(
292 /* [in] */ HIMC hIMC
,
293 /* [in] */ DWORD dwAction
,
294 /* [in] */ DWORD dwIndex
,
295 /* [in] */ DWORD dwValue
) = 0;
297 virtual HRESULT STDMETHODCALLTYPE
RegisterWordA(
299 /* [in] */ LPSTR szReading
,
300 /* [in] */ DWORD dwStyle
,
301 /* [in] */ LPSTR szRegister
) = 0;
303 virtual HRESULT STDMETHODCALLTYPE
RegisterWordW(
305 /* [in] */ LPWSTR szReading
,
306 /* [in] */ DWORD dwStyle
,
307 /* [in] */ LPWSTR szRegister
) = 0;
309 virtual HRESULT STDMETHODCALLTYPE
ReleaseContext(
310 /* [in] */ HWND hWnd
,
311 /* [in] */ HIMC hIMC
) = 0;
313 virtual HRESULT STDMETHODCALLTYPE
SetCandidateWindow(
314 /* [in] */ HIMC hIMC
,
315 /* [in] */ CANDIDATEFORM __RPC_FAR
*pCandidate
) = 0;
317 virtual HRESULT STDMETHODCALLTYPE
SetCompositionFontA(
318 /* [in] */ HIMC hIMC
,
319 /* [in] */ LOGFONTA __RPC_FAR
*plf
) = 0;
321 virtual HRESULT STDMETHODCALLTYPE
SetCompositionFontW(
322 /* [in] */ HIMC hIMC
,
323 /* [in] */ LOGFONTW __RPC_FAR
*plf
) = 0;
325 virtual HRESULT STDMETHODCALLTYPE
SetCompositionStringA(
326 /* [in] */ HIMC hIMC
,
327 /* [in] */ DWORD dwIndex
,
328 /* [in] */ LPVOID pComp
,
329 /* [in] */ DWORD dwCompLen
,
330 /* [in] */ LPVOID pRead
,
331 /* [in] */ DWORD dwReadLen
) = 0;
333 virtual HRESULT STDMETHODCALLTYPE
SetCompositionStringW(
334 /* [in] */ HIMC hIMC
,
335 /* [in] */ DWORD dwIndex
,
336 /* [in] */ LPVOID pComp
,
337 /* [in] */ DWORD dwCompLen
,
338 /* [in] */ LPVOID pRead
,
339 /* [in] */ DWORD dwReadLen
) = 0;
341 virtual HRESULT STDMETHODCALLTYPE
SetCompositionWindow(
342 /* [in] */ HIMC hIMC
,
343 /* [in] */ COMPOSITIONFORM __RPC_FAR
*pCompForm
) = 0;
345 virtual HRESULT STDMETHODCALLTYPE
SetConversionStatus(
346 /* [in] */ HIMC hIMC
,
347 /* [in] */ DWORD fdwConversion
,
348 /* [in] */ DWORD fdwSentence
) = 0;
350 virtual HRESULT STDMETHODCALLTYPE
SetOpenStatus(
351 /* [in] */ HIMC hIMC
,
352 /* [in] */ BOOL fOpen
) = 0;
354 virtual HRESULT STDMETHODCALLTYPE
SetStatusWindowPos(
355 /* [in] */ HIMC hIMC
,
356 /* [in] */ POINT __RPC_FAR
*pptPos
) = 0;
358 virtual HRESULT STDMETHODCALLTYPE
SimulateHotKey(
359 /* [in] */ HWND hWnd
,
360 /* [in] */ DWORD dwHotKeyID
) = 0;
362 virtual HRESULT STDMETHODCALLTYPE
UnregisterWordA(
364 /* [in] */ LPSTR szReading
,
365 /* [in] */ DWORD dwStyle
,
366 /* [in] */ LPSTR szUnregister
) = 0;
368 virtual HRESULT STDMETHODCALLTYPE
UnregisterWordW(
370 /* [in] */ LPWSTR szReading
,
371 /* [in] */ DWORD dwStyle
,
372 /* [in] */ LPWSTR szUnregister
) = 0;
374 virtual HRESULT STDMETHODCALLTYPE
Activate(
375 /* [in] */ BOOL fRestoreLayout
) = 0;
377 virtual HRESULT STDMETHODCALLTYPE
Deactivate( void) = 0;
379 virtual HRESULT STDMETHODCALLTYPE
OnDefWindowProc(
380 /* [in] */ HWND hWnd
,
382 /* [in] */ WPARAM wParam
,
383 /* [in] */ LPARAM lParam
,
384 /* [out] */ LRESULT __RPC_FAR
*plResult
) = 0;
386 virtual HRESULT STDMETHODCALLTYPE
FilterClientWindows(
387 /* [in] */ ATOM __RPC_FAR
*aaClassList
,
388 /* [in] */ UINT uSize
) = 0;
390 virtual HRESULT STDMETHODCALLTYPE
GetCodePageA(
392 /* [out] */ UINT __RPC_FAR
*uCodePage
) = 0;
394 virtual HRESULT STDMETHODCALLTYPE
GetLangId(
396 /* [out] */ LANGID __RPC_FAR
*plid
) = 0;
398 virtual HRESULT STDMETHODCALLTYPE
AssociateContextEx(
399 /* [in] */ HWND hWnd
,
400 /* [in] */ HIMC hIMC
,
401 /* [in] */ DWORD dwFlags
) = 0;
403 virtual HRESULT STDMETHODCALLTYPE
DisableIME(
404 /* [in] */ DWORD idThread
) = 0;
406 virtual HRESULT STDMETHODCALLTYPE
GetImeMenuItemsA(
407 /* [in] */ HIMC hIMC
,
408 /* [in] */ DWORD dwFlags
,
409 /* [in] */ DWORD dwType
,
410 /* [in] */ NS_IMEMENUITEMINFOA __RPC_FAR
*pImeParentMenu
,
411 /* [out] */ NS_IMEMENUITEMINFOA __RPC_FAR
*pImeMenu
,
412 /* [in] */ DWORD dwSize
,
413 /* [out] */ DWORD __RPC_FAR
*pdwResult
) = 0;
415 virtual HRESULT STDMETHODCALLTYPE
GetImeMenuItemsW(
416 /* [in] */ HIMC hIMC
,
417 /* [in] */ DWORD dwFlags
,
418 /* [in] */ DWORD dwType
,
419 /* [in] */ NS_IMEMENUITEMINFOW __RPC_FAR
*pImeParentMenu
,
420 /* [out] */ NS_IMEMENUITEMINFOW __RPC_FAR
*pImeMenu
,
421 /* [in] */ DWORD dwSize
,
422 /* [out] */ DWORD __RPC_FAR
*pdwResult
) = 0;
424 virtual HRESULT STDMETHODCALLTYPE
EnumInputContext(
425 /* [in] */ DWORD idThread
,
426 /* [out] */ IEnumInputContext __RPC_FAR
*__RPC_FAR
*ppEnum
) = 0;
431 IActiveIMMMessagePumpOwner
: public IUnknown
434 virtual HRESULT STDMETHODCALLTYPE
Start( void) = 0;
436 virtual HRESULT STDMETHODCALLTYPE
End( void) = 0;
438 virtual HRESULT STDMETHODCALLTYPE
OnTranslateMessage(
439 /* [in] */ const MSG __RPC_FAR
*pMsg
) = 0;
441 virtual HRESULT STDMETHODCALLTYPE
Pause(
442 /* [out] */ DWORD __RPC_FAR
*pdwCookie
) = 0;
444 virtual HRESULT STDMETHODCALLTYPE
Resume(
445 /* [in] */ DWORD dwCookie
) = 0;
450 #endif /* C style interface */
452 #endif /* __AIMM_DEFINED__ */