Prevent crash when listview trace logging is on.
[wine] / dlls / imm32 / imm.c
1 /*
2  * IMM32 library
3  *
4  * Copyright 1998 Patrik Stridvall
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  */
20
21 #include "winbase.h"
22 #include "windef.h"
23 #include "wingdi.h"
24 #include "winuser.h"
25 #include "winerror.h"
26 #include "wine/debug.h"
27 #include "imm.h"
28
29 WINE_DEFAULT_DEBUG_CHANNEL(imm);
30
31 /***********************************************************************
32  *              ImmAssociateContext (IMM32.@)
33  */
34 HIMC WINAPI ImmAssociateContext(HWND hWnd, HIMC hIMC)
35 {
36   FIXME("(0x%08x, 0x%08x): stub\n",hWnd,hIMC);
37   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
38   return (HIMC)NULL;
39 }
40
41 /***********************************************************************
42  *              ImmConfigureIMEA (IMM32.@)
43  */
44 BOOL WINAPI ImmConfigureIMEA(
45   HKL hKL, HWND hWnd, DWORD dwMode, LPVOID lpData)
46 {
47   FIXME("(0x%08x, 0x%08x, %ld, %p): stub\n",
48     hKL, hWnd, dwMode, lpData
49   );
50   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
51   return FALSE;
52 }
53
54 /***********************************************************************
55  *              ImmConfigureIMEW (IMM32.@)
56  */
57 BOOL WINAPI ImmConfigureIMEW(
58   HKL hKL, HWND hWnd, DWORD dwMode, LPVOID lpData)
59 {
60   FIXME("(0x%08x, 0x%08x, %ld, %p): stub\n",
61     hKL, hWnd, dwMode, lpData
62   );
63   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
64   return FALSE;
65 }
66
67 /***********************************************************************
68  *              ImmCreateContext (IMM32.@)
69  */
70 HIMC WINAPI ImmCreateContext()
71 {
72   FIXME("(): stub\n");
73   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
74   return (HIMC)NULL;
75 }
76
77 /***********************************************************************
78  *              ImmDestroyContext (IMM32.@)
79  */
80 BOOL WINAPI ImmDestroyContext(HIMC hIMC)
81 {
82   FIXME("(0x%08x): stub\n",hIMC);
83   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
84   return FALSE;
85 }
86
87 /***********************************************************************
88  *              ImmEnumRegisterWordA (IMM32.@)
89  */
90 UINT WINAPI ImmEnumRegisterWordA(
91   HKL hKL, REGISTERWORDENUMPROCA lpfnEnumProc,
92   LPCSTR lpszReading, DWORD dwStyle,
93   LPCSTR lpszRegister, LPVOID lpData)
94 {
95   FIXME("(0x%08x, %p, %s, %ld, %s, %p): stub\n",
96     hKL, lpfnEnumProc,
97     debugstr_a(lpszReading), dwStyle,
98     debugstr_a(lpszRegister), lpData
99   );
100   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
101   return 0;
102 }
103
104 /***********************************************************************
105  *              ImmEnumRegisterWordW (IMM32.@)
106  */
107 UINT WINAPI ImmEnumRegisterWordW(
108   HKL hKL, REGISTERWORDENUMPROCW lpfnEnumProc,
109   LPCWSTR lpszReading, DWORD dwStyle,
110   LPCWSTR lpszRegister, LPVOID lpData)
111 {
112   FIXME("(0x%08x, %p, %s, %ld, %s, %p): stub\n",
113     hKL, lpfnEnumProc,
114     debugstr_w(lpszReading), dwStyle,
115     debugstr_w(lpszRegister), lpData
116   );
117   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
118   return 0;
119 }
120
121 /***********************************************************************
122  *              ImmEscapeA (IMM32.@)
123  */
124 LRESULT WINAPI ImmEscapeA(
125   HKL hKL, HIMC hIMC,
126   UINT uEscape, LPVOID lpData)
127 {
128   FIXME("(0x%08x, 0x%08x, %d, %p): stub\n",
129     hKL, hIMC, uEscape, lpData
130   );
131   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
132   return 0;
133 }
134
135 /***********************************************************************
136  *              ImmEscapeW (IMM32.@)
137  */
138 LRESULT WINAPI ImmEscapeW(
139   HKL hKL, HIMC hIMC,
140   UINT uEscape, LPVOID lpData)
141 {
142   FIXME("(0x%08x, 0x%08x, %d, %p): stub\n",
143     hKL, hIMC, uEscape, lpData
144   );
145   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
146   return 0;
147 }
148
149 /***********************************************************************
150  *              ImmGetCandidateListA (IMM32.@)
151  */
152 DWORD WINAPI ImmGetCandidateListA(
153   HIMC hIMC, DWORD deIndex,
154   LPCANDIDATELIST lpCandList, DWORD dwBufLen)
155 {
156   FIXME("(0x%08x, %ld, %p, %ld): stub\n",
157     hIMC, deIndex,
158     lpCandList, dwBufLen
159   );
160   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
161   return 0;
162 }
163
164 /***********************************************************************
165  *              ImmGetCandidateListCountA (IMM32.@)
166  */
167 DWORD WINAPI ImmGetCandidateListCountA(
168   HIMC hIMC, LPDWORD lpdwListCount)
169 {
170   FIXME("(0x%08x, %p): stub\n", hIMC, lpdwListCount);
171   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
172   return 0;
173 }
174
175 /***********************************************************************
176  *              ImmGetCandidateListCountW (IMM32.@)
177  */
178 DWORD WINAPI ImmGetCandidateListCountW(
179   HIMC hIMC, LPDWORD lpdwListCount)
180 {
181   FIXME("(0x%08x, %p): stub\n", hIMC, lpdwListCount);
182   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
183   return 0;
184 }
185
186 /***********************************************************************
187  *              ImmGetCandidateListW (IMM32.@)
188  */
189 DWORD WINAPI ImmGetCandidateListW(
190   HIMC hIMC, DWORD deIndex,
191   LPCANDIDATELIST lpCandList, DWORD dwBufLen)
192 {
193   FIXME("(0x%08x, %ld, %p, %ld): stub\n",
194     hIMC, deIndex,
195     lpCandList, dwBufLen
196   );
197   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
198   return 0;
199 }
200
201 /***********************************************************************
202  *              ImmGetCandidateWindow (IMM32.@)
203  */
204 BOOL WINAPI ImmGetCandidateWindow(
205   HIMC hIMC, DWORD dwBufLen, LPCANDIDATEFORM lpCandidate)
206 {
207   FIXME("(0x%08x, %ld, %p): stub\n", hIMC, dwBufLen, lpCandidate);
208   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
209   return FALSE;
210 }
211
212 /***********************************************************************
213  *              ImmGetCompositionFontA (IMM32.@)
214  */
215 BOOL WINAPI ImmGetCompositionFontA(HIMC hIMC, LPLOGFONTA lplf)
216 {
217   FIXME("(0x%08x, %p): stub\n", hIMC, lplf);
218   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
219   return FALSE;
220 }
221
222 /***********************************************************************
223  *              ImmGetCompositionFontW (IMM32.@)
224  */
225 BOOL WINAPI ImmGetCompositionFontW(HIMC hIMC, LPLOGFONTW lplf)
226 {
227   FIXME("(0x%08x, %p): stub\n", hIMC, lplf);
228   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
229   return FALSE;
230 }
231
232 /***********************************************************************
233  *              ImmGetCompositionStringA (IMM32.@)
234  */
235 LONG WINAPI ImmGetCompositionStringA(
236   HIMC hIMC, DWORD dwIndex, LPVOID lpBuf, DWORD dwBufLen)
237 {
238   OSVERSIONINFOA version;
239   FIXME("(0x%08x, %ld, %p, %ld): stub\n",
240     hIMC, dwIndex, lpBuf, dwBufLen
241   );
242   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
243   GetVersionExA( &version );
244   switch(version.dwPlatformId)
245   {
246   case VER_PLATFORM_WIN32_WINDOWS: return -1;
247   case VER_PLATFORM_WIN32_NT: return 0;
248   default:
249       FIXME("%ld not supported\n",version.dwPlatformId);
250       return -1;
251   }
252 }
253
254 /***********************************************************************
255  *              ImmGetCompositionStringW (IMM32.@)
256  */
257 LONG WINAPI ImmGetCompositionStringW(
258   HIMC hIMC, DWORD dwIndex,
259   LPVOID lpBuf, DWORD dwBufLen)
260 {
261   OSVERSIONINFOA version;
262   FIXME("(0x%08x, %ld, %p, %ld): stub\n",
263     hIMC, dwIndex, lpBuf, dwBufLen
264   );
265   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
266   GetVersionExA( &version );
267   switch(version.dwPlatformId)
268   {
269   case VER_PLATFORM_WIN32_WINDOWS: return -1;
270   case VER_PLATFORM_WIN32_NT: return 0;
271   default:
272       FIXME("%ld not supported\n",version.dwPlatformId);
273       return -1;
274   }
275 }
276
277 /***********************************************************************
278  *              ImmGetCompositionWindow (IMM32.@)
279  */
280 BOOL WINAPI ImmGetCompositionWindow(HIMC hIMC, LPCOMPOSITIONFORM lpCompForm)
281 {
282   FIXME("(0x%08x, %p): stub\n", hIMC, lpCompForm);
283   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
284   return 0;
285 }
286
287 /***********************************************************************
288  *              ImmGetContext (IMM32.@)
289  */
290 HIMC WINAPI ImmGetContext(HWND hWnd)
291 {
292   FIXME("(0x%08x): stub\n", hWnd);
293   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
294   return (HIMC)NULL;
295 }
296
297 /***********************************************************************
298  *              ImmGetConversionListA (IMM32.@)
299  */
300 DWORD WINAPI ImmGetConversionListA(
301   HKL hKL, HIMC hIMC,
302   LPCSTR pSrc, LPCANDIDATELIST lpDst,
303   DWORD dwBufLen, UINT uFlag)
304 {
305   FIXME("(0x%08x, 0x%08x, %s, %p, %ld, %d): stub\n",
306     hKL, hIMC, debugstr_a(pSrc), lpDst, dwBufLen, uFlag
307   );
308   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
309   return 0;
310 }
311
312 /***********************************************************************
313  *              ImmGetConversionListW (IMM32.@)
314  */
315 DWORD WINAPI ImmGetConversionListW(
316   HKL hKL, HIMC hIMC,
317   LPCWSTR pSrc, LPCANDIDATELIST lpDst,
318   DWORD dwBufLen, UINT uFlag)
319 {
320   FIXME("(0x%08x, 0x%08x, %s, %p, %ld, %d): stub\n",
321     hKL, hIMC, debugstr_w(pSrc), lpDst, dwBufLen, uFlag
322   );
323   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
324   return 0;
325 }
326
327 /***********************************************************************
328  *              ImmGetConversionStatus (IMM32.@)
329  */
330 BOOL WINAPI ImmGetConversionStatus(
331   HIMC hIMC, LPDWORD lpfdwConversion, LPDWORD lpfdwSentence)
332 {
333   FIXME("(0x%08x, %p, %p): stub\n",
334     hIMC, lpfdwConversion, lpfdwSentence
335   );
336   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
337   return FALSE;
338 }
339
340 /***********************************************************************
341  *              ImmGetDefaultIMEWnd (IMM32.@)
342  */
343 HWND WINAPI ImmGetDefaultIMEWnd(HWND hWnd)
344 {
345   FIXME("(0x%08x): stub\n", hWnd);
346   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
347   return (HWND)NULL;
348 }
349
350 /***********************************************************************
351  *              ImmGetDescriptionA (IMM32.@)
352  */
353 UINT WINAPI ImmGetDescriptionA(
354   HKL hKL, LPSTR lpszDescription, UINT uBufLen)
355 {
356   FIXME("(0x%08x, %s, %d): stub\n",
357     hKL, debugstr_a(lpszDescription), uBufLen
358   );
359   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
360   return 0;
361 }
362
363 /***********************************************************************
364  *              ImmGetDescriptionW (IMM32.@)
365  */
366 UINT WINAPI ImmGetDescriptionW(HKL hKL, LPWSTR lpszDescription, UINT uBufLen)
367 {
368   FIXME("(0x%08x, %s, %d): stub\n",
369     hKL, debugstr_w(lpszDescription), uBufLen
370   );
371   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
372   return 0;
373 }
374
375 /***********************************************************************
376  *              ImmGetGuideLineA (IMM32.@)
377  */
378 DWORD WINAPI ImmGetGuideLineA(
379   HIMC hIMC, DWORD dwIndex, LPSTR lpBuf, DWORD dwBufLen)
380 {
381   FIXME("(0x%08x, %ld, %s, %ld): stub\n",
382     hIMC, dwIndex, debugstr_a(lpBuf), dwBufLen
383   );
384   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
385   return 0;
386 }
387
388 /***********************************************************************
389  *              ImmGetGuideLineW (IMM32.@)
390  */
391 DWORD WINAPI ImmGetGuideLineW(HIMC hIMC, DWORD dwIndex, LPWSTR lpBuf, DWORD dwBufLen)
392 {
393   FIXME("(0x%08x, %ld, %s, %ld): stub\n",
394     hIMC, dwIndex, debugstr_w(lpBuf), dwBufLen
395   );
396   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
397   return 0;
398 }
399
400 /***********************************************************************
401  *              ImmGetIMEFileNameA (IMM32.@)
402  */
403 UINT WINAPI ImmGetIMEFileNameA(
404   HKL hKL, LPSTR lpszFileName, UINT uBufLen)
405 {
406   FIXME("(0x%08x, %s, %d): stub\n",
407     hKL, debugstr_a(lpszFileName), uBufLen
408   );
409   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
410   return 0;
411 }
412
413 /***********************************************************************
414  *              ImmGetIMEFileNameW (IMM32.@)
415  */
416 UINT WINAPI ImmGetIMEFileNameW(
417   HKL hKL, LPWSTR lpszFileName, UINT uBufLen)
418 {
419   FIXME("(0x%08x, %s, %d): stub\n",
420     hKL, debugstr_w(lpszFileName), uBufLen
421   );
422   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
423   return 0;
424 }
425
426 /***********************************************************************
427  *              ImmGetOpenStatus (IMM32.@)
428  */
429 BOOL WINAPI ImmGetOpenStatus(HIMC hIMC)
430 {
431   FIXME("(0x%08x): stub\n", hIMC);
432   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
433   return FALSE;
434 }
435
436 /***********************************************************************
437  *              ImmGetProperty (IMM32.@)
438  */
439 DWORD WINAPI ImmGetProperty(HKL hKL, DWORD fdwIndex)
440 {
441   FIXME("(0x%08x, %ld): stub\n", hKL, fdwIndex);
442   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
443   return 0;
444 }
445
446 /***********************************************************************
447  *              ImmGetRegisterWordStyleA (IMM32.@)
448  */
449 UINT WINAPI ImmGetRegisterWordStyleA(
450   HKL hKL, UINT nItem, LPSTYLEBUFA lpStyleBuf)
451 {
452   FIXME("(0x%08x, %d, %p): stub\n", hKL, nItem, lpStyleBuf);
453   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
454   return 0;
455 }
456
457 /***********************************************************************
458  *              ImmGetRegisterWordStyleW (IMM32.@)
459  */
460 UINT WINAPI ImmGetRegisterWordStyleW(
461   HKL hKL, UINT nItem, LPSTYLEBUFW lpStyleBuf)
462 {
463   FIXME("(0x%08x, %d, %p): stub\n", hKL, nItem, lpStyleBuf);
464   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
465   return 0;
466 }
467
468 /***********************************************************************
469  *              ImmGetStatusWindowPos (IMM32.@)
470  */
471 BOOL WINAPI ImmGetStatusWindowPos(HIMC hIMC, LPPOINT lpptPos)
472 {
473   FIXME("(0x%08x, %p): stub\n", hIMC, lpptPos);
474   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
475   return FALSE;
476 }
477
478 /***********************************************************************
479  *              ImmGetVirtualKey (IMM32.@)
480  */
481 UINT WINAPI ImmGetVirtualKey(HWND hWnd)
482 {
483   OSVERSIONINFOA version;
484   FIXME("(0x%08x): stub\n", hWnd);
485   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
486   GetVersionExA( &version );
487   switch(version.dwPlatformId)
488   {
489   case VER_PLATFORM_WIN32_WINDOWS:
490       return VK_PROCESSKEY;
491   case VER_PLATFORM_WIN32_NT:
492       return 0;
493   default:
494       FIXME("%ld not supported\n",version.dwPlatformId);
495       return VK_PROCESSKEY;
496   }
497 }
498
499 /***********************************************************************
500  *              ImmInstallIMEA (IMM32.@)
501  */
502 HKL WINAPI ImmInstallIMEA(
503   LPCSTR lpszIMEFileName, LPCSTR lpszLayoutText)
504 {
505   FIXME("(%s, %s): stub\n",
506     debugstr_a(lpszIMEFileName), debugstr_a(lpszLayoutText)
507   );
508   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
509   return (HKL)NULL;
510 }
511
512 /***********************************************************************
513  *              ImmInstallIMEW (IMM32.@)
514  */
515 HKL WINAPI ImmInstallIMEW(
516   LPCWSTR lpszIMEFileName, LPCWSTR lpszLayoutText)
517 {
518   FIXME("(%s, %s): stub\n",
519     debugstr_w(lpszIMEFileName), debugstr_w(lpszLayoutText)
520   );
521   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
522   return (HKL)NULL;
523 }
524
525 /***********************************************************************
526  *              ImmIsIME (IMM32.@)
527  */
528 BOOL WINAPI ImmIsIME(HKL hKL)
529 {
530   FIXME("(0x%08x): stub\n", hKL);
531   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
532   return FALSE;
533 }
534
535 /***********************************************************************
536  *              ImmIsUIMessageA (IMM32.@)
537  */
538 BOOL WINAPI ImmIsUIMessageA(
539   HWND hWndIME, UINT msg, WPARAM wParam, LPARAM lParam)
540 {
541   FIXME("(0x%08x, %d, %d, %ld): stub\n",
542     hWndIME, msg, wParam, lParam
543   );
544   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
545   return FALSE;
546 }
547
548 /***********************************************************************
549  *              ImmIsUIMessageW (IMM32.@)
550  */
551 BOOL WINAPI ImmIsUIMessageW(
552   HWND hWndIME, UINT msg, WPARAM wParam, LPARAM lParam)
553 {
554   FIXME("(0x%08x, %d, %d, %ld): stub\n",
555     hWndIME, msg, wParam, lParam
556   );
557   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
558   return FALSE;
559 }
560
561 /***********************************************************************
562  *              ImmNotifyIME (IMM32.@)
563  */
564 BOOL WINAPI ImmNotifyIME(
565   HIMC hIMC, DWORD dwAction, DWORD dwIndex, DWORD dwValue)
566 {
567   FIXME("(0x%08x, %ld, %ld, %ld): stub\n",
568     hIMC, dwAction, dwIndex, dwValue
569   );
570   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
571   return FALSE;
572 }
573
574 /***********************************************************************
575  *              ImmRegisterWordA (IMM32.@)
576  */
577 BOOL WINAPI ImmRegisterWordA(
578   HKL hKL, LPCSTR lpszReading, DWORD dwStyle, LPCSTR lpszRegister)
579 {
580   FIXME("(0x%08x, %s, %ld, %s): stub\n",
581     hKL, debugstr_a(lpszReading), dwStyle, debugstr_a(lpszRegister)
582   );
583   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
584   return FALSE;
585 }
586
587 /***********************************************************************
588  *              ImmRegisterWordW (IMM32.@)
589  */
590 BOOL WINAPI ImmRegisterWordW(
591   HKL hKL, LPCWSTR lpszReading, DWORD dwStyle, LPCWSTR lpszRegister)
592 {
593   FIXME("(0x%08x, %s, %ld, %s): stub\n",
594     hKL, debugstr_w(lpszReading), dwStyle, debugstr_w(lpszRegister)
595   );
596   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
597   return FALSE;
598 }
599
600 /***********************************************************************
601  *              ImmReleaseContext (IMM32.@)
602  */
603 BOOL WINAPI ImmReleaseContext(HWND hWnd, HIMC hIMC)
604 {
605   FIXME("(0x%08x, 0x%08x): stub\n", hWnd, hIMC);
606   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
607   return FALSE;
608 }
609
610 /***********************************************************************
611  *              ImmSetCandidateWindow (IMM32.@)
612  */
613 BOOL WINAPI ImmSetCandidateWindow(
614   HIMC hIMC, LPCANDIDATEFORM lpCandidate)
615 {
616   FIXME("(0x%08x, %p): stub\n", hIMC, lpCandidate);
617   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
618   return FALSE;
619 }
620
621 /***********************************************************************
622  *              ImmSetCompositionFontA (IMM32.@)
623  */
624 BOOL WINAPI ImmSetCompositionFontA(HIMC hIMC, LPLOGFONTA lplf)
625 {
626   FIXME("(0x%08x, %p): stub\n", hIMC, lplf);
627   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
628   return FALSE;
629 }
630
631 /***********************************************************************
632  *              ImmSetCompositionFontW (IMM32.@)
633  */
634 BOOL WINAPI ImmSetCompositionFontW(HIMC hIMC, LPLOGFONTW lplf)
635 {
636   FIXME("(0x%08x, %p): stub\n", hIMC, lplf);
637   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
638   return FALSE;
639 }
640
641 /***********************************************************************
642  *              ImmSetCompositionStringA (IMM32.@)
643  */
644 BOOL WINAPI ImmSetCompositionStringA(
645   HIMC hIMC, DWORD dwIndex,
646   LPCVOID lpComp, DWORD dwCompLen,
647   LPCVOID lpRead, DWORD dwReadLen)
648 {
649   FIXME("(0x%08x, %ld, %p, %ld, %p, %ld): stub\n",
650     hIMC, dwIndex, lpComp, dwCompLen, lpRead, dwReadLen
651   );
652   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
653   return FALSE;
654 }
655
656 /***********************************************************************
657  *              ImmSetCompositionStringW (IMM32.@)
658  */
659 BOOL WINAPI ImmSetCompositionStringW(
660         HIMC hIMC, DWORD dwIndex,
661         LPCVOID lpComp, DWORD dwCompLen,
662         LPCVOID lpRead, DWORD dwReadLen)
663 {
664   FIXME("(0x%08x, %ld, %p, %ld, %p, %ld): stub\n",
665     hIMC, dwIndex, lpComp, dwCompLen, lpRead, dwReadLen
666   );
667   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
668   return FALSE;
669 }
670
671 /***********************************************************************
672  *              ImmSetCompositionWindow (IMM32.@)
673  */
674 BOOL WINAPI ImmSetCompositionWindow(
675   HIMC hIMC, LPCOMPOSITIONFORM lpCompForm)
676 {
677   FIXME("(0x%08x, %p): stub\n", hIMC, lpCompForm);
678   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
679   return FALSE;
680 }
681
682 /***********************************************************************
683  *              ImmSetConversionStatus (IMM32.@)
684  */
685 BOOL WINAPI ImmSetConversionStatus(
686   HIMC hIMC, DWORD fdwConversion, DWORD fdwSentence)
687 {
688   FIXME("(0x%08x, %ld, %ld): stub\n",
689     hIMC, fdwConversion, fdwSentence
690   );
691   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
692   return FALSE;
693 }
694
695 /***********************************************************************
696  *              ImmSetOpenStatus (IMM32.@)
697  */
698 BOOL WINAPI ImmSetOpenStatus(HIMC hIMC, BOOL fOpen)
699 {
700   FIXME("(0x%08x, %d): stub\n", hIMC, fOpen);
701   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
702   return FALSE;
703 }
704
705 /***********************************************************************
706  *              ImmSetStatusWindowPos (IMM32.@)
707  */
708 BOOL WINAPI ImmSetStatusWindowPos(HIMC hIMC, LPPOINT lpptPos)
709 {
710   FIXME("(0x%08x, %p): stub\n", hIMC, lpptPos);
711   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
712   return FALSE;
713 }
714
715 /***********************************************************************
716  *              ImmSimulateHotKey (IMM32.@)
717  */
718 BOOL WINAPI ImmSimulateHotKey(HWND hWnd, DWORD dwHotKeyID)
719 {
720   FIXME("(0x%08x, %ld): stub\n", hWnd, dwHotKeyID);
721   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
722   return FALSE;
723 }
724
725 /***********************************************************************
726  *              ImmUnregisterWordA (IMM32.@)
727  */
728 BOOL WINAPI ImmUnregisterWordA(
729   HKL hKL, LPCSTR lpszReading, DWORD dwStyle, LPCSTR lpszUnregister)
730 {
731   FIXME("(0x%08x, %s, %ld, %s): stub\n",
732     hKL, debugstr_a(lpszReading), dwStyle, debugstr_a(lpszUnregister)
733   );
734   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
735   return FALSE;
736 }
737
738 /***********************************************************************
739  *              ImmUnregisterWordW (IMM32.@)
740  */
741 BOOL WINAPI ImmUnregisterWordW(
742   HKL hKL, LPCWSTR lpszReading, DWORD dwStyle, LPCWSTR lpszUnregister)
743 {
744   FIXME("(0x%08x, %s, %ld, %s): stub\n",
745     hKL, debugstr_w(lpszReading), dwStyle, debugstr_w(lpszUnregister)
746   );
747   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
748   return FALSE;
749 }