Dimm.Idl
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:26k
- //+-------------------------------------------------------------------------
- //
- // Microsoft Windows
- // Copyright (C) Microsoft Corporation, 1992-1998.
- //
- // 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 warning( disable: 2395) // polymorphic types not supported in the TLB
- #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;
- };
- }