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