2 * ActiveIMMApp Interface
4 * Copyright 2008 CodeWeavers, Aric Stewart
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
23 typedef struct tagActiveIMMApp
{
24 IActiveIMMApp IActiveIMMApp_iface
;
28 static inline ActiveIMMApp
*impl_from_IActiveIMMApp(IActiveIMMApp
*iface
)
30 return CONTAINING_RECORD(iface
, ActiveIMMApp
, IActiveIMMApp_iface
);
33 static void ActiveIMMApp_Destructor(ActiveIMMApp
* This
)
36 HeapFree(GetProcessHeap(),0,This
);
39 static HRESULT WINAPI
ActiveIMMApp_QueryInterface (IActiveIMMApp
* iface
,
40 REFIID iid
, LPVOID
*ppvOut
)
42 ActiveIMMApp
*This
= impl_from_IActiveIMMApp(iface
);
45 if (IsEqualIID(iid
, &IID_IUnknown
) || IsEqualIID(iid
, &IID_IActiveIMMApp
))
52 IUnknown_AddRef(iface
);
56 WARN("unsupported interface: %s\n", debugstr_guid(iid
));
60 static ULONG WINAPI
ActiveIMMApp_AddRef(IActiveIMMApp
* iface
)
62 ActiveIMMApp
*This
= impl_from_IActiveIMMApp(iface
);
63 return InterlockedIncrement(&This
->refCount
);
66 static ULONG WINAPI
ActiveIMMApp_Release(IActiveIMMApp
* iface
)
68 ActiveIMMApp
*This
= impl_from_IActiveIMMApp(iface
);
71 ret
= InterlockedDecrement(&This
->refCount
);
73 ActiveIMMApp_Destructor(This
);
77 static HRESULT WINAPI
ActiveIMMApp_AssociateContext(IActiveIMMApp
* iface
,
78 HWND hWnd
, HIMC hIME
, HIMC
*phPrev
)
80 *phPrev
= ImmAssociateContext(hWnd
,hIME
);
84 static HRESULT WINAPI
ActiveIMMApp_ConfigureIMEA(IActiveIMMApp
* This
,
85 HKL hKL
, HWND hwnd
, DWORD dwMode
, REGISTERWORDA
*pData
)
89 rc
= ImmConfigureIMEA(hKL
, hwnd
, dwMode
, pData
);
96 static HRESULT WINAPI
ActiveIMMApp_ConfigureIMEW(IActiveIMMApp
* This
,
97 HKL hKL
, HWND hWnd
, DWORD dwMode
, REGISTERWORDW
*pData
)
101 rc
= ImmConfigureIMEW(hKL
, hWnd
, dwMode
, pData
);
108 static HRESULT WINAPI
ActiveIMMApp_CreateContext(IActiveIMMApp
* This
,
111 *phIMC
= ImmCreateContext();
118 static HRESULT WINAPI
ActiveIMMApp_DestroyContext(IActiveIMMApp
* This
,
123 rc
= ImmDestroyContext(hIME
);
130 static HRESULT WINAPI
ActiveIMMApp_EnumRegisterWordA(IActiveIMMApp
* This
,
131 HKL hKL
, LPSTR szReading
, DWORD dwStyle
, LPSTR szRegister
,
132 LPVOID pData
, IEnumRegisterWordA
**pEnum
)
138 static HRESULT WINAPI
ActiveIMMApp_EnumRegisterWordW(IActiveIMMApp
* This
,
139 HKL hKL
, LPWSTR szReading
, DWORD dwStyle
, LPWSTR szRegister
,
140 LPVOID pData
, IEnumRegisterWordW
**pEnum
)
146 static HRESULT WINAPI
ActiveIMMApp_EscapeA(IActiveIMMApp
* This
,
147 HKL hKL
, HIMC hIMC
, UINT uEscape
, LPVOID pData
, LRESULT
*plResult
)
149 *plResult
= ImmEscapeA(hKL
, hIMC
, uEscape
, pData
);
153 static HRESULT WINAPI
ActiveIMMApp_EscapeW(IActiveIMMApp
* This
,
154 HKL hKL
, HIMC hIMC
, UINT uEscape
, LPVOID pData
, LRESULT
*plResult
)
156 *plResult
= ImmEscapeW(hKL
, hIMC
, uEscape
, pData
);
160 static HRESULT WINAPI
ActiveIMMApp_GetCandidateListA(IActiveIMMApp
* This
,
161 HIMC hIMC
, DWORD dwIndex
, UINT uBufLen
, CANDIDATELIST
*pCandList
,
164 *puCopied
= ImmGetCandidateListA(hIMC
, dwIndex
, pCandList
, uBufLen
);
168 static HRESULT WINAPI
ActiveIMMApp_GetCandidateListW(IActiveIMMApp
* This
,
169 HIMC hIMC
, DWORD dwIndex
, UINT uBufLen
, CANDIDATELIST
*pCandList
,
172 *puCopied
= ImmGetCandidateListW(hIMC
, dwIndex
, pCandList
, uBufLen
);
176 static HRESULT WINAPI
ActiveIMMApp_GetCandidateListCountA(IActiveIMMApp
* This
,
177 HIMC hIMC
, DWORD
*pdwListSize
, DWORD
*pdwBufLen
)
179 *pdwBufLen
= ImmGetCandidateListCountA(hIMC
, pdwListSize
);
183 static HRESULT WINAPI
ActiveIMMApp_GetCandidateListCountW(IActiveIMMApp
* This
,
184 HIMC hIMC
, DWORD
*pdwListSize
, DWORD
*pdwBufLen
)
186 *pdwBufLen
= ImmGetCandidateListCountA(hIMC
, pdwListSize
);
190 static HRESULT WINAPI
ActiveIMMApp_GetCandidateWindow(IActiveIMMApp
* This
,
191 HIMC hIMC
, DWORD dwIndex
, CANDIDATEFORM
*pCandidate
)
194 rc
= ImmGetCandidateWindow(hIMC
,dwIndex
,pCandidate
);
201 static HRESULT WINAPI
ActiveIMMApp_GetCompositionFontA(IActiveIMMApp
* This
,
202 HIMC hIMC
, LOGFONTA
*plf
)
205 rc
= ImmGetCompositionFontA(hIMC
,plf
);
212 static HRESULT WINAPI
ActiveIMMApp_GetCompositionFontW(IActiveIMMApp
* This
,
213 HIMC hIMC
, LOGFONTW
*plf
)
216 rc
= ImmGetCompositionFontW(hIMC
,plf
);
223 static HRESULT WINAPI
ActiveIMMApp_GetCompositionStringA(IActiveIMMApp
* This
,
224 HIMC hIMC
, DWORD dwIndex
, DWORD dwBufLen
, LONG
*plCopied
, LPVOID pBuf
)
226 *plCopied
= ImmGetCompositionStringA(hIMC
, dwIndex
, pBuf
, dwBufLen
);
230 static HRESULT WINAPI
ActiveIMMApp_GetCompositionStringW(IActiveIMMApp
* This
,
231 HIMC hIMC
, DWORD dwIndex
, DWORD dwBufLen
, LONG
*plCopied
, LPVOID pBuf
)
233 *plCopied
= ImmGetCompositionStringW(hIMC
, dwIndex
, pBuf
, dwBufLen
);
237 static HRESULT WINAPI
ActiveIMMApp_GetCompositionWindow(IActiveIMMApp
* This
,
238 HIMC hIMC
, COMPOSITIONFORM
*pCompForm
)
242 rc
= ImmGetCompositionWindow(hIMC
,pCompForm
);
250 static HRESULT WINAPI
ActiveIMMApp_GetContext(IActiveIMMApp
* This
,
251 HWND hwnd
, HIMC
*phIMC
)
253 *phIMC
= ImmGetContext(hwnd
);
257 static HRESULT WINAPI
ActiveIMMApp_GetConversionListA(IActiveIMMApp
* This
,
258 HKL hKL
, HIMC hIMC
, LPSTR pSrc
, UINT uBufLen
, UINT uFlag
,
259 CANDIDATELIST
*pDst
, UINT
*puCopied
)
261 *puCopied
= ImmGetConversionListA(hKL
, hIMC
, pSrc
, pDst
, uBufLen
, uFlag
);
265 static HRESULT WINAPI
ActiveIMMApp_GetConversionListW(IActiveIMMApp
* This
,
266 HKL hKL
, HIMC hIMC
, LPWSTR pSrc
, UINT uBufLen
, UINT uFlag
,
267 CANDIDATELIST
*pDst
, UINT
*puCopied
)
269 *puCopied
= ImmGetConversionListW(hKL
, hIMC
, pSrc
, pDst
, uBufLen
, uFlag
);
273 static HRESULT WINAPI
ActiveIMMApp_GetConversionStatus(IActiveIMMApp
* This
,
274 HIMC hIMC
, DWORD
*pfdwConversion
, DWORD
*pfdwSentence
)
278 rc
= ImmGetConversionStatus(hIMC
, pfdwConversion
, pfdwSentence
);
286 static HRESULT WINAPI
ActiveIMMApp_GetDefaultIMEWnd(IActiveIMMApp
* This
,
287 HWND hWnd
, HWND
*phDefWnd
)
289 *phDefWnd
= ImmGetDefaultIMEWnd(hWnd
);
293 static HRESULT WINAPI
ActiveIMMApp_GetDescriptionA(IActiveIMMApp
* This
,
294 HKL hKL
, UINT uBufLen
, LPSTR szDescription
, UINT
*puCopied
)
296 *puCopied
= ImmGetDescriptionA(hKL
, szDescription
, uBufLen
);
300 static HRESULT WINAPI
ActiveIMMApp_GetDescriptionW(IActiveIMMApp
* This
,
301 HKL hKL
, UINT uBufLen
, LPWSTR szDescription
, UINT
*puCopied
)
303 *puCopied
= ImmGetDescriptionW(hKL
, szDescription
, uBufLen
);
307 static HRESULT WINAPI
ActiveIMMApp_GetGuideLineA(IActiveIMMApp
* This
,
308 HIMC hIMC
, DWORD dwIndex
, DWORD dwBufLen
, LPSTR pBuf
,
311 *pdwResult
= ImmGetGuideLineA(hIMC
, dwIndex
, pBuf
, dwBufLen
);
315 static HRESULT WINAPI
ActiveIMMApp_GetGuideLineW(IActiveIMMApp
* This
,
316 HIMC hIMC
, DWORD dwIndex
, DWORD dwBufLen
, LPWSTR pBuf
,
319 *pdwResult
= ImmGetGuideLineW(hIMC
, dwIndex
, pBuf
, dwBufLen
);
323 static HRESULT WINAPI
ActiveIMMApp_GetIMEFileNameA(IActiveIMMApp
* This
,
324 HKL hKL
, UINT uBufLen
, LPSTR szFileName
, UINT
*puCopied
)
326 *puCopied
= ImmGetIMEFileNameA(hKL
, szFileName
, uBufLen
);
330 static HRESULT WINAPI
ActiveIMMApp_GetIMEFileNameW(IActiveIMMApp
* This
,
331 HKL hKL
, UINT uBufLen
, LPWSTR szFileName
, UINT
*puCopied
)
333 *puCopied
= ImmGetIMEFileNameW(hKL
, szFileName
, uBufLen
);
337 static HRESULT WINAPI
ActiveIMMApp_GetOpenStatus(IActiveIMMApp
* This
,
340 return ImmGetOpenStatus(hIMC
);
343 static HRESULT WINAPI
ActiveIMMApp_GetProperty(IActiveIMMApp
* This
,
344 HKL hKL
, DWORD fdwIndex
, DWORD
*pdwProperty
)
346 *pdwProperty
= ImmGetProperty(hKL
, fdwIndex
);
350 static HRESULT WINAPI
ActiveIMMApp_GetRegisterWordStyleA(IActiveIMMApp
* This
,
351 HKL hKL
, UINT nItem
, STYLEBUFA
*pStyleBuf
, UINT
*puCopied
)
353 *puCopied
= ImmGetRegisterWordStyleA(hKL
, nItem
, pStyleBuf
);
357 static HRESULT WINAPI
ActiveIMMApp_GetRegisterWordStyleW(IActiveIMMApp
* This
,
358 HKL hKL
, UINT nItem
, STYLEBUFW
*pStyleBuf
, UINT
*puCopied
)
360 *puCopied
= ImmGetRegisterWordStyleW(hKL
, nItem
, pStyleBuf
);
364 static HRESULT WINAPI
ActiveIMMApp_GetStatusWindowPos(IActiveIMMApp
* This
,
365 HIMC hIMC
, POINT
*pptPos
)
368 rc
= ImmGetStatusWindowPos(hIMC
, pptPos
);
376 static HRESULT WINAPI
ActiveIMMApp_GetVirtualKey(IActiveIMMApp
* This
,
377 HWND hWnd
, UINT
*puVirtualKey
)
379 *puVirtualKey
= ImmGetVirtualKey(hWnd
);
383 static HRESULT WINAPI
ActiveIMMApp_InstallIMEA(IActiveIMMApp
* This
,
384 LPSTR szIMEFileName
, LPSTR szLayoutText
, HKL
*phKL
)
386 *phKL
= ImmInstallIMEA(szIMEFileName
,szLayoutText
);
390 static HRESULT WINAPI
ActiveIMMApp_InstallIMEW(IActiveIMMApp
* This
,
391 LPWSTR szIMEFileName
, LPWSTR szLayoutText
, HKL
*phKL
)
393 *phKL
= ImmInstallIMEW(szIMEFileName
,szLayoutText
);
397 static HRESULT WINAPI
ActiveIMMApp_IsIME(IActiveIMMApp
* This
,
400 return ImmIsIME(hKL
);
403 static HRESULT WINAPI
ActiveIMMApp_IsUIMessageA(IActiveIMMApp
* This
,
404 HWND hWndIME
, UINT msg
, WPARAM wParam
, LPARAM lParam
)
406 return ImmIsUIMessageA(hWndIME
,msg
,wParam
,lParam
);
409 static HRESULT WINAPI
ActiveIMMApp_IsUIMessageW(IActiveIMMApp
* This
,
410 HWND hWndIME
, UINT msg
, WPARAM wParam
, LPARAM lParam
)
412 return ImmIsUIMessageW(hWndIME
,msg
,wParam
,lParam
);
415 static HRESULT WINAPI
ActiveIMMApp_NotifyIME(IActiveIMMApp
* This
,
416 HIMC hIMC
, DWORD dwAction
, DWORD dwIndex
, DWORD dwValue
)
420 rc
= ImmNotifyIME(hIMC
,dwAction
,dwIndex
,dwValue
);
428 static HRESULT WINAPI
ActiveIMMApp_RegisterWordA(IActiveIMMApp
* This
,
429 HKL hKL
, LPSTR szReading
, DWORD dwStyle
, LPSTR szRegister
)
433 rc
= ImmRegisterWordA(hKL
,szReading
,dwStyle
,szRegister
);
441 static HRESULT WINAPI
ActiveIMMApp_RegisterWordW(IActiveIMMApp
* This
,
442 HKL hKL
, LPWSTR szReading
, DWORD dwStyle
, LPWSTR szRegister
)
446 rc
= ImmRegisterWordW(hKL
,szReading
,dwStyle
,szRegister
);
454 static HRESULT WINAPI
ActiveIMMApp_ReleaseContext(IActiveIMMApp
* This
,
455 HWND hWnd
, HIMC hIMC
)
459 rc
= ImmReleaseContext(hWnd
,hIMC
);
467 static HRESULT WINAPI
ActiveIMMApp_SetCandidateWindow(IActiveIMMApp
* This
,
468 HIMC hIMC
, CANDIDATEFORM
*pCandidate
)
472 rc
= ImmSetCandidateWindow(hIMC
,pCandidate
);
480 static HRESULT WINAPI
ActiveIMMApp_SetCompositionFontA(IActiveIMMApp
* This
,
481 HIMC hIMC
, LOGFONTA
*plf
)
485 rc
= ImmSetCompositionFontA(hIMC
,plf
);
493 static HRESULT WINAPI
ActiveIMMApp_SetCompositionFontW(IActiveIMMApp
* This
,
494 HIMC hIMC
, LOGFONTW
*plf
)
498 rc
= ImmSetCompositionFontW(hIMC
,plf
);
506 static HRESULT WINAPI
ActiveIMMApp_SetCompositionStringA(IActiveIMMApp
* This
,
507 HIMC hIMC
, DWORD dwIndex
, LPVOID pComp
, DWORD dwCompLen
,
508 LPVOID pRead
, DWORD dwReadLen
)
512 rc
= ImmSetCompositionStringA(hIMC
,dwIndex
,pComp
,dwCompLen
,pRead
,dwReadLen
);
520 static HRESULT WINAPI
ActiveIMMApp_SetCompositionStringW(IActiveIMMApp
* This
,
521 HIMC hIMC
, DWORD dwIndex
, LPVOID pComp
, DWORD dwCompLen
,
522 LPVOID pRead
, DWORD dwReadLen
)
526 rc
= ImmSetCompositionStringW(hIMC
,dwIndex
,pComp
,dwCompLen
,pRead
,dwReadLen
);
534 static HRESULT WINAPI
ActiveIMMApp_SetCompositionWindow(IActiveIMMApp
* This
,
535 HIMC hIMC
, COMPOSITIONFORM
*pCompForm
)
539 rc
= ImmSetCompositionWindow(hIMC
,pCompForm
);
547 static HRESULT WINAPI
ActiveIMMApp_SetConversionStatus(IActiveIMMApp
* This
,
548 HIMC hIMC
, DWORD fdwConversion
, DWORD fdwSentence
)
552 rc
= ImmSetConversionStatus(hIMC
,fdwConversion
,fdwSentence
);
560 static HRESULT WINAPI
ActiveIMMApp_SetOpenStatus(IActiveIMMApp
* This
,
561 HIMC hIMC
, BOOL fOpen
)
565 rc
= ImmSetOpenStatus(hIMC
,fOpen
);
573 static HRESULT WINAPI
ActiveIMMApp_SetStatusWindowPos(IActiveIMMApp
* This
,
574 HIMC hIMC
, POINT
*pptPos
)
578 rc
= ImmSetStatusWindowPos(hIMC
,pptPos
);
586 static HRESULT WINAPI
ActiveIMMApp_SimulateHotKey(IActiveIMMApp
* This
,
587 HWND hwnd
, DWORD dwHotKeyID
)
591 rc
= ImmSimulateHotKey(hwnd
,dwHotKeyID
);
599 static HRESULT WINAPI
ActiveIMMApp_UnregisterWordA(IActiveIMMApp
* This
,
600 HKL hKL
, LPSTR szReading
, DWORD dwStyle
, LPSTR szUnregister
)
604 rc
= ImmUnregisterWordA(hKL
,szReading
,dwStyle
,szUnregister
);
613 static HRESULT WINAPI
ActiveIMMApp_UnregisterWordW(IActiveIMMApp
* This
,
614 HKL hKL
, LPWSTR szReading
, DWORD dwStyle
, LPWSTR szUnregister
)
618 rc
= ImmUnregisterWordW(hKL
,szReading
,dwStyle
,szUnregister
);
626 static HRESULT WINAPI
ActiveIMMApp_Activate(IActiveIMMApp
* This
,
633 static HRESULT WINAPI
ActiveIMMApp_Deactivate(IActiveIMMApp
* This
)
639 static HRESULT WINAPI
ActiveIMMApp_OnDefWindowProc(IActiveIMMApp
* This
,
640 HWND hWnd
, UINT Msg
, WPARAM wParam
, LPARAM lParam
, LRESULT
*plResult
)
642 //FIXME("Stub (%p %x %lx %lx)\n",hWnd,Msg,wParam,lParam);
646 static HRESULT WINAPI
ActiveIMMApp_FilterClientWindows(IActiveIMMApp
* This
,
647 ATOM
*aaClassList
, UINT uSize
)
653 static HRESULT WINAPI
ActiveIMMApp_GetCodePageA(IActiveIMMApp
* This
,
654 HKL hKL
, UINT
*uCodePage
)
660 static HRESULT WINAPI
ActiveIMMApp_GetLangId(IActiveIMMApp
* This
,
661 HKL hKL
, LANGID
*plid
)
667 static HRESULT WINAPI
ActiveIMMApp_AssociateContextEx(IActiveIMMApp
* This
,
668 HWND hWnd
, HIMC hIMC
, DWORD dwFlags
)
672 rc
= ImmAssociateContextEx(hWnd
,hIMC
,dwFlags
);
680 static HRESULT WINAPI
ActiveIMMApp_DisableIME(IActiveIMMApp
* This
,
685 rc
= ImmDisableIME(idThread
);
693 static HRESULT WINAPI
ActiveIMMApp_GetImeMenuItemsA(IActiveIMMApp
* This
,
694 HIMC hIMC
, DWORD dwFlags
, DWORD dwType
,
695 IMEMENUITEMINFOA
*pImeParentMenu
, IMEMENUITEMINFOA
*pImeMenu
,
696 DWORD dwSize
, DWORD
*pdwResult
)
698 *pdwResult
= ImmGetImeMenuItemsA(hIMC
,dwFlags
,dwType
,pImeParentMenu
,pImeMenu
,dwSize
);
702 static HRESULT WINAPI
ActiveIMMApp_GetImeMenuItemsW(IActiveIMMApp
* This
,
703 HIMC hIMC
, DWORD dwFlags
, DWORD dwType
,
704 IMEMENUITEMINFOW
*pImeParentMenu
, IMEMENUITEMINFOW
*pImeMenu
,
705 DWORD dwSize
, DWORD
*pdwResult
)
707 *pdwResult
= ImmGetImeMenuItemsW(hIMC
,dwFlags
,dwType
,pImeParentMenu
,pImeMenu
,dwSize
);
711 static HRESULT WINAPI
ActiveIMMApp_EnumInputContext(IActiveIMMApp
* This
,
712 DWORD idThread
, IEnumInputContext
**ppEnum
)
718 static const IActiveIMMAppVtbl ActiveIMMAppVtbl
=
720 ActiveIMMApp_QueryInterface
,
722 ActiveIMMApp_Release
,
724 ActiveIMMApp_AssociateContext
,
725 ActiveIMMApp_ConfigureIMEA
,
726 ActiveIMMApp_ConfigureIMEW
,
727 ActiveIMMApp_CreateContext
,
728 ActiveIMMApp_DestroyContext
,
729 ActiveIMMApp_EnumRegisterWordA
,
730 ActiveIMMApp_EnumRegisterWordW
,
731 ActiveIMMApp_EscapeA
,
732 ActiveIMMApp_EscapeW
,
733 ActiveIMMApp_GetCandidateListA
,
734 ActiveIMMApp_GetCandidateListW
,
735 ActiveIMMApp_GetCandidateListCountA
,
736 ActiveIMMApp_GetCandidateListCountW
,
737 ActiveIMMApp_GetCandidateWindow
,
738 ActiveIMMApp_GetCompositionFontA
,
739 ActiveIMMApp_GetCompositionFontW
,
740 ActiveIMMApp_GetCompositionStringA
,
741 ActiveIMMApp_GetCompositionStringW
,
742 ActiveIMMApp_GetCompositionWindow
,
743 ActiveIMMApp_GetContext
,
744 ActiveIMMApp_GetConversionListA
,
745 ActiveIMMApp_GetConversionListW
,
746 ActiveIMMApp_GetConversionStatus
,
747 ActiveIMMApp_GetDefaultIMEWnd
,
748 ActiveIMMApp_GetDescriptionA
,
749 ActiveIMMApp_GetDescriptionW
,
750 ActiveIMMApp_GetGuideLineA
,
751 ActiveIMMApp_GetGuideLineW
,
752 ActiveIMMApp_GetIMEFileNameA
,
753 ActiveIMMApp_GetIMEFileNameW
,
754 ActiveIMMApp_GetOpenStatus
,
755 ActiveIMMApp_GetProperty
,
756 ActiveIMMApp_GetRegisterWordStyleA
,
757 ActiveIMMApp_GetRegisterWordStyleW
,
758 ActiveIMMApp_GetStatusWindowPos
,
759 ActiveIMMApp_GetVirtualKey
,
760 ActiveIMMApp_InstallIMEA
,
761 ActiveIMMApp_InstallIMEW
,
763 ActiveIMMApp_IsUIMessageA
,
764 ActiveIMMApp_IsUIMessageW
,
765 ActiveIMMApp_NotifyIME
,
766 ActiveIMMApp_RegisterWordA
,
767 ActiveIMMApp_RegisterWordW
,
768 ActiveIMMApp_ReleaseContext
,
769 ActiveIMMApp_SetCandidateWindow
,
770 ActiveIMMApp_SetCompositionFontA
,
771 ActiveIMMApp_SetCompositionFontW
,
772 ActiveIMMApp_SetCompositionStringA
,
773 ActiveIMMApp_SetCompositionStringW
,
774 ActiveIMMApp_SetCompositionWindow
,
775 ActiveIMMApp_SetConversionStatus
,
776 ActiveIMMApp_SetOpenStatus
,
777 ActiveIMMApp_SetStatusWindowPos
,
778 ActiveIMMApp_SimulateHotKey
,
779 ActiveIMMApp_UnregisterWordA
,
780 ActiveIMMApp_UnregisterWordW
,
782 ActiveIMMApp_Activate
,
783 ActiveIMMApp_Deactivate
,
784 ActiveIMMApp_OnDefWindowProc
,
785 ActiveIMMApp_FilterClientWindows
,
786 ActiveIMMApp_GetCodePageA
,
787 ActiveIMMApp_GetLangId
,
788 ActiveIMMApp_AssociateContextEx
,
789 ActiveIMMApp_DisableIME
,
790 ActiveIMMApp_GetImeMenuItemsA
,
791 ActiveIMMApp_GetImeMenuItemsW
,
792 ActiveIMMApp_EnumInputContext
795 DECLSPEC_HIDDEN HRESULT
ActiveIMMApp_Constructor(IUnknown
*pUnkOuter
, IUnknown
**ppOut
)
799 return CLASS_E_NOAGGREGATION
;
801 This
= HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY
,sizeof(ActiveIMMApp
));
803 return E_OUTOFMEMORY
;
805 This
->IActiveIMMApp_iface
.lpVtbl
= &ActiveIMMAppVtbl
;
808 TRACE("returning %p\n",This
);
809 *ppOut
= (IUnknown
*)This
;