00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef AIMM_H
00029 # define AIMM_H
00030
00031
00032
00033 const GUID IID_IActiveIMMApp = { 0x8c0e040, 0x62d1, 0x11d1, {0x93, 0x26, 0x00, 0x60, 0xb0, 0x67, 0xb8, 0x6e}};
00034 const GUID CLSID_CActiveIMM = { 0x4955dd33, 0xb159, 0x11d0, {0x8f, 0xcf, 0x00, 0xaa, 0x00, 0x6b, 0xcc, 0x59}};
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055 class IActiveIMMApp : public IUnknown
00056 {
00057 public:
00058 virtual long __stdcall AssociateContext(
00059 HWND hWnd,
00060 HIMC hIME,
00061 HIMC *phPrev) = 0;
00062
00063 virtual long __stdcall ConfigureIMEA(
00064 HKL hKL,
00065 HWND hWnd,
00066 DWORD dwMode,
00067 void *pData) = 0;
00068
00069 virtual long __stdcall ConfigureIMEW(
00070 HKL hKL,
00071 HWND hWnd,
00072 DWORD dwMode,
00073 void *pData) = 0;
00074
00075 virtual long __stdcall CreateContext(
00076 HIMC *phIMC) = 0;
00077
00078 virtual long __stdcall DestroyContext(
00079 HIMC hIME) = 0;
00080
00081 virtual long __stdcall EnumRegisterWordA(
00082 HKL hKL,
00083 LPSTR szReading,
00084 DWORD dwStyle,
00085 LPSTR szRegister,
00086 LPVOID pData,
00087 void **pEnum) = 0;
00088
00089 virtual long __stdcall EnumRegisterWordW(
00090 HKL hKL,
00091 LPWSTR szReading,
00092 DWORD dwStyle,
00093 LPWSTR szRegister,
00094 LPVOID pData,
00095 void **pEnum) = 0;
00096
00097 virtual long __stdcall EscapeA(
00098 HKL hKL,
00099 HIMC hIMC,
00100 UINT uEscape,
00101 LPVOID pData,
00102 LRESULT *plResult) = 0;
00103
00104 virtual long __stdcall EscapeW(
00105 HKL hKL,
00106 HIMC hIMC,
00107 UINT uEscape,
00108 LPVOID pData,
00109 LRESULT *plResult) = 0;
00110
00111 virtual long __stdcall GetCandidateListA(
00112 HIMC hIMC,
00113 DWORD dwIndex,
00114 UINT uBufLen,
00115 void *pCandList,
00116 UINT *puCopied) = 0;
00117
00118 virtual long __stdcall GetCandidateListW(
00119 HIMC hIMC,
00120 DWORD dwIndex,
00121 UINT uBufLen,
00122 void *pCandList,
00123 UINT *puCopied) = 0;
00124
00125 virtual long __stdcall GetCandidateListCountA(
00126 HIMC hIMC,
00127 DWORD *pdwListSize,
00128 DWORD *pdwBufLen) = 0;
00129
00130 virtual long __stdcall GetCandidateListCountW(
00131 HIMC hIMC,
00132 DWORD *pdwListSize,
00133 DWORD *pdwBufLen) = 0;
00134
00135 virtual long __stdcall GetCandidateWindow(
00136 HIMC hIMC,
00137 DWORD dwIndex,
00138 void *pCandidate) = 0;
00139
00140 virtual long __stdcall GetCompositionFontA(
00141 HIMC hIMC,
00142 LOGFONTA *plf) = 0;
00143
00144 virtual long __stdcall GetCompositionFontW(
00145 HIMC hIMC,
00146 LOGFONTW *plf) = 0;
00147
00148 virtual long __stdcall GetCompositionStringA(
00149 HIMC hIMC,
00150 DWORD dwIndex,
00151 DWORD dwBufLen,
00152 LONG *plCopied,
00153 LPVOID pBuf) = 0;
00154
00155 virtual long __stdcall GetCompositionStringW(
00156 HIMC hIMC,
00157 DWORD dwIndex,
00158 DWORD dwBufLen,
00159 LONG *plCopied,
00160 LPVOID pBuf) = 0;
00161
00162 virtual long __stdcall GetCompositionWindow(
00163 HIMC hIMC,
00164 void *pCompForm) = 0;
00165
00166 virtual long __stdcall GetContext(
00167 HWND hWnd,
00168 HIMC *phIMC) = 0;
00169
00170 virtual long __stdcall GetConversionListA(
00171 HKL hKL,
00172 HIMC hIMC,
00173 LPSTR pSrc,
00174 UINT uBufLen,
00175 UINT uFlag,
00176 void *pDst,
00177 UINT *puCopied) = 0;
00178
00179 virtual long __stdcall GetConversionListW(
00180 HKL hKL,
00181 HIMC hIMC,
00182 LPWSTR pSrc,
00183 UINT uBufLen,
00184 UINT uFlag,
00185 void *pDst,
00186 UINT *puCopied) = 0;
00187
00188 virtual long __stdcall GetConversionStatus(
00189 HIMC hIMC,
00190 DWORD *pfdwConversion,
00191 DWORD *pfdwSentence) = 0;
00192
00193 virtual long __stdcall GetDefaultIMEWnd(
00194 HWND hWnd,
00195 HWND *phDefWnd) = 0;
00196
00197 virtual long __stdcall GetDescriptionA(
00198 HKL hKL,
00199 UINT uBufLen,
00200 LPSTR szDescription,
00201 UINT *puCopied) = 0;
00202
00203 virtual long __stdcall GetDescriptionW(
00204 HKL hKL,
00205 UINT uBufLen,
00206 LPWSTR szDescription,
00207 UINT *puCopied) = 0;
00208
00209 virtual long __stdcall GetGuideLineA(
00210 HIMC hIMC,
00211 DWORD dwIndex,
00212 DWORD dwBufLen,
00213 LPSTR pBuf,
00214 DWORD *pdwResult) = 0;
00215
00216 virtual long __stdcall GetGuideLineW(
00217 HIMC hIMC,
00218 DWORD dwIndex,
00219 DWORD dwBufLen,
00220 LPWSTR pBuf,
00221 DWORD *pdwResult) = 0;
00222
00223 virtual long __stdcall GetIMEFileNameA(
00224 HKL hKL,
00225 UINT uBufLen,
00226 LPSTR szFileName,
00227 UINT *puCopied) = 0;
00228
00229 virtual long __stdcall GetIMEFileNameW(
00230 HKL hKL,
00231 UINT uBufLen,
00232 LPWSTR szFileName,
00233 UINT *puCopied) = 0;
00234
00235 virtual long __stdcall GetOpenStatus(
00236 HIMC hIMC) = 0;
00237
00238 virtual long __stdcall GetProperty(
00239 HKL hKL,
00240 DWORD fdwIndex,
00241 DWORD *pdwProperty) = 0;
00242
00243 virtual long __stdcall GetRegisterWordStyleA(
00244 HKL hKL,
00245 UINT nItem,
00246 STYLEBUFA *pStyleBuf,
00247 UINT *puCopied) = 0;
00248
00249 virtual long __stdcall GetRegisterWordStyleW(
00250 HKL hKL,
00251 UINT nItem,
00252 STYLEBUFW *pStyleBuf,
00253 UINT *puCopied) = 0;
00254
00255 virtual long __stdcall GetStatusWindowPos(
00256 HIMC hIMC,
00257 POINT *pptPos) = 0;
00258
00259 virtual long __stdcall GetVirtualKey(
00260 HWND hWnd,
00261 UINT *puVirtualKey) = 0;
00262
00263 virtual long __stdcall InstallIMEA(
00264 LPSTR szIMEFileName,
00265 LPSTR szLayoutText,
00266 HKL *phKL) = 0;
00267
00268 virtual long __stdcall InstallIMEW(
00269 LPWSTR szIMEFileName,
00270 LPWSTR szLayoutText,
00271 HKL *phKL) = 0;
00272
00273 virtual long __stdcall IsIME(
00274 HKL hKL) = 0;
00275
00276 virtual long __stdcall IsUIMessageA(
00277 HWND hWndIME,
00278 UINT msg,
00279 WPARAM wParam,
00280 LPARAM lParam) = 0;
00281
00282 virtual long __stdcall IsUIMessageW(
00283 HWND hWndIME,
00284 UINT msg,
00285 WPARAM wParam,
00286 LPARAM lParam) = 0;
00287
00288 virtual long __stdcall NotifyIME(
00289 HIMC hIMC,
00290 DWORD dwAction,
00291 DWORD dwIndex,
00292 DWORD dwValue) = 0;
00293
00294 virtual long __stdcall RegisterWordA(
00295 HKL hKL,
00296 LPSTR szReading,
00297 DWORD dwStyle,
00298 LPSTR szRegister) = 0;
00299
00300 virtual long __stdcall RegisterWordW(
00301 HKL hKL,
00302 LPWSTR szReading,
00303 DWORD dwStyle,
00304 LPWSTR szRegister) = 0;
00305
00306 virtual long __stdcall ReleaseContext(
00307 HWND hWnd,
00308 HIMC hIMC) = 0;
00309
00310 virtual long __stdcall SetCandidateWindow(
00311 HIMC hIMC,
00312 void *pCandidate) = 0;
00313
00314 virtual long __stdcall SetCompositionFontA(
00315 HIMC hIMC,
00316 LOGFONTA *plf) = 0;
00317
00318 virtual long __stdcall SetCompositionFontW(
00319 HIMC hIMC,
00320 LOGFONTW *plf) = 0;
00321
00322 virtual long __stdcall SetCompositionStringA(
00323 HIMC hIMC,
00324 DWORD dwIndex,
00325 LPVOID pComp,
00326 DWORD dwCompLen,
00327 LPVOID pRead,
00328 DWORD dwReadLen) = 0;
00329
00330 virtual long __stdcall SetCompositionStringW(
00331 HIMC hIMC,
00332 DWORD dwIndex,
00333 LPVOID pComp,
00334 DWORD dwCompLen,
00335 LPVOID pRead,
00336 DWORD dwReadLen) = 0;
00337
00338 virtual long __stdcall SetCompositionWindow(
00339 HIMC hIMC,
00340 void *pCompForm) = 0;
00341
00342 virtual long __stdcall SetConversionStatus(
00343 HIMC hIMC,
00344 DWORD fdwConversion,
00345 DWORD fdwSentence) = 0;
00346
00347 virtual long __stdcall SetOpenStatus(
00348 HIMC hIMC,
00349 BOOL fOpen) = 0;
00350
00351 virtual long __stdcall SetStatusWindowPos(
00352 HIMC hIMC,
00353 POINT *pptPos) = 0;
00354
00355 virtual long __stdcall SimulateHotKey(
00356 HWND hWnd,
00357 DWORD dwHotKeyID) = 0;
00358
00359 virtual long __stdcall UnregisterWordA(
00360 HKL hKL,
00361 LPSTR szReading,
00362 DWORD dwStyle,
00363 LPSTR szUnregister) = 0;
00364
00365 virtual long __stdcall UnregisterWordW(
00366 HKL hKL,
00367 LPWSTR szReading,
00368 DWORD dwStyle,
00369 LPWSTR szUnregister) = 0;
00370
00371 virtual long __stdcall Activate(
00372 BOOL fRestoreLayout) = 0;
00373
00374 virtual long __stdcall Deactivate( void) = 0;
00375
00376 virtual long __stdcall OnDefWindowProc(
00377 HWND hWnd,
00378 UINT Msg,
00379 WPARAM wParam,
00380 LPARAM lParam,
00381 LRESULT *plResult) = 0;
00382
00383 virtual long __stdcall FilterClientWindows(
00384 ATOM *aaClassList,
00385 UINT uSize) = 0;
00386
00387 virtual long __stdcall GetCodePageA(
00388 HKL hKL,
00389 UINT *uCodePage) = 0;
00390
00391 virtual long __stdcall GetLangId(
00392 HKL hKL,
00393 WORD *plid) = 0;
00394
00395 virtual long __stdcall AssociateContextEx(
00396 HWND hWnd,
00397 HIMC hIMC,
00398 DWORD dwFlags) = 0;
00399
00400 virtual long __stdcall DisableIME(
00401 DWORD idThread) = 0;
00402
00403 virtual long __stdcall GetImeMenuItemsA(
00404 HIMC hIMC,
00405 DWORD dwFlags,
00406 DWORD dwType,
00407 void *pImeParentMenu,
00408 void *pImeMenu,
00409 DWORD dwSize,
00410 DWORD *pdwResult) = 0;
00411
00412 virtual long __stdcall GetImeMenuItemsW(
00413 HIMC hIMC,
00414 DWORD dwFlags,
00415 DWORD dwType,
00416 void *pImeParentMenu,
00417 void *pImeMenu,
00418 DWORD dwSize,
00419 DWORD *pdwResult) = 0;
00420
00421 virtual long __stdcall EnumInputContext(
00422 DWORD idThread,
00423 void **ppEnum) = 0;
00424
00425 };
00426
00427 #endif
00428
00429
00430
00431