1 //+-------------------------------------------------------------------------
4 // Copyright (C) Microsoft Corporation, 1992-2000.
8 // Contents: ActiveIMM interface definitions
11 //--------------------------------------------------------------------------
13 cpp_quote
("//=--------------------------------------------------------------------------=")
14 cpp_quote
("// dimm.h")
15 cpp_quote
("//=--------------------------------------------------------------------------=")
16 cpp_quote
("// (C) Copyright 1995-1998 Microsoft Corporation. All Rights Reserved.")
18 cpp_quote
("// THIS CODE AND INFORMATION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF")
19 cpp_quote
("// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO")
20 cpp_quote
("// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A")
21 cpp_quote
("// PARTICULAR PURPOSE.")
22 cpp_quote
("//=--------------------------------------------------------------------------=")
24 cpp_quote
("#pragma comment(lib,\"uuid.lib\")")
26 cpp_quote
("//--------------------------------------------------------------------------")
27 cpp_quote
("// IActiveIMM Interfaces.")
31 Disable a warning about lack of polymorphic type support for the following reasons
32 - the only reason to have library block in the file is to make midl accept coclass
33 statement and generate CLSID for CActiveIMM.
34 - the generated dimm_i.c has the clsid and that file is used to have clsid available
35 - the dimm.tlb is not used at all
36 - on top of it, there is no plans to port the app using dimm.idl to 64b platform.
39 * midl_pragma is unsupported in midl version 3.01 shipped with VC5.0.
40 * It is supported in midl version 5.01 shipped with VC6.0
41 * I could not produce message 2395. Is this needed? W.Briscoe 2001-08-14
44 midl_pragma warning
( disable
: 2395) // polymorphic types not supported in the TLB
52 uuid(4955DD30
-B159
-11d0
-8FCF
-00AA006BCC59
),
53 helpstring("ActiveIMM"),
59 importlib
("stdole2.tlb");
61 cpp_quote
("#include <imm.h>")
79 #define LF_FACESIZE
32
95 BYTE lfPitchAndFamily
;
96 CHAR lfFaceName
[LF_FACESIZE
];
111 BYTE lfClipPrecision
;
113 BYTE lfPitchAndFamily
;
114 WCHAR lfFaceName
[LF_FACESIZE
];
146 #define STYLE_DESCRIPTION_SIZE
32
151 CHAR szDescription
[STYLE_DESCRIPTION_SIZE
];
157 WCHAR szDescription
[STYLE_DESCRIPTION_SIZE
];
164 cpp_quote
("#if (WINVER < 0x040A)")
166 #define IMEMENUITEM_STRING_SIZE
80
175 HBITMAP hbmpUnchecked
;
177 CHAR szString
[IMEMENUITEM_STRING_SIZE
];
188 HBITMAP hbmpUnchecked
;
190 WCHAR szString
[IMEMENUITEM_STRING_SIZE
];
196 cpp_quote
("#ifndef _DDKIMM_H_")
202 POINT ptStatusWndPos
;
211 COMPOSITIONFORM cfCompForm
;
212 CANDIDATEFORM cfCandForm
[4];
225 DWORD dwPrivateDataSize
;
227 DWORD fdwConversionCaps
;
228 DWORD fdwSentenceCaps
;
238 uuid(08C03412
-F96B
-11d0
-A475
-00AA006BCC59
),
239 pointer_default(unique)
241 interface IEnumRegisterWordA
: IUnknown
243 HRESULT Clone
([out] IEnumRegisterWordA
**ppEnum
);
244 HRESULT Next
([in] ULONG ulCount
, [out] REGISTERWORDA
*rgRegisterWord
, [out] ULONG
*pcFetched
);
246 HRESULT Skip
([in] ULONG ulCount
);
251 uuid(4955DD31
-B159
-11d0
-8FCF
-00AA006BCC59
),
252 pointer_default(unique)
254 interface IEnumRegisterWordW
: IUnknown
256 HRESULT Clone
([out] IEnumRegisterWordW
**ppEnum
);
257 HRESULT Next
([in] ULONG ulCount
, [out] REGISTERWORDW
*rgRegisterWord
, [out] ULONG
*pcFetched
);
259 HRESULT Skip
([in] ULONG ulCount
);
265 uuid(09b5eab0
-f997
-11d1
-93d4
-0060b067b86e
),
266 pointer_default(unique)
268 interface IEnumInputContext
: IUnknown
270 HRESULT Clone
([out] IEnumInputContext
**ppEnum
);
271 HRESULT Next
([in] ULONG ulCount
, [out] HIMC
*rgInputContext
, [out] ULONG
*pcFetched
);
273 HRESULT Skip
([in] ULONG ulCount
);
279 uuid(b3458082
-bd00
-11d1
-939b
-0060b067b86e
),
280 pointer_default(unique)
282 interface IActiveIMMRegistrar
: IUnknown
284 HRESULT RegisterIME
([in] REFCLSID rclsid
, [in] LANGID lgid
, [in] LPCWSTR pszIconFile
, [in] LPCWSTR pszDesc
);
285 HRESULT UnregisterIME
([in] REFCLSID rclsid
);
290 uuid(b5cf2cfa
-8aeb
-11d1
-9364-0060b067b86e
),
291 pointer_default(unique)
293 interface IActiveIMMMessagePumpOwner
: IUnknown
297 HRESULT OnTranslateMessage
([in] const MSG
*pMsg
);
298 HRESULT Pause
([out] DWORD
*pdwCookie
);
299 HRESULT Resume
([in] DWORD dwCookie
);
304 uuid(08c0e040
-62d1
-11d1
-9326-0060b067b86e
),
305 pointer_default(unique)
307 interface IActiveIMMApp
: IUnknown
309 HRESULT AssociateContext
([in] HWND hWnd
, [in] HIMC hIME
, [out] HIMC
*phPrev
);
310 HRESULT ConfigureIMEA
([in] HKL hKL
, [in] HWND hWnd
, [in] DWORD dwMode
, [in] REGISTERWORDA
*pData
);
311 HRESULT ConfigureIMEW
([in] HKL hKL
, [in] HWND hWnd
, [in] DWORD dwMode
, [in] REGISTERWORDW
*pData
);
312 HRESULT CreateContext
([out] HIMC
*phIMC
);
313 HRESULT DestroyContext
([in] HIMC hIME
);
314 HRESULT EnumRegisterWordA
([in] HKL hKL
, [in] LPSTR szReading
, [in] DWORD dwStyle
, [in] LPSTR szRegister
, [in] LPVOID pData
, [out] IEnumRegisterWordA
**pEnum
);
315 HRESULT EnumRegisterWordW
([in] HKL hKL
, [in] LPWSTR szReading
, [in] DWORD dwStyle
, [in] LPWSTR szRegister
, [in] LPVOID pData
, [out] IEnumRegisterWordW
**pEnum
);
316 HRESULT EscapeA
([in] HKL hKL
, [in] HIMC hIMC
, [in] UINT uEscape
, [in, out] LPVOID pData
, [out] LRESULT
*plResult
);
317 HRESULT EscapeW
([in] HKL hKL
, [in] HIMC hIMC
, [in] UINT uEscape
, [in, out] LPVOID pData
, [out] LRESULT
*plResult
);
318 HRESULT GetCandidateListA
([in] HIMC hIMC
, [in] DWORD dwIndex
, [in] UINT uBufLen
, [out] CANDIDATELIST
*pCandList
, [out] UINT
*puCopied
);
319 HRESULT GetCandidateListW
([in] HIMC hIMC
, [in] DWORD dwIndex
, [in] UINT uBufLen
, [out] CANDIDATELIST
*pCandList
, [out] UINT
*puCopied
);
320 HRESULT GetCandidateListCountA
([in] HIMC hIMC
, [out] DWORD
*pdwListSize
, [out] DWORD
*pdwBufLen
);
321 HRESULT GetCandidateListCountW
([in] HIMC hIMC
, [out] DWORD
*pdwListSize
, [out] DWORD
*pdwBufLen
);
322 HRESULT GetCandidateWindow
([in] HIMC hIMC
, [in] DWORD dwIndex
, [out] CANDIDATEFORM
*pCandidate
);
323 HRESULT GetCompositionFontA
([in] HIMC hIMC
, [out] LOGFONTA
*plf
);
324 HRESULT GetCompositionFontW
([in] HIMC hIMC
, [out] LOGFONTW
*plf
);
325 HRESULT GetCompositionStringA
([in] HIMC hIMC
, [in] DWORD dwIndex
, [in] DWORD dwBufLen
, [out] LONG *plCopied
, [out] LPVOID pBuf
);
326 HRESULT GetCompositionStringW
([in] HIMC hIMC
, [in] DWORD dwIndex
, [in] DWORD dwBufLen
, [out] LONG *plCopied
, [out] LPVOID pBuf
);
327 HRESULT GetCompositionWindow
([in] HIMC hIMC
, [out] COMPOSITIONFORM
*pCompForm
);
328 HRESULT GetContext
([in] HWND hWnd
, [out] HIMC
*phIMC
);
329 HRESULT GetConversionListA
([in] HKL hKL
, [in] HIMC hIMC
, [in] LPSTR pSrc
, [in] UINT uBufLen
, [in] UINT uFlag
, [out] CANDIDATELIST
*pDst
, [out] UINT
*puCopied
);
330 HRESULT GetConversionListW
([in] HKL hKL
, [in] HIMC hIMC
, [in] LPWSTR pSrc
, [in] UINT uBufLen
, [in] UINT uFlag
, [out] CANDIDATELIST
*pDst
, [out] UINT
*puCopied
);
331 HRESULT GetConversionStatus
([in] HIMC hIMC
, [out] DWORD
*pfdwConversion
, [out] DWORD
*pfdwSentence
);
332 HRESULT GetDefaultIMEWnd
([in] HWND hWnd
, [out] HWND
*phDefWnd
);
333 HRESULT GetDescriptionA
([in] HKL hKL
, [in] UINT uBufLen
, [out] LPSTR szDescription
, [out] UINT
*puCopied
);
334 HRESULT GetDescriptionW
([in] HKL hKL
, [in] UINT uBufLen
, [out] LPWSTR szDescription
, [out] UINT
*puCopied
);
335 HRESULT GetGuideLineA
([in] HIMC hIMC
, [in] DWORD dwIndex
, [in] DWORD dwBufLen
, [out] LPSTR pBuf
, [out] DWORD
*pdwResult
);
336 HRESULT GetGuideLineW
([in] HIMC hIMC
, [in] DWORD dwIndex
, [in] DWORD dwBufLen
, [out] LPWSTR pBuf
, [out] DWORD
*pdwResult
);
337 HRESULT GetIMEFileNameA
([in] HKL hKL
, [in] UINT uBufLen
, [out] LPSTR szFileName
, [out] UINT
*puCopied
);
338 HRESULT GetIMEFileNameW
([in] HKL hKL
, [in] UINT uBufLen
, [out] LPWSTR szFileName
, [out] UINT
*puCopied
);
339 HRESULT GetOpenStatus
([in] HIMC hIMC
);
340 HRESULT GetProperty
([in] HKL hKL
, [in] DWORD fdwIndex
, [out] DWORD
*pdwProperty
);
341 HRESULT GetRegisterWordStyleA
([in] HKL hKL
, [in] UINT nItem
, [out] STYLEBUFA
*pStyleBuf
, [out] UINT
*puCopied
);
342 HRESULT GetRegisterWordStyleW
([in] HKL hKL
, [in] UINT nItem
, [out] STYLEBUFW
*pStyleBuf
, [out] UINT
*puCopied
);
343 HRESULT GetStatusWindowPos
([in] HIMC hIMC
, [out] POINT
*pptPos
);
344 HRESULT GetVirtualKey
([in] HWND hWnd
, [out] UINT
*puVirtualKey
);
345 HRESULT InstallIMEA
([in] LPSTR szIMEFileName
, [in] LPSTR szLayoutText
, [out] HKL
*phKL
);
346 HRESULT InstallIMEW
([in] LPWSTR szIMEFileName
, [in] LPWSTR szLayoutText
, [out] HKL
*phKL
);
347 HRESULT IsIME
([in] HKL hKL
);
348 HRESULT IsUIMessageA
([in] HWND hWndIME
, [in] UINT msg
, [in] WPARAM wParam
, [in] LPARAM lParam
);
349 HRESULT IsUIMessageW
([in] HWND hWndIME
, [in] UINT msg
, [in] WPARAM wParam
, [in] LPARAM lParam
);
350 HRESULT NotifyIME
([in] HIMC hIMC
, [in] DWORD dwAction
, [in] DWORD dwIndex
, [in] DWORD dwValue
);
351 HRESULT RegisterWordA
([in] HKL hKL
, [in] LPSTR szReading
, [in] DWORD dwStyle
, [in] LPSTR szRegister
);
352 HRESULT RegisterWordW
([in] HKL hKL
, [in] LPWSTR szReading
, [in] DWORD dwStyle
, [in] LPWSTR szRegister
);
353 HRESULT ReleaseContext
([in] HWND hWnd
, [in] HIMC hIMC
);
354 HRESULT SetCandidateWindow
([in] HIMC hIMC
, [in] CANDIDATEFORM
*pCandidate
);
355 HRESULT SetCompositionFontA
([in] HIMC hIMC
, [in] LOGFONTA
*plf
);
356 HRESULT SetCompositionFontW
([in] HIMC hIMC
, [in] LOGFONTW
*plf
);
357 HRESULT SetCompositionStringA
([in] HIMC hIMC
, [in] DWORD dwIndex
, [in] LPVOID pComp
, [in] DWORD dwCompLen
, [in] LPVOID pRead
, [in] DWORD dwReadLen
);
358 HRESULT SetCompositionStringW
([in] HIMC hIMC
, [in] DWORD dwIndex
, [in] LPVOID pComp
, [in] DWORD dwCompLen
, [in] LPVOID pRead
, [in] DWORD dwReadLen
);
359 HRESULT SetCompositionWindow
([in] HIMC hIMC
, [in] COMPOSITIONFORM
*pCompForm
);
360 HRESULT SetConversionStatus
([in] HIMC hIMC
, [in] DWORD fdwConversion
, [in] DWORD fdwSentence
);
361 HRESULT SetOpenStatus
([in] HIMC hIMC
, [in] BOOL fOpen
);
362 HRESULT SetStatusWindowPos
([in] HIMC hIMC
, [in] POINT
*pptPos
);
363 HRESULT SimulateHotKey
([in] HWND hWnd
, [in] DWORD dwHotKeyID
);
364 HRESULT UnregisterWordA
([in] HKL hKL
, [in] LPSTR szReading
, [in] DWORD dwStyle
, [in] LPSTR szUnregister
);
365 HRESULT UnregisterWordW
([in] HKL hKL
, [in] LPWSTR szReading
, [in] DWORD dwStyle
, [in] LPWSTR szUnregister
);
367 HRESULT Activate
([in] BOOL fRestoreLayout
);
368 HRESULT Deactivate
();
370 HRESULT OnDefWindowProc
([in] HWND hWnd
, [in] UINT Msg
, [in] WPARAM wParam
, [in] LPARAM lParam
, [out] LRESULT
*plResult
);
372 HRESULT FilterClientWindows
([in] ATOM
*aaClassList
, [in] UINT uSize
);
374 HRESULT GetCodePageA
([in] HKL hKL
, [out] UINT
*uCodePage
);
375 HRESULT GetLangId
([in] HKL hKL
, [out] LANGID
*plid
);
378 HRESULT AssociateContextEx
([in] HWND hWnd
, [in] HIMC hIMC
, [in] DWORD dwFlags
);
379 HRESULT DisableIME
([in] DWORD idThread
);
380 HRESULT GetImeMenuItemsA
([in] HIMC hIMC
, [in] DWORD dwFlags
, [in] DWORD dwType
, [in] IMEMENUITEMINFOA
*pImeParentMenu
, [out] IMEMENUITEMINFOA
*pImeMenu
, [in] DWORD dwSize
, [out] DWORD
*pdwResult
);
381 HRESULT GetImeMenuItemsW
([in] HIMC hIMC
, [in] DWORD dwFlags
, [in] DWORD dwType
, [in] IMEMENUITEMINFOW
*pImeParentMenu
, [out] IMEMENUITEMINFOW
*pImeMenu
, [in] DWORD dwSize
, [out] DWORD
*pdwResult
);
382 HRESULT EnumInputContext
([in] DWORD idThread
, [out] IEnumInputContext
**ppEnum
);
387 uuid(08C03411
-F96B
-11d0
-A475
-00AA006BCC59
),
388 pointer_default(unique)
390 interface IActiveIMMIME
: IUnknown
392 HRESULT AssociateContext
([in] HWND hWnd
, [in] HIMC hIME
, [out] HIMC
*phPrev
);
393 HRESULT ConfigureIMEA
([in] HKL hKL
, [in] HWND hWnd
, [in] DWORD dwMode
, [in] REGISTERWORDA
*pData
);
394 HRESULT ConfigureIMEW
([in] HKL hKL
, [in] HWND hWnd
, [in] DWORD dwMode
, [in] REGISTERWORDW
*pData
);
395 HRESULT CreateContext
([out] HIMC
*phIMC
);
396 HRESULT DestroyContext
([in] HIMC hIME
);
397 HRESULT EnumRegisterWordA
([in] HKL hKL
, [in] LPSTR szReading
, [in] DWORD dwStyle
, [in] LPSTR szRegister
, [in] LPVOID pData
, [out] IEnumRegisterWordA
**pEnum
);
398 HRESULT EnumRegisterWordW
([in] HKL hKL
, [in] LPWSTR szReading
, [in] DWORD dwStyle
, [in] LPWSTR szRegister
, [in] LPVOID pData
, [out] IEnumRegisterWordW
**pEnum
);
399 HRESULT EscapeA
([in] HKL hKL
, [in] HIMC hIMC
, [in] UINT uEscape
, [in, out] LPVOID pData
, [out] LRESULT
*plResult
);
400 HRESULT EscapeW
([in] HKL hKL
, [in] HIMC hIMC
, [in] UINT uEscape
, [in, out] LPVOID pData
, [out] LRESULT
*plResult
);
401 HRESULT GetCandidateListA
([in] HIMC hIMC
, [in] DWORD dwIndex
, [in] UINT uBufLen
, [out] CANDIDATELIST
*pCandList
, [out] UINT
*puCopied
);
402 HRESULT GetCandidateListW
([in] HIMC hIMC
, [in] DWORD dwIndex
, [in] UINT uBufLen
, [out] CANDIDATELIST
*pCandList
, [out] UINT
*puCopied
);
403 HRESULT GetCandidateListCountA
([in] HIMC hIMC
, [out] DWORD
*pdwListSize
, [out] DWORD
*pdwBufLen
);
404 HRESULT GetCandidateListCountW
([in] HIMC hIMC
, [out] DWORD
*pdwListSize
, [out] DWORD
*pdwBufLen
);
405 HRESULT GetCandidateWindow
([in] HIMC hIMC
, [in] DWORD dwIndex
, [out] CANDIDATEFORM
*pCandidate
);
406 HRESULT GetCompositionFontA
([in] HIMC hIMC
, [out] LOGFONTA
*plf
);
407 HRESULT GetCompositionFontW
([in] HIMC hIMC
, [out] LOGFONTW
*plf
);
408 HRESULT GetCompositionStringA
([in] HIMC hIMC
, [in] DWORD dwIndex
, [in] DWORD dwBufLen
, [out] LONG *plCopied
, [out] LPVOID pBuf
);
409 HRESULT GetCompositionStringW
([in] HIMC hIMC
, [in] DWORD dwIndex
, [in] DWORD dwBufLen
, [out] LONG *plCopied
, [out] LPVOID pBuf
);
410 HRESULT GetCompositionWindow
([in] HIMC hIMC
, [out] COMPOSITIONFORM
*pCompForm
);
411 HRESULT GetContext
([in] HWND hWnd
, [out] HIMC
*phIMC
);
412 HRESULT GetConversionListA
([in] HKL hKL
, [in] HIMC hIMC
, [in] LPSTR pSrc
, [in] UINT uBufLen
, [in] UINT uFlag
, [out] CANDIDATELIST
*pDst
, [out] UINT
*puCopied
);
413 HRESULT GetConversionListW
([in] HKL hKL
, [in] HIMC hIMC
, [in] LPWSTR pSrc
, [in] UINT uBufLen
, [in] UINT uFlag
, [out] CANDIDATELIST
*pDst
, [out] UINT
*puCopied
);
414 HRESULT GetConversionStatus
([in] HIMC hIMC
, [out] DWORD
*pfdwConversion
, [out] DWORD
*pfdwSentence
);
415 HRESULT GetDefaultIMEWnd
([in] HWND hWnd
, [out] HWND
*phDefWnd
);
416 HRESULT GetDescriptionA
([in] HKL hKL
, [in] UINT uBufLen
, [out] LPSTR szDescription
, [out] UINT
*puCopied
);
417 HRESULT GetDescriptionW
([in] HKL hKL
, [in] UINT uBufLen
, [out] LPWSTR szDescription
, [out] UINT
*puCopied
);
418 HRESULT GetGuideLineA
([in] HIMC hIMC
, [in] DWORD dwIndex
, [in] DWORD dwBufLen
, [out] LPSTR pBuf
, [out] DWORD
*pdwResult
);
419 HRESULT GetGuideLineW
([in] HIMC hIMC
, [in] DWORD dwIndex
, [in] DWORD dwBufLen
, [out] LPWSTR pBuf
, [out] DWORD
*pdwResult
);
420 HRESULT GetIMEFileNameA
([in] HKL hKL
, [in] UINT uBufLen
, [out] LPSTR szFileName
, [out] UINT
*puCopied
);
421 HRESULT GetIMEFileNameW
([in] HKL hKL
, [in] UINT uBufLen
, [out] LPWSTR szFileName
, [out] UINT
*puCopied
);
422 HRESULT GetOpenStatus
([in] HIMC hIMC
);
423 HRESULT GetProperty
([in] HKL hKL
, [in] DWORD fdwIndex
, [out] DWORD
*pdwProperty
);
424 HRESULT GetRegisterWordStyleA
([in] HKL hKL
, [in] UINT nItem
, [out] STYLEBUFA
*pStyleBuf
, [out] UINT
*puCopied
);
425 HRESULT GetRegisterWordStyleW
([in] HKL hKL
, [in] UINT nItem
, [out] STYLEBUFW
*pStyleBuf
, [out] UINT
*puCopied
);
426 HRESULT GetStatusWindowPos
([in] HIMC hIMC
, [out] POINT
*pptPos
);
427 HRESULT GetVirtualKey
([in] HWND hWnd
, [out] UINT
*puVirtualKey
);
428 HRESULT InstallIMEA
([in] LPSTR szIMEFileName
, [in] LPSTR szLayoutText
, [out] HKL
*phKL
);
429 HRESULT InstallIMEW
([in] LPWSTR szIMEFileName
, [in] LPWSTR szLayoutText
, [out] HKL
*phKL
);
430 HRESULT IsIME
([in] HKL hKL
);
431 HRESULT IsUIMessageA
([in] HWND hWndIME
, [in] UINT msg
, [in] WPARAM wParam
, [in] LPARAM lParam
);
432 HRESULT IsUIMessageW
([in] HWND hWndIME
, [in] UINT msg
, [in] WPARAM wParam
, [in] LPARAM lParam
);
433 HRESULT NotifyIME
([in] HIMC hIMC
, [in] DWORD dwAction
, [in] DWORD dwIndex
, [in] DWORD dwValue
);
434 HRESULT RegisterWordA
([in] HKL hKL
, [in] LPSTR szReading
, [in] DWORD dwStyle
, [in] LPSTR szRegister
);
435 HRESULT RegisterWordW
([in] HKL hKL
, [in] LPWSTR szReading
, [in] DWORD dwStyle
, [in] LPWSTR szRegister
);
436 HRESULT ReleaseContext
([in] HWND hWnd
, [in] HIMC hIMC
);
437 HRESULT SetCandidateWindow
([in] HIMC hIMC
, [in] CANDIDATEFORM
*pCandidate
);
438 HRESULT SetCompositionFontA
([in] HIMC hIMC
, [in] LOGFONTA
*plf
);
439 HRESULT SetCompositionFontW
([in] HIMC hIMC
, [in] LOGFONTW
*plf
);
440 HRESULT SetCompositionStringA
([in] HIMC hIMC
, [in] DWORD dwIndex
, [in] LPVOID pComp
, [in] DWORD dwCompLen
, [in] LPVOID pRead
, [in] DWORD dwReadLen
);
441 HRESULT SetCompositionStringW
([in] HIMC hIMC
, [in] DWORD dwIndex
, [in] LPVOID pComp
, [in] DWORD dwCompLen
, [in] LPVOID pRead
, [in] DWORD dwReadLen
);
442 HRESULT SetCompositionWindow
([in] HIMC hIMC
, [in] COMPOSITIONFORM
*pCompForm
);
443 HRESULT SetConversionStatus
([in] HIMC hIMC
, [in] DWORD fdwConversion
, [in] DWORD fdwSentence
);
444 HRESULT SetOpenStatus
([in] HIMC hIMC
, [in] BOOL fOpen
);
445 HRESULT SetStatusWindowPos
([in] HIMC hIMC
, [in] POINT
*pptPos
);
446 HRESULT SimulateHotKey
([in] HWND hWnd
, [in] DWORD dwHotKeyID
);
447 HRESULT UnregisterWordA
([in] HKL hKL
, [in] LPSTR szReading
, [in] DWORD dwStyle
, [in] LPSTR szUnregister
);
448 HRESULT UnregisterWordW
([in] HKL hKL
, [in] LPWSTR szReading
, [in] DWORD dwStyle
, [in] LPWSTR szUnregister
);
450 // ime helper methods
451 HRESULT GenerateMessage
([in] HIMC hIMC
);
453 // HIMC and HIMCC management api's
454 HRESULT LockIMC
([in] HIMC hIMC
, [out] INPUTCONTEXT
**ppIMC
);
455 HRESULT UnlockIMC
([in] HIMC hIMC
);
456 HRESULT GetIMCLockCount
([in] HIMC hIMC
, [out] DWORD
*pdwLockCount
);
457 HRESULT CreateIMCC
([in] DWORD dwSize
, [out] HIMCC
*phIMCC
);
458 HRESULT DestroyIMCC
([in] HIMCC hIMCC
);
459 HRESULT LockIMCC
([in] HIMCC hIMCC
, [out] void **ppv
);
460 HRESULT UnlockIMCC
([in] HIMCC hIMCC
);
461 HRESULT ReSizeIMCC
([in] HIMCC hIMCC
, [in] DWORD dwSize
, [out] HIMCC
*phIMCC
);
462 HRESULT GetIMCCSize
([in] HIMCC hIMCC
, [out] DWORD
*pdwSize
);
463 HRESULT GetIMCCLockCount
([in] HIMCC hIMCC
, [out] DWORD
*pdwLockCount
);
465 // hot key manipulation api's
466 HRESULT GetHotKey
([in] DWORD dwHotKeyID
, [out] UINT
*puModifiers
, [out] UINT
*puVKey
, [out] HKL
*phKL
);
467 HRESULT SetHotKey
([in] DWORD dwHotKeyID
, [in] UINT uModifiers
, [in] UINT uVKey
, [in] HKL hKL
);
469 // soft keyboard api's
470 HRESULT CreateSoftKeyboard
([in] UINT uType
, [in] HWND hOwner
, [in] int x
, [in] int y
, [out] HWND
*phSoftKbdWnd
);
471 HRESULT DestroySoftKeyboard
([in] HWND hSoftKbdWnd
);
472 HRESULT ShowSoftKeyboard
([in] HWND hSoftKbdWnd
, [in] int nCmdShow
);
474 HRESULT GetCodePageA
([in] HKL hKL
, [out] UINT
*uCodePage
);
475 HRESULT GetLangId
([in] HKL hKL
, [out] LANGID
*plid
);
477 HRESULT KeybdEvent
([in] LANGID lgidIME
, [in] BYTE bVk
, [in] BYTE bScan
, [in] DWORD dwFlags
, [in] DWORD dwExtraInfo
);
480 HRESULT UnlockModal
();
483 HRESULT AssociateContextEx
([in] HWND hWnd
, [in] HIMC hIMC
, [in] DWORD dwFlags
);
484 HRESULT DisableIME
([in] DWORD idThread
);
485 HRESULT GetImeMenuItemsA
([in] HIMC hIMC
, [in] DWORD dwFlags
, [in] DWORD dwType
, [in] IMEMENUITEMINFOA
*pImeParentMenu
, [out] IMEMENUITEMINFOA
*pImeMenu
, [in] DWORD dwSize
, [out] DWORD
*pdwResult
);
486 HRESULT GetImeMenuItemsW
([in] HIMC hIMC
, [in] DWORD dwFlags
, [in] DWORD dwType
, [in] IMEMENUITEMINFOW
*pImeParentMenu
, [out] IMEMENUITEMINFOW
*pImeMenu
, [in] DWORD dwSize
, [out] DWORD
*pdwResult
);
487 HRESULT EnumInputContext
([in] DWORD idThread
, [out] IEnumInputContext
**ppEnum
);
488 HRESULT RequestMessageA
([in] HIMC hIMC
, [in] WPARAM wParam
, [in] LPARAM lParam
, [out] LRESULT
*plResult
);
489 HRESULT RequestMessageW
([in] HIMC hIMC
, [in] WPARAM wParam
, [in] LPARAM lParam
, [out] LRESULT
*plResult
);
491 HRESULT SendIMCA
([in] HWND hWnd
, [in] UINT uMsg
, [in] WPARAM wParam
, [in] LPARAM lParam
, [out] LRESULT
*plResult
);
492 HRESULT SendIMCW
([in] HWND hWnd
, [in] UINT uMsg
, [in] WPARAM wParam
, [in] LPARAM lParam
, [out] LRESULT
*plResult
);
494 HRESULT IsSleeping
();
499 uuid(6FE20962
-D077
-11d0
-8FE7
-00AA006BCC59
),
500 pointer_default(unique)
502 interface IActiveIME
: IUnknown
504 HRESULT Inquire
([in] DWORD dwSystemInfoFlags
, [out] IMEINFO
*pIMEInfo
, [out] LPWSTR szWndClass
, [out] DWORD
*pdwPrivate
);
505 HRESULT ConversionList
([in] HIMC hIMC
, [in] LPWSTR szSource
, [in] UINT uFlag
, [in] UINT uBufLen
, [out] CANDIDATELIST
*pDest
, [out] UINT
*puCopied
);
506 HRESULT Configure
([in] HKL hKL
, [in] HWND hWnd
, [in] DWORD dwMode
, [in] REGISTERWORDW
*pRegisterWord
);
507 HRESULT Destroy
([in] UINT uReserved
);
508 HRESULT Escape
([in] HIMC hIMC
, [in] UINT uEscape
, [in, out] void *pData
, [out] LRESULT
*plResult
);
509 HRESULT SetActiveContext
([in] HIMC hIMC
, [in] BOOL fFlag
);
510 HRESULT ProcessKey
([in] HIMC hIMC
, [in] UINT uVirKey
, [in] DWORD lParam
, [in] BYTE *pbKeyState
);
511 HRESULT Notify
([in] HIMC hIMC
, [in] DWORD dwAction
, [in] DWORD dwIndex
, [in] DWORD dwValue
);
512 HRESULT Select
([in] HIMC hIMC
, [in] BOOL fSelect
);
513 HRESULT SetCompositionString
([in] HIMC hIMC
, [in] DWORD dwIndex
, [in] void *pComp
, [in] DWORD dwCompLen
, [in] void *pRead
, [in] DWORD dwReadLen
);
514 HRESULT ToAsciiEx
([in] UINT uVirKey
, [in] UINT uScanCode
, [in] BYTE *pbKeyState
, [in] UINT fuState
, [in] HIMC hIMC
, [out] DWORD
*pdwTransBuf
, [out] UINT
*puSize
);
515 HRESULT RegisterWord
([in] LPWSTR szReading
, [in] DWORD dwStyle
, [in] LPWSTR szString
);
516 HRESULT UnregisterWord
([in] LPWSTR szReading
, [in] DWORD dwStyle
, [in] LPWSTR szString
);
517 HRESULT GetRegisterWordStyle
([in] UINT nItem
, [out] STYLEBUFW
*pStyleBuf
, [out] UINT
*puBufSize
);
518 HRESULT EnumRegisterWord
([in] LPWSTR szReading
, [in] DWORD dwStyle
, [in] LPWSTR szRegister
, [in] LPVOID pData
, [out] IEnumRegisterWordW
**ppEnum
);
519 HRESULT GetCodePageA
([out] UINT
*uCodePage
);
520 HRESULT GetLangId
([out] LANGID
*plid
);
525 uuid(e1c4bf0e
-2d53
-11d2
-93e1
-0060b067b86e
),
526 pointer_default(unique)
528 interface IActiveIME2
: IActiveIME
531 HRESULT Unsleep
([in] BOOL fDead
);
535 uuid(4955DD33
-B159
-11d0
-8FCF
-00AA006BCC59
),
539 [default] interface IActiveIMMApp
;
540 interface IActiveIMMIME
;
541 interface IActiveIMMRegistrar
;
542 interface IActiveIMMMessagePumpOwner
;