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