| //+------------------------------------------------------------------------- |
| // |
| // Microsoft Windows |
| // Copyright (C) Microsoft Corporation, 1992-2000. |
| // |
| // File: dimm.idl |
| // |
| // Contents: ActiveIMM interface definitions |
| // |
| // |
| //-------------------------------------------------------------------------- |
| |
| cpp_quote("//=--------------------------------------------------------------------------=") |
| cpp_quote("// dimm.h") |
| cpp_quote("//=--------------------------------------------------------------------------=") |
| cpp_quote("// (C) Copyright 1995-1998 Microsoft Corporation. All Rights Reserved.") |
| cpp_quote("//") |
| cpp_quote("// THIS CODE AND INFORMATION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF") |
| cpp_quote("// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO") |
| cpp_quote("// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A") |
| cpp_quote("// PARTICULAR PURPOSE.") |
| cpp_quote("//=--------------------------------------------------------------------------=") |
| cpp_quote("") |
| cpp_quote("#pragma comment(lib,\"uuid.lib\")") |
| cpp_quote("") |
| cpp_quote("//--------------------------------------------------------------------------") |
| cpp_quote("// IActiveIMM Interfaces.") |
| cpp_quote("") |
| |
| /* |
| Disable a warning about lack of polymorphic type support for the following reasons |
| - the only reason to have library block in the file is to make midl accept coclass |
| statement and generate CLSID for CActiveIMM. |
| - the generated dimm_i.c has the clsid and that file is used to have clsid available |
| - the dimm.tlb is not used at all |
| - on top of it, there is no plans to port the app using dimm.idl to 64b platform. |
| */ |
| /* |
| * midl_pragma is unsupported in midl version 3.01 shipped with VC5.0. |
| * It is supported in midl version 5.01 shipped with VC6.0 |
| * I could not produce message 2395. Is this needed? W.Briscoe 2001-08-14 |
| */ |
| #if (__midl >= 501) |
| midl_pragma warning( disable: 2395) // polymorphic types not supported in the TLB |
| #endif |
| |
| #ifndef DO_NO_IMPORTS |
| import "unknwn.idl"; |
| #endif |
| |
| [ |
| uuid(4955DD30-B159-11d0-8FCF-00AA006BCC59), |
| helpstring("ActiveIMM"), |
| lcid(0x0000), |
| version(0.1) |
| ] |
| library ActiveIMM |
| { |
| importlib("stdole2.tlb"); |
| |
| cpp_quote("#include <imm.h>") |
| |
| cpp_quote("#if 0") |
| |
| typedef WORD LANGID; |
| |
| typedef struct |
| { |
| LPSTR lpReading; |
| LPSTR lpWord; |
| } REGISTERWORDA; |
| |
| typedef struct |
| { |
| LPWSTR lpReading; |
| LPWSTR lpWord; |
| } REGISTERWORDW; |
| |
| #define LF_FACESIZE 32 |
| |
| typedef struct |
| { |
| LONG lfHeight; |
| LONG lfWidth; |
| LONG lfEscapement; |
| LONG lfOrientation; |
| LONG lfWeight; |
| BYTE lfItalic; |
| BYTE lfUnderline; |
| BYTE lfStrikeOut; |
| BYTE lfCharSet; |
| BYTE lfOutPrecision; |
| BYTE lfClipPrecision; |
| BYTE lfQuality; |
| BYTE lfPitchAndFamily; |
| CHAR lfFaceName[LF_FACESIZE]; |
| } LOGFONTA; |
| |
| typedef struct |
| { |
| LONG lfHeight; |
| LONG lfWidth; |
| LONG lfEscapement; |
| LONG lfOrientation; |
| LONG lfWeight; |
| BYTE lfItalic; |
| BYTE lfUnderline; |
| BYTE lfStrikeOut; |
| BYTE lfCharSet; |
| BYTE lfOutPrecision; |
| BYTE lfClipPrecision; |
| BYTE lfQuality; |
| BYTE lfPitchAndFamily; |
| WCHAR lfFaceName[LF_FACESIZE]; |
| } LOGFONTW; |
| |
| typedef DWORD HIMC; |
| typedef DWORD HIMCC; |
| |
| typedef struct |
| { |
| DWORD dwIndex; |
| DWORD dwStyle; |
| POINT ptCurrentPos; |
| RECT rcArea; |
| } CANDIDATEFORM; |
| |
| typedef struct |
| { |
| DWORD dwStyle; |
| POINT ptCurrentPos; |
| RECT rcArea; |
| } COMPOSITIONFORM; |
| |
| typedef struct |
| { |
| DWORD dwSize; |
| DWORD dwStyle; |
| DWORD dwCount; |
| DWORD dwSelection; |
| DWORD dwPageStart; |
| DWORD dwPageSize; |
| DWORD dwOffset[1]; |
| } CANDIDATELIST; |
| |
| #define STYLE_DESCRIPTION_SIZE 32 |
| |
| typedef struct |
| { |
| DWORD dwStyle; |
| CHAR szDescription[STYLE_DESCRIPTION_SIZE]; |
| } STYLEBUFA; |
| |
| typedef struct |
| { |
| DWORD dwStyle; |
| WCHAR szDescription[STYLE_DESCRIPTION_SIZE]; |
| } STYLEBUFW; |
| |
| typedef WORD ATOM; |
| |
| cpp_quote("#endif") |
| |
| cpp_quote("#if (WINVER < 0x040A)") |
| |
| #define IMEMENUITEM_STRING_SIZE 80 |
| |
| typedef struct |
| { |
| UINT cbSize; |
| UINT fType; |
| UINT fState; |
| UINT wID; |
| HBITMAP hbmpChecked; |
| HBITMAP hbmpUnchecked; |
| DWORD dwItemData; |
| CHAR szString[IMEMENUITEM_STRING_SIZE]; |
| HBITMAP hbmpItem; |
| } IMEMENUITEMINFOA; |
| |
| typedef struct |
| { |
| UINT cbSize; |
| UINT fType; |
| UINT fState; |
| UINT wID; |
| HBITMAP hbmpChecked; |
| HBITMAP hbmpUnchecked; |
| DWORD dwItemData; |
| WCHAR szString[IMEMENUITEM_STRING_SIZE]; |
| HBITMAP hbmpItem; |
| } IMEMENUITEMINFOW; |
| |
| cpp_quote("#endif") |
| |
| cpp_quote("#ifndef _DDKIMM_H_") |
| |
| typedef struct |
| { |
| HWND hWnd; |
| BOOL fOpen; |
| POINT ptStatusWndPos; |
| POINT ptSoftKbdPos; |
| DWORD fdwConversion; |
| DWORD fdwSentence; |
| union |
| { |
| LOGFONTA A; |
| LOGFONTW W; |
| } lfFont; |
| COMPOSITIONFORM cfCompForm; |
| CANDIDATEFORM cfCandForm[4]; |
| HIMCC hCompStr; |
| HIMCC hCandInfo; |
| HIMCC hGuideLine; |
| HIMCC hPrivate; |
| DWORD dwNumMsgBuf; |
| HIMCC hMsgBuf; |
| DWORD fdwInit; |
| DWORD dwReserve[3]; |
| } INPUTCONTEXT; |
| |
| typedef struct |
| { |
| DWORD dwPrivateDataSize; |
| DWORD fdwProperty; |
| DWORD fdwConversionCaps; |
| DWORD fdwSentenceCaps; |
| DWORD fdwUICaps; |
| DWORD fdwSCSCaps; |
| DWORD fdwSelectCaps; |
| } IMEINFO; |
| |
| cpp_quote("#endif") |
| |
| [ |
| object, |
| uuid(08C03412-F96B-11d0-A475-00AA006BCC59), |
| pointer_default(unique) |
| ] |
| interface IEnumRegisterWordA : IUnknown |
| { |
| HRESULT Clone([out] IEnumRegisterWordA **ppEnum); |
| HRESULT Next([in] ULONG ulCount, [out] REGISTERWORDA *rgRegisterWord, [out] ULONG *pcFetched); |
| HRESULT Reset(); |
| HRESULT Skip([in] ULONG ulCount); |
| }; |
| |
| [ |
| object, |
| uuid(4955DD31-B159-11d0-8FCF-00AA006BCC59), |
| pointer_default(unique) |
| ] |
| interface IEnumRegisterWordW : IUnknown |
| { |
| HRESULT Clone([out] IEnumRegisterWordW **ppEnum); |
| HRESULT Next([in] ULONG ulCount, [out] REGISTERWORDW *rgRegisterWord, [out] ULONG *pcFetched); |
| HRESULT Reset(); |
| HRESULT Skip([in] ULONG ulCount); |
| }; |
| |
| |
| [ |
| object, |
| uuid(09b5eab0-f997-11d1-93d4-0060b067b86e), |
| pointer_default(unique) |
| ] |
| interface IEnumInputContext : IUnknown |
| { |
| HRESULT Clone([out] IEnumInputContext **ppEnum); |
| HRESULT Next([in] ULONG ulCount, [out] HIMC *rgInputContext, [out] ULONG *pcFetched); |
| HRESULT Reset(); |
| HRESULT Skip([in] ULONG ulCount); |
| }; |
| |
| |
| [ |
| object, |
| uuid(b3458082-bd00-11d1-939b-0060b067b86e), |
| pointer_default(unique) |
| ] |
| interface IActiveIMMRegistrar : IUnknown |
| { |
| HRESULT RegisterIME([in] REFCLSID rclsid, [in] LANGID lgid, [in] LPCWSTR pszIconFile, [in] LPCWSTR pszDesc); |
| HRESULT UnregisterIME([in] REFCLSID rclsid); |
| }; |
| |
| [ |
| object, |
| uuid(b5cf2cfa-8aeb-11d1-9364-0060b067b86e), |
| pointer_default(unique) |
| ] |
| interface IActiveIMMMessagePumpOwner : IUnknown |
| { |
| HRESULT Start(); |
| HRESULT End(); |
| HRESULT OnTranslateMessage([in] const MSG *pMsg); |
| HRESULT Pause([out] DWORD *pdwCookie); |
| HRESULT Resume([in] DWORD dwCookie); |
| } |
| |
| [ |
| object, |
| uuid(08c0e040-62d1-11d1-9326-0060b067b86e), |
| pointer_default(unique) |
| ] |
| interface IActiveIMMApp : IUnknown |
| { |
| HRESULT AssociateContext([in] HWND hWnd, [in] HIMC hIME, [out] HIMC *phPrev); |
| HRESULT ConfigureIMEA([in] HKL hKL, [in] HWND hWnd, [in] DWORD dwMode, [in] REGISTERWORDA *pData); |
| HRESULT ConfigureIMEW([in] HKL hKL, [in] HWND hWnd, [in] DWORD dwMode, [in] REGISTERWORDW *pData); |
| HRESULT CreateContext([out] HIMC *phIMC); |
| HRESULT DestroyContext([in] HIMC hIME); |
| HRESULT EnumRegisterWordA([in] HKL hKL, [in] LPSTR szReading, [in] DWORD dwStyle, [in] LPSTR szRegister, [in] LPVOID pData, [out] IEnumRegisterWordA **pEnum); |
| HRESULT EnumRegisterWordW([in] HKL hKL, [in] LPWSTR szReading, [in] DWORD dwStyle, [in] LPWSTR szRegister, [in] LPVOID pData, [out] IEnumRegisterWordW **pEnum); |
| HRESULT EscapeA([in] HKL hKL, [in] HIMC hIMC, [in] UINT uEscape, [in, out] LPVOID pData, [out] LRESULT *plResult); |
| HRESULT EscapeW([in] HKL hKL, [in] HIMC hIMC, [in] UINT uEscape, [in, out] LPVOID pData, [out] LRESULT *plResult); |
| HRESULT GetCandidateListA([in] HIMC hIMC, [in] DWORD dwIndex, [in] UINT uBufLen, [out] CANDIDATELIST *pCandList, [out] UINT *puCopied); |
| HRESULT GetCandidateListW([in] HIMC hIMC, [in] DWORD dwIndex, [in] UINT uBufLen, [out] CANDIDATELIST *pCandList, [out] UINT *puCopied); |
| HRESULT GetCandidateListCountA([in] HIMC hIMC, [out] DWORD *pdwListSize, [out] DWORD *pdwBufLen); |
| HRESULT GetCandidateListCountW([in] HIMC hIMC, [out] DWORD *pdwListSize, [out] DWORD *pdwBufLen); |
| HRESULT GetCandidateWindow([in] HIMC hIMC, [in] DWORD dwIndex, [out] CANDIDATEFORM *pCandidate); |
| HRESULT GetCompositionFontA([in] HIMC hIMC, [out] LOGFONTA *plf); |
| HRESULT GetCompositionFontW([in] HIMC hIMC, [out] LOGFONTW *plf); |
| HRESULT GetCompositionStringA([in] HIMC hIMC, [in] DWORD dwIndex, [in] DWORD dwBufLen, [out] LONG *plCopied, [out] LPVOID pBuf); |
| HRESULT GetCompositionStringW([in] HIMC hIMC, [in] DWORD dwIndex, [in] DWORD dwBufLen, [out] LONG *plCopied, [out] LPVOID pBuf); |
| HRESULT GetCompositionWindow([in] HIMC hIMC, [out] COMPOSITIONFORM *pCompForm); |
| HRESULT GetContext([in] HWND hWnd, [out] HIMC *phIMC); |
| HRESULT GetConversionListA([in] HKL hKL, [in] HIMC hIMC, [in] LPSTR pSrc, [in] UINT uBufLen, [in] UINT uFlag, [out] CANDIDATELIST *pDst, [out] UINT *puCopied); |
| HRESULT GetConversionListW([in] HKL hKL, [in] HIMC hIMC, [in] LPWSTR pSrc, [in] UINT uBufLen, [in] UINT uFlag, [out] CANDIDATELIST *pDst, [out] UINT *puCopied); |
| HRESULT GetConversionStatus([in] HIMC hIMC, [out] DWORD *pfdwConversion, [out] DWORD *pfdwSentence); |
| HRESULT GetDefaultIMEWnd([in] HWND hWnd, [out] HWND *phDefWnd); |
| HRESULT GetDescriptionA([in] HKL hKL, [in] UINT uBufLen, [out] LPSTR szDescription, [out] UINT *puCopied); |
| HRESULT GetDescriptionW([in] HKL hKL, [in] UINT uBufLen, [out] LPWSTR szDescription, [out] UINT *puCopied); |
| HRESULT GetGuideLineA([in] HIMC hIMC, [in] DWORD dwIndex, [in] DWORD dwBufLen, [out] LPSTR pBuf, [out] DWORD *pdwResult); |
| HRESULT GetGuideLineW([in] HIMC hIMC, [in] DWORD dwIndex, [in] DWORD dwBufLen, [out] LPWSTR pBuf, [out] DWORD *pdwResult); |
| HRESULT GetIMEFileNameA([in] HKL hKL, [in] UINT uBufLen, [out] LPSTR szFileName, [out] UINT *puCopied); |
| HRESULT GetIMEFileNameW([in] HKL hKL, [in] UINT uBufLen, [out] LPWSTR szFileName, [out] UINT *puCopied); |
| HRESULT GetOpenStatus([in] HIMC hIMC); |
| HRESULT GetProperty([in] HKL hKL, [in] DWORD fdwIndex, [out] DWORD *pdwProperty); |
| HRESULT GetRegisterWordStyleA([in] HKL hKL, [in] UINT nItem, [out] STYLEBUFA *pStyleBuf, [out] UINT *puCopied); |
| HRESULT GetRegisterWordStyleW([in] HKL hKL, [in] UINT nItem, [out] STYLEBUFW *pStyleBuf, [out] UINT *puCopied); |
| HRESULT GetStatusWindowPos([in] HIMC hIMC, [out] POINT *pptPos); |
| HRESULT GetVirtualKey([in] HWND hWnd, [out] UINT *puVirtualKey); |
| HRESULT InstallIMEA([in] LPSTR szIMEFileName, [in] LPSTR szLayoutText, [out] HKL *phKL); |
| HRESULT InstallIMEW([in] LPWSTR szIMEFileName, [in] LPWSTR szLayoutText, [out] HKL *phKL); |
| HRESULT IsIME([in] HKL hKL); |
| HRESULT IsUIMessageA([in] HWND hWndIME, [in] UINT msg, [in] WPARAM wParam, [in] LPARAM lParam); |
| HRESULT IsUIMessageW([in] HWND hWndIME, [in] UINT msg, [in] WPARAM wParam, [in] LPARAM lParam); |
| HRESULT NotifyIME([in] HIMC hIMC, [in] DWORD dwAction, [in] DWORD dwIndex, [in] DWORD dwValue); |
| HRESULT RegisterWordA([in] HKL hKL, [in] LPSTR szReading, [in] DWORD dwStyle, [in] LPSTR szRegister); |
| HRESULT RegisterWordW([in] HKL hKL, [in] LPWSTR szReading, [in] DWORD dwStyle, [in] LPWSTR szRegister); |
| HRESULT ReleaseContext([in] HWND hWnd, [in] HIMC hIMC); |
| HRESULT SetCandidateWindow([in] HIMC hIMC, [in] CANDIDATEFORM *pCandidate); |
| HRESULT SetCompositionFontA([in] HIMC hIMC, [in] LOGFONTA *plf); |
| HRESULT SetCompositionFontW([in] HIMC hIMC, [in] LOGFONTW *plf); |
| HRESULT SetCompositionStringA([in] HIMC hIMC, [in] DWORD dwIndex, [in] LPVOID pComp, [in] DWORD dwCompLen, [in] LPVOID pRead, [in] DWORD dwReadLen); |
| HRESULT SetCompositionStringW([in] HIMC hIMC, [in] DWORD dwIndex, [in] LPVOID pComp, [in] DWORD dwCompLen, [in] LPVOID pRead, [in] DWORD dwReadLen); |
| HRESULT SetCompositionWindow([in] HIMC hIMC, [in] COMPOSITIONFORM *pCompForm); |
| HRESULT SetConversionStatus([in] HIMC hIMC, [in] DWORD fdwConversion, [in] DWORD fdwSentence); |
| HRESULT SetOpenStatus([in] HIMC hIMC, [in] BOOL fOpen); |
| HRESULT SetStatusWindowPos([in] HIMC hIMC, [in] POINT *pptPos); |
| HRESULT SimulateHotKey([in] HWND hWnd, [in] DWORD dwHotKeyID); |
| HRESULT UnregisterWordA([in] HKL hKL, [in] LPSTR szReading, [in] DWORD dwStyle, [in] LPSTR szUnregister); |
| HRESULT UnregisterWordW([in] HKL hKL, [in] LPWSTR szReading, [in] DWORD dwStyle, [in] LPWSTR szUnregister); |
| |
| HRESULT Activate([in] BOOL fRestoreLayout); |
| HRESULT Deactivate(); |
| |
| HRESULT OnDefWindowProc([in] HWND hWnd, [in] UINT Msg, [in] WPARAM wParam, [in] LPARAM lParam, [out] LRESULT *plResult); |
| |
| HRESULT FilterClientWindows([in] ATOM *aaClassList, [in] UINT uSize); |
| |
| HRESULT GetCodePageA([in] HKL hKL, [out] UINT *uCodePage); |
| HRESULT GetLangId([in] HKL hKL, [out] LANGID *plid); |
| |
| // win98/nt5 apis |
| HRESULT AssociateContextEx([in] HWND hWnd, [in] HIMC hIMC, [in] DWORD dwFlags); |
| HRESULT DisableIME([in] DWORD idThread); |
| HRESULT GetImeMenuItemsA([in] HIMC hIMC, [in] DWORD dwFlags, [in] DWORD dwType, [in] IMEMENUITEMINFOA *pImeParentMenu, [out] IMEMENUITEMINFOA *pImeMenu, [in] DWORD dwSize, [out] DWORD *pdwResult); |
| HRESULT GetImeMenuItemsW([in] HIMC hIMC, [in] DWORD dwFlags, [in] DWORD dwType, [in] IMEMENUITEMINFOW *pImeParentMenu, [out] IMEMENUITEMINFOW *pImeMenu, [in] DWORD dwSize, [out] DWORD *pdwResult); |
| HRESULT EnumInputContext([in] DWORD idThread, [out] IEnumInputContext **ppEnum); |
| }; |
| |
| [ |
| object, |
| uuid(08C03411-F96B-11d0-A475-00AA006BCC59), |
| pointer_default(unique) |
| ] |
| interface IActiveIMMIME : IUnknown |
| { |
| HRESULT AssociateContext([in] HWND hWnd, [in] HIMC hIME, [out] HIMC *phPrev); |
| HRESULT ConfigureIMEA([in] HKL hKL, [in] HWND hWnd, [in] DWORD dwMode, [in] REGISTERWORDA *pData); |
| HRESULT ConfigureIMEW([in] HKL hKL, [in] HWND hWnd, [in] DWORD dwMode, [in] REGISTERWORDW *pData); |
| HRESULT CreateContext([out] HIMC *phIMC); |
| HRESULT DestroyContext([in] HIMC hIME); |
| HRESULT EnumRegisterWordA([in] HKL hKL, [in] LPSTR szReading, [in] DWORD dwStyle, [in] LPSTR szRegister, [in] LPVOID pData, [out] IEnumRegisterWordA **pEnum); |
| HRESULT EnumRegisterWordW([in] HKL hKL, [in] LPWSTR szReading, [in] DWORD dwStyle, [in] LPWSTR szRegister, [in] LPVOID pData, [out] IEnumRegisterWordW **pEnum); |
| HRESULT EscapeA([in] HKL hKL, [in] HIMC hIMC, [in] UINT uEscape, [in, out] LPVOID pData, [out] LRESULT *plResult); |
| HRESULT EscapeW([in] HKL hKL, [in] HIMC hIMC, [in] UINT uEscape, [in, out] LPVOID pData, [out] LRESULT *plResult); |
| HRESULT GetCandidateListA([in] HIMC hIMC, [in] DWORD dwIndex, [in] UINT uBufLen, [out] CANDIDATELIST *pCandList, [out] UINT *puCopied); |
| HRESULT GetCandidateListW([in] HIMC hIMC, [in] DWORD dwIndex, [in] UINT uBufLen, [out] CANDIDATELIST *pCandList, [out] UINT *puCopied); |
| HRESULT GetCandidateListCountA([in] HIMC hIMC, [out] DWORD *pdwListSize, [out] DWORD *pdwBufLen); |
| HRESULT GetCandidateListCountW([in] HIMC hIMC, [out] DWORD *pdwListSize, [out] DWORD *pdwBufLen); |
| HRESULT GetCandidateWindow([in] HIMC hIMC, [in] DWORD dwIndex, [out] CANDIDATEFORM *pCandidate); |
| HRESULT GetCompositionFontA([in] HIMC hIMC, [out] LOGFONTA *plf); |
| HRESULT GetCompositionFontW([in] HIMC hIMC, [out] LOGFONTW *plf); |
| HRESULT GetCompositionStringA([in] HIMC hIMC, [in] DWORD dwIndex, [in] DWORD dwBufLen, [out] LONG *plCopied, [out] LPVOID pBuf); |
| HRESULT GetCompositionStringW([in] HIMC hIMC, [in] DWORD dwIndex, [in] DWORD dwBufLen, [out] LONG *plCopied, [out] LPVOID pBuf); |
| HRESULT GetCompositionWindow([in] HIMC hIMC, [out] COMPOSITIONFORM *pCompForm); |
| HRESULT GetContext([in] HWND hWnd, [out] HIMC *phIMC); |
| HRESULT GetConversionListA([in] HKL hKL, [in] HIMC hIMC, [in] LPSTR pSrc, [in] UINT uBufLen, [in] UINT uFlag, [out] CANDIDATELIST *pDst, [out] UINT *puCopied); |
| HRESULT GetConversionListW([in] HKL hKL, [in] HIMC hIMC, [in] LPWSTR pSrc, [in] UINT uBufLen, [in] UINT uFlag, [out] CANDIDATELIST *pDst, [out] UINT *puCopied); |
| HRESULT GetConversionStatus([in] HIMC hIMC, [out] DWORD *pfdwConversion, [out] DWORD *pfdwSentence); |
| HRESULT GetDefaultIMEWnd([in] HWND hWnd, [out] HWND *phDefWnd); |
| HRESULT GetDescriptionA([in] HKL hKL, [in] UINT uBufLen, [out] LPSTR szDescription, [out] UINT *puCopied); |
| HRESULT GetDescriptionW([in] HKL hKL, [in] UINT uBufLen, [out] LPWSTR szDescription, [out] UINT *puCopied); |
| HRESULT GetGuideLineA([in] HIMC hIMC, [in] DWORD dwIndex, [in] DWORD dwBufLen, [out] LPSTR pBuf, [out] DWORD *pdwResult); |
| HRESULT GetGuideLineW([in] HIMC hIMC, [in] DWORD dwIndex, [in] DWORD dwBufLen, [out] LPWSTR pBuf, [out] DWORD *pdwResult); |
| HRESULT GetIMEFileNameA([in] HKL hKL, [in] UINT uBufLen, [out] LPSTR szFileName, [out] UINT *puCopied); |
| HRESULT GetIMEFileNameW([in] HKL hKL, [in] UINT uBufLen, [out] LPWSTR szFileName, [out] UINT *puCopied); |
| HRESULT GetOpenStatus([in] HIMC hIMC); |
| HRESULT GetProperty([in] HKL hKL, [in] DWORD fdwIndex, [out] DWORD *pdwProperty); |
| HRESULT GetRegisterWordStyleA([in] HKL hKL, [in] UINT nItem, [out] STYLEBUFA *pStyleBuf, [out] UINT *puCopied); |
| HRESULT GetRegisterWordStyleW([in] HKL hKL, [in] UINT nItem, [out] STYLEBUFW *pStyleBuf, [out] UINT *puCopied); |
| HRESULT GetStatusWindowPos([in] HIMC hIMC, [out] POINT *pptPos); |
| HRESULT GetVirtualKey([in] HWND hWnd, [out] UINT *puVirtualKey); |
| HRESULT InstallIMEA([in] LPSTR szIMEFileName, [in] LPSTR szLayoutText, [out] HKL *phKL); |
| HRESULT InstallIMEW([in] LPWSTR szIMEFileName, [in] LPWSTR szLayoutText, [out] HKL *phKL); |
| HRESULT IsIME([in] HKL hKL); |
| HRESULT IsUIMessageA([in] HWND hWndIME, [in] UINT msg, [in] WPARAM wParam, [in] LPARAM lParam); |
| HRESULT IsUIMessageW([in] HWND hWndIME, [in] UINT msg, [in] WPARAM wParam, [in] LPARAM lParam); |
| HRESULT NotifyIME([in] HIMC hIMC, [in] DWORD dwAction, [in] DWORD dwIndex, [in] DWORD dwValue); |
| HRESULT RegisterWordA([in] HKL hKL, [in] LPSTR szReading, [in] DWORD dwStyle, [in] LPSTR szRegister); |
| HRESULT RegisterWordW([in] HKL hKL, [in] LPWSTR szReading, [in] DWORD dwStyle, [in] LPWSTR szRegister); |
| HRESULT ReleaseContext([in] HWND hWnd, [in] HIMC hIMC); |
| HRESULT SetCandidateWindow([in] HIMC hIMC, [in] CANDIDATEFORM *pCandidate); |
| HRESULT SetCompositionFontA([in] HIMC hIMC, [in] LOGFONTA *plf); |
| HRESULT SetCompositionFontW([in] HIMC hIMC, [in] LOGFONTW *plf); |
| HRESULT SetCompositionStringA([in] HIMC hIMC, [in] DWORD dwIndex, [in] LPVOID pComp, [in] DWORD dwCompLen, [in] LPVOID pRead, [in] DWORD dwReadLen); |
| HRESULT SetCompositionStringW([in] HIMC hIMC, [in] DWORD dwIndex, [in] LPVOID pComp, [in] DWORD dwCompLen, [in] LPVOID pRead, [in] DWORD dwReadLen); |
| HRESULT SetCompositionWindow([in] HIMC hIMC, [in] COMPOSITIONFORM *pCompForm); |
| HRESULT SetConversionStatus([in] HIMC hIMC, [in] DWORD fdwConversion, [in] DWORD fdwSentence); |
| HRESULT SetOpenStatus([in] HIMC hIMC, [in] BOOL fOpen); |
| HRESULT SetStatusWindowPos([in] HIMC hIMC, [in] POINT *pptPos); |
| HRESULT SimulateHotKey([in] HWND hWnd, [in] DWORD dwHotKeyID); |
| HRESULT UnregisterWordA([in] HKL hKL, [in] LPSTR szReading, [in] DWORD dwStyle, [in] LPSTR szUnregister); |
| HRESULT UnregisterWordW([in] HKL hKL, [in] LPWSTR szReading, [in] DWORD dwStyle, [in] LPWSTR szUnregister); |
| |
| // ime helper methods |
| HRESULT GenerateMessage([in] HIMC hIMC); |
| |
| // HIMC and HIMCC management api's |
| HRESULT LockIMC([in] HIMC hIMC, [out] INPUTCONTEXT **ppIMC); |
| HRESULT UnlockIMC([in] HIMC hIMC); |
| HRESULT GetIMCLockCount([in] HIMC hIMC, [out] DWORD *pdwLockCount); |
| HRESULT CreateIMCC([in] DWORD dwSize, [out] HIMCC *phIMCC); |
| HRESULT DestroyIMCC([in] HIMCC hIMCC); |
| HRESULT LockIMCC([in] HIMCC hIMCC, [out] void **ppv); |
| HRESULT UnlockIMCC([in] HIMCC hIMCC); |
| HRESULT ReSizeIMCC([in] HIMCC hIMCC, [in] DWORD dwSize, [out] HIMCC *phIMCC); |
| HRESULT GetIMCCSize([in] HIMCC hIMCC, [out] DWORD *pdwSize); |
| HRESULT GetIMCCLockCount([in] HIMCC hIMCC, [out] DWORD *pdwLockCount); |
| |
| // hot key manipulation api's |
| HRESULT GetHotKey([in] DWORD dwHotKeyID, [out] UINT *puModifiers, [out] UINT *puVKey, [out] HKL *phKL); |
| HRESULT SetHotKey([in] DWORD dwHotKeyID, [in] UINT uModifiers, [in] UINT uVKey, [in] HKL hKL); |
| |
| // soft keyboard api's |
| HRESULT CreateSoftKeyboard([in] UINT uType, [in] HWND hOwner, [in] int x, [in] int y, [out] HWND *phSoftKbdWnd); |
| HRESULT DestroySoftKeyboard([in] HWND hSoftKbdWnd); |
| HRESULT ShowSoftKeyboard([in] HWND hSoftKbdWnd, [in] int nCmdShow); |
| |
| HRESULT GetCodePageA([in] HKL hKL, [out] UINT *uCodePage); |
| HRESULT GetLangId([in] HKL hKL, [out] LANGID *plid); |
| |
| HRESULT KeybdEvent([in] LANGID lgidIME, [in] BYTE bVk, [in] BYTE bScan, [in] DWORD dwFlags, [in] DWORD dwExtraInfo); |
| |
| HRESULT LockModal(); |
| HRESULT UnlockModal(); |
| |
| // win98/nt5 apis |
| HRESULT AssociateContextEx([in] HWND hWnd, [in] HIMC hIMC, [in] DWORD dwFlags); |
| HRESULT DisableIME([in] DWORD idThread); |
| HRESULT GetImeMenuItemsA([in] HIMC hIMC, [in] DWORD dwFlags, [in] DWORD dwType, [in] IMEMENUITEMINFOA *pImeParentMenu, [out] IMEMENUITEMINFOA *pImeMenu, [in] DWORD dwSize, [out] DWORD *pdwResult); |
| HRESULT GetImeMenuItemsW([in] HIMC hIMC, [in] DWORD dwFlags, [in] DWORD dwType, [in] IMEMENUITEMINFOW *pImeParentMenu, [out] IMEMENUITEMINFOW *pImeMenu, [in] DWORD dwSize, [out] DWORD *pdwResult); |
| HRESULT EnumInputContext([in] DWORD idThread, [out] IEnumInputContext **ppEnum); |
| HRESULT RequestMessageA([in] HIMC hIMC, [in] WPARAM wParam, [in] LPARAM lParam, [out] LRESULT *plResult); |
| HRESULT RequestMessageW([in] HIMC hIMC, [in] WPARAM wParam, [in] LPARAM lParam, [out] LRESULT *plResult); |
| |
| HRESULT SendIMCA([in] HWND hWnd, [in] UINT uMsg, [in] WPARAM wParam, [in] LPARAM lParam, [out] LRESULT *plResult); |
| HRESULT SendIMCW([in] HWND hWnd, [in] UINT uMsg, [in] WPARAM wParam, [in] LPARAM lParam, [out] LRESULT *plResult); |
| |
| HRESULT IsSleeping(); |
| }; |
| |
| [ |
| object, |
| uuid(6FE20962-D077-11d0-8FE7-00AA006BCC59), |
| pointer_default(unique) |
| ] |
| interface IActiveIME : IUnknown |
| { |
| HRESULT Inquire([in] DWORD dwSystemInfoFlags, [out] IMEINFO *pIMEInfo, [out] LPWSTR szWndClass, [out] DWORD *pdwPrivate); |
| HRESULT ConversionList([in] HIMC hIMC, [in] LPWSTR szSource, [in] UINT uFlag, [in] UINT uBufLen, [out] CANDIDATELIST *pDest, [out] UINT *puCopied); |
| HRESULT Configure([in] HKL hKL, [in] HWND hWnd, [in] DWORD dwMode, [in] REGISTERWORDW *pRegisterWord); |
| HRESULT Destroy([in] UINT uReserved); |
| HRESULT Escape([in] HIMC hIMC, [in] UINT uEscape, [in, out] void *pData, [out] LRESULT *plResult); |
| HRESULT SetActiveContext([in] HIMC hIMC, [in] BOOL fFlag); |
| HRESULT ProcessKey([in] HIMC hIMC, [in] UINT uVirKey, [in] DWORD lParam, [in] BYTE *pbKeyState); |
| HRESULT Notify([in] HIMC hIMC, [in] DWORD dwAction, [in] DWORD dwIndex, [in] DWORD dwValue); |
| HRESULT Select([in] HIMC hIMC, [in] BOOL fSelect); |
| HRESULT SetCompositionString([in] HIMC hIMC, [in] DWORD dwIndex, [in] void *pComp, [in] DWORD dwCompLen, [in] void *pRead, [in] DWORD dwReadLen); |
| HRESULT ToAsciiEx([in] UINT uVirKey, [in] UINT uScanCode, [in] BYTE *pbKeyState, [in] UINT fuState, [in] HIMC hIMC, [out] DWORD *pdwTransBuf, [out] UINT *puSize); |
| HRESULT RegisterWord([in] LPWSTR szReading, [in] DWORD dwStyle, [in] LPWSTR szString); |
| HRESULT UnregisterWord([in] LPWSTR szReading, [in] DWORD dwStyle, [in] LPWSTR szString); |
| HRESULT GetRegisterWordStyle([in] UINT nItem, [out] STYLEBUFW *pStyleBuf, [out] UINT *puBufSize); |
| HRESULT EnumRegisterWord([in] LPWSTR szReading, [in] DWORD dwStyle, [in] LPWSTR szRegister, [in] LPVOID pData, [out] IEnumRegisterWordW **ppEnum); |
| HRESULT GetCodePageA([out] UINT *uCodePage); |
| HRESULT GetLangId([out] LANGID *plid); |
| }; |
| |
| [ |
| object, |
| uuid(e1c4bf0e-2d53-11d2-93e1-0060b067b86e), |
| pointer_default(unique) |
| ] |
| interface IActiveIME2 : IActiveIME |
| { |
| HRESULT Sleep(); |
| HRESULT Unsleep([in] BOOL fDead); |
| }; |
| |
| [ |
| uuid(4955DD33-B159-11d0-8FCF-00AA006BCC59), |
| ] |
| coclass CActiveIMM |
| { |
| [default] interface IActiveIMMApp; |
| interface IActiveIMMIME; |
| interface IActiveIMMRegistrar; |
| interface IActiveIMMMessagePumpOwner; |
| }; |
| } |