blob: bd1f0379ca02d3a51150769bdf4ec7514a9d8644 [file] [log] [blame]
cpp_quote("/**")
cpp_quote(" * This file is part of the mingw-w64 runtime package.")
cpp_quote(" * No warranty is given; refer to the file DISCLAIMER within this package.")
cpp_quote(" */")
cpp_quote("")
#ifndef LF_FACESIZE
#define LF_FACESIZE 32
#endif
#ifndef STYLE_DESCRIPTION_SIZE
#define STYLE_DESCRIPTION_SIZE 32
#endif
#ifndef IMEMENUITEM_STRING_SIZE
#define IMEMENUITEM_STRING_SIZE 80
#endif
#ifndef DO_NO_IMPORTS
import "unknwn.idl";
#endif
interface IEnumRegisterWordA;
interface IEnumRegisterWordW;
cpp_quote("#include <winapifamily.h>")
cpp_quote("")
cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
[uuid (4955dd30-B159-11d0-8fcf-00aa006bcc59), 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;
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;
typedef struct {
DWORD dwStyle;
CHAR szDescription[STYLE_DESCRIPTION_SIZE];
} STYLEBUFA;
typedef struct {
DWORD dwStyle;
WCHAR szDescription[STYLE_DESCRIPTION_SIZE];
} STYLEBUFW;
typedef WORD ATOM;
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 (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);
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);
HRESULT GenerateMessage ([in] HIMC hIMC);
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);
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);
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 ();
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);
};
[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);
};
[uuid (4955dd33-B159-11d0-8fcf-00aa006bcc59)]
coclass CActiveIMM {
[default] interface IActiveIMMApp;
interface IActiveIMMIME;
interface IActiveIMMRegistrar;
interface IActiveIMMMessagePumpOwner;
};
}
cpp_quote("#endif")