539 lines
26 KiB
Plaintext
539 lines
26 KiB
Plaintext
//+-------------------------------------------------------------------------
|
|
//
|
|
// 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;
|
|
};
|
|
}
|