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 ") 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 ") 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")