Removed a few dependencies on kernel32 functions.
[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 "imm.h"
14
15 DEFAULT_DEBUG_CHANNEL(imm);
16
17 /***********************************************************************
18  *              ImmAssociateContext (IMM32.@)
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  *              ImmConfigureIMEA (IMM32.@)
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  *              ImmConfigureIMEW (IMM32.@)
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  *              ImmCreateContext (IMM32.@)
55  */
56 HIMC WINAPI ImmCreateContext()
57 {
58   FIXME("(): stub\n");
59   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
60   return (HIMC)NULL;
61 }
62
63 /***********************************************************************
64  *              ImmDestroyContext (IMM32.@)
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  *              ImmEnumRegisterWordA (IMM32.@)
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  *              ImmEnumRegisterWordW (IMM32.@)
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  *              ImmEscapeA (IMM32.@)
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  *              ImmEscapeW (IMM32.@)
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  *              ImmGetCandidateListA (IMM32.@)
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  *              ImmGetCandidateListCountA (IMM32.@)
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  *              ImmGetCandidateListCountW (IMM32.@)
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  *              ImmGetCandidateListW (IMM32.@)
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  *              ImmGetCandidateWindow (IMM32.@)
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  *              ImmGetCompositionFontA (IMM32.@)
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  *              ImmGetCompositionFontW (IMM32.@)
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  *              ImmGetCompositionStringA (IMM32.@)
220  */
221 LONG WINAPI ImmGetCompositionStringA(
222   HIMC hIMC, DWORD dwIndex, LPVOID lpBuf, DWORD dwBufLen)
223 {
224   OSVERSIONINFOA version;
225   FIXME("(0x%08x, %ld, %p, %ld): stub\n",
226     hIMC, dwIndex, lpBuf, dwBufLen
227   );
228   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
229   GetVersionExA( &version );
230   switch(version.dwPlatformId)
231   {
232   case VER_PLATFORM_WIN32_WINDOWS: return -1;
233   case VER_PLATFORM_WIN32_NT: return 0;
234   default:
235       FIXME("%ld not supported",version.dwPlatformId);
236       return -1;
237   }
238 }
239
240 /***********************************************************************
241  *              ImmGetCompositionStringW (IMM32.@)
242  */
243 LONG WINAPI ImmGetCompositionStringW(
244   HIMC hIMC, DWORD dwIndex, 
245   LPVOID lpBuf, DWORD dwBufLen)
246 {
247   OSVERSIONINFOA version;
248   FIXME("(0x%08x, %ld, %p, %ld): stub\n",
249     hIMC, dwIndex, lpBuf, dwBufLen
250   );
251   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
252   GetVersionExA( &version );
253   switch(version.dwPlatformId)
254   {
255   case VER_PLATFORM_WIN32_WINDOWS: return -1;
256   case VER_PLATFORM_WIN32_NT: return 0;
257   default:
258       FIXME("%ld not supported",version.dwPlatformId);
259       return -1;
260   }
261 }
262
263 /***********************************************************************
264  *              ImmGetCompositionWindow (IMM32.@)
265  */
266 BOOL WINAPI ImmGetCompositionWindow(HIMC hIMC, LPCOMPOSITIONFORM lpCompForm)
267 {
268   FIXME("(0x%08x, %p): stub\n", hIMC, lpCompForm);
269   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
270   return 0;
271 }
272
273 /***********************************************************************
274  *              ImmGetContext (IMM32.@)
275  */
276 HIMC WINAPI ImmGetContext(HWND hWnd)
277 {
278   FIXME("(0x%08x): stub\n", hWnd);
279   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
280   return (HIMC)NULL;
281 }
282
283 /***********************************************************************
284  *              ImmGetConversionListA (IMM32.@)
285  */
286 DWORD WINAPI ImmGetConversionListA(
287   HKL hKL, HIMC hIMC,
288   LPCSTR pSrc, LPCANDIDATELIST lpDst,
289   DWORD dwBufLen, UINT uFlag)
290 {
291   FIXME("(0x%08x, 0x%08x, %s, %p, %ld, %d): stub\n",
292     hKL, hIMC, debugstr_a(pSrc), lpDst, dwBufLen, uFlag
293   );
294   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
295   return 0;
296 }
297
298 /***********************************************************************
299  *              ImmGetConversionListW (IMM32.@)
300  */
301 DWORD WINAPI ImmGetConversionListW(
302   HKL hKL, HIMC hIMC,
303   LPCWSTR pSrc, LPCANDIDATELIST lpDst,
304   DWORD dwBufLen, UINT uFlag)
305 {
306   FIXME("(0x%08x, 0x%08x, %s, %p, %ld, %d): stub\n",
307     hKL, hIMC, debugstr_w(pSrc), lpDst, dwBufLen, uFlag
308   );
309   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
310   return 0;
311 }
312
313 /***********************************************************************
314  *              ImmGetConversionStatus (IMM32.@)
315  */
316 BOOL WINAPI ImmGetConversionStatus(
317   HIMC hIMC, LPDWORD lpfdwConversion, LPDWORD lpfdwSentence)
318 {
319   FIXME("(0x%08x, %p, %p): stub\n",
320     hIMC, lpfdwConversion, lpfdwSentence
321   );
322   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
323   return FALSE;
324 }
325
326 /***********************************************************************
327  *              ImmGetDefaultIMEWnd (IMM32.@)
328  */
329 HWND WINAPI ImmGetDefaultIMEWnd(HWND hWnd)
330 {
331   FIXME("(0x%08x): stub\n", hWnd);
332   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
333   return (HWND)NULL;
334 }
335
336 /***********************************************************************
337  *              ImmGetDescriptionA (IMM32.@)
338  */
339 UINT WINAPI ImmGetDescriptionA(
340   HKL hKL, LPSTR lpszDescription, UINT uBufLen)
341 {
342   FIXME("(0x%08x, %s, %d): stub\n",
343     hKL, debugstr_a(lpszDescription), uBufLen
344   );
345   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
346   return 0;
347 }
348
349 /***********************************************************************
350  *              ImmGetDescriptionW (IMM32.@)
351  */
352 UINT WINAPI ImmGetDescriptionW(HKL hKL, LPWSTR lpszDescription, UINT uBufLen)
353 {
354   FIXME("(0x%08x, %s, %d): stub\n",
355     hKL, debugstr_w(lpszDescription), uBufLen
356   );
357   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
358   return 0;
359 }
360
361 /***********************************************************************
362  *              ImmGetGuideLineA (IMM32.@)
363  */
364 DWORD WINAPI ImmGetGuideLineA(
365   HIMC hIMC, DWORD dwIndex, LPSTR lpBuf, DWORD dwBufLen)
366 {
367   FIXME("(0x%08x, %ld, %s, %ld): stub\n",
368     hIMC, dwIndex, debugstr_a(lpBuf), dwBufLen
369   );
370   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
371   return 0;
372 }
373
374 /***********************************************************************
375  *              ImmGetGuideLineW (IMM32.@)
376  */
377 DWORD WINAPI ImmGetGuideLineW(HIMC hIMC, DWORD dwIndex, LPWSTR lpBuf, DWORD dwBufLen)
378 {
379   FIXME("(0x%08x, %ld, %s, %ld): stub\n",
380     hIMC, dwIndex, debugstr_w(lpBuf), dwBufLen
381   );
382   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
383   return 0;
384 }
385
386 /***********************************************************************
387  *              ImmGetIMEFileNameA (IMM32.@)
388  */
389 UINT WINAPI ImmGetIMEFileNameA(
390   HKL hKL, LPSTR lpszFileName, UINT uBufLen)
391 {
392   FIXME("(0x%08x, %s, %d): stub\n",
393     hKL, debugstr_a(lpszFileName), uBufLen
394   );
395   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
396   return 0;
397 }
398
399 /***********************************************************************
400  *              ImmGetIMEFileNameW (IMM32.@)
401  */
402 UINT WINAPI ImmGetIMEFileNameW(
403   HKL hKL, LPWSTR lpszFileName, UINT uBufLen)
404 {
405   FIXME("(0x%08x, %s, %d): stub\n",
406     hKL, debugstr_w(lpszFileName), uBufLen
407   );
408   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
409   return 0;
410 }
411
412 /***********************************************************************
413  *              ImmGetOpenStatus (IMM32.@)
414  */
415 BOOL WINAPI ImmGetOpenStatus(HIMC hIMC)
416 {
417   FIXME("(0x%08x): stub\n", hIMC);
418   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
419   return FALSE;
420 }
421
422 /***********************************************************************
423  *              ImmGetProperty (IMM32.@)
424  */
425 DWORD WINAPI ImmGetProperty(HKL hKL, DWORD fdwIndex)
426 {
427   FIXME("(0x%08x, %ld): stub\n", hKL, fdwIndex);
428   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
429   return 0;
430 }
431
432 /***********************************************************************
433  *              ImmGetRegisterWordStyleA (IMM32.@)
434  */
435 UINT WINAPI ImmGetRegisterWordStyleA(
436   HKL hKL, UINT nItem, LPSTYLEBUFA lpStyleBuf)
437 {
438   FIXME("(0x%08x, %d, %p): stub\n", hKL, nItem, lpStyleBuf);
439   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
440   return 0;
441 }
442
443 /***********************************************************************
444  *              ImmGetRegisterWordStyleW (IMM32.@)
445  */
446 UINT WINAPI ImmGetRegisterWordStyleW(
447   HKL hKL, UINT nItem, LPSTYLEBUFW lpStyleBuf)
448 {
449   FIXME("(0x%08x, %d, %p): stub\n", hKL, nItem, lpStyleBuf);
450   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
451   return 0;
452 }
453
454 /***********************************************************************
455  *              ImmGetStatusWindowPos (IMM32.@)
456  */
457 BOOL WINAPI ImmGetStatusWindowPos(HIMC hIMC, LPPOINT lpptPos)
458 {
459   FIXME("(0x%08x, %p): stub\n", hIMC, lpptPos);
460   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
461   return FALSE;
462 }
463
464 /***********************************************************************
465  *              ImmGetVirtualKey (IMM32.@)
466  */
467 UINT WINAPI ImmGetVirtualKey(HWND hWnd)
468 {
469   OSVERSIONINFOA version;
470   FIXME("(0x%08x): stub\n", hWnd);
471   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
472   GetVersionExA( &version );
473   switch(version.dwPlatformId)
474   {
475   case VER_PLATFORM_WIN32_WINDOWS:
476       return VK_PROCESSKEY;
477   case VER_PLATFORM_WIN32_NT:
478       return 0;
479   default:
480       FIXME("%ld not supported",version.dwPlatformId);
481       return VK_PROCESSKEY;
482   }
483 }
484
485 /***********************************************************************
486  *              ImmInstallIMEA (IMM32.@)
487  */
488 HKL WINAPI ImmInstallIMEA(
489   LPCSTR lpszIMEFileName, LPCSTR lpszLayoutText)
490 {
491   FIXME("(%s, %s): stub\n",
492     debugstr_a(lpszIMEFileName), debugstr_a(lpszLayoutText)
493   );
494   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
495   return (HKL)NULL;
496 }
497
498 /***********************************************************************
499  *              ImmInstallIMEW (IMM32.@)
500  */
501 HKL WINAPI ImmInstallIMEW(
502   LPCWSTR lpszIMEFileName, LPCWSTR lpszLayoutText)
503 {
504   FIXME("(%s, %s): stub\n",
505     debugstr_w(lpszIMEFileName), debugstr_w(lpszLayoutText)
506   );
507   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
508   return (HKL)NULL;
509 }
510
511 /***********************************************************************
512  *              ImmIsIME (IMM32.@)
513  */
514 BOOL WINAPI ImmIsIME(HKL hKL)
515 {
516   FIXME("(0x%08x): stub\n", hKL);
517   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
518   return FALSE;
519 }
520
521 /***********************************************************************
522  *              ImmIsUIMessageA (IMM32.@)
523  */
524 BOOL WINAPI ImmIsUIMessageA(
525   HWND hWndIME, UINT msg, WPARAM wParam, LPARAM lParam)
526 {
527   FIXME("(0x%08x, %d, %d, %ld): stub\n",
528     hWndIME, msg, wParam, lParam
529   );
530   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
531   return FALSE;
532 }
533
534 /***********************************************************************
535  *              ImmIsUIMessageW (IMM32.@)
536  */
537 BOOL WINAPI ImmIsUIMessageW(
538   HWND hWndIME, UINT msg, WPARAM wParam, LPARAM lParam)
539 {
540   FIXME("(0x%08x, %d, %d, %ld): stub\n",
541     hWndIME, msg, wParam, lParam
542   );
543   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
544   return FALSE;
545 }
546
547 /***********************************************************************
548  *              ImmNotifyIME (IMM32.@)
549  */
550 BOOL WINAPI ImmNotifyIME(
551   HIMC hIMC, DWORD dwAction, DWORD dwIndex, DWORD dwValue)
552 {
553   FIXME("(0x%08x, %ld, %ld, %ld): stub\n",
554     hIMC, dwAction, dwIndex, dwValue
555   );
556   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
557   return FALSE;
558 }
559
560 /***********************************************************************
561  *              ImmRegisterWordA (IMM32.@)
562  */
563 BOOL WINAPI ImmRegisterWordA(
564   HKL hKL, LPCSTR lpszReading, DWORD dwStyle, LPCSTR lpszRegister)
565 {
566   FIXME("(0x%08x, %s, %ld, %s): stub\n",
567     hKL, debugstr_a(lpszReading), dwStyle, debugstr_a(lpszRegister)
568   );
569   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
570   return FALSE;
571 }
572
573 /***********************************************************************
574  *              ImmRegisterWordW (IMM32.@)
575  */
576 BOOL WINAPI ImmRegisterWordW(
577   HKL hKL, LPCWSTR lpszReading, DWORD dwStyle, LPCWSTR lpszRegister)
578 {
579   FIXME("(0x%08x, %s, %ld, %s): stub\n",
580     hKL, debugstr_w(lpszReading), dwStyle, debugstr_w(lpszRegister)
581   );
582   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
583   return FALSE;
584 }
585
586 /***********************************************************************
587  *              ImmReleaseContext (IMM32.@)
588  */
589 BOOL WINAPI ImmReleaseContext(HWND hWnd, HIMC hIMC)
590 {
591   FIXME("(0x%08x, 0x%08x): stub\n", hWnd, hIMC);
592   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
593   return FALSE;
594 }
595
596 /***********************************************************************
597  *              ImmSetCandidateWindow (IMM32.@)
598  */
599 BOOL WINAPI ImmSetCandidateWindow(
600   HIMC hIMC, LPCANDIDATEFORM lpCandidate)
601 {
602   FIXME("(0x%08x, %p): stub\n", hIMC, lpCandidate);
603   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
604   return FALSE;
605 }
606
607 /***********************************************************************
608  *              ImmSetCompositionFontA (IMM32.@)
609  */
610 BOOL WINAPI ImmSetCompositionFontA(HIMC hIMC, LPLOGFONTA lplf)
611 {
612   FIXME("(0x%08x, %p): stub\n", hIMC, lplf);
613   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
614   return FALSE;
615 }
616
617 /***********************************************************************
618  *              ImmSetCompositionFontW (IMM32.@)
619  */
620 BOOL WINAPI ImmSetCompositionFontW(HIMC hIMC, LPLOGFONTW lplf)
621 {
622   FIXME("(0x%08x, %p): stub\n", hIMC, lplf);
623   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
624   return FALSE;
625 }
626
627 /***********************************************************************
628  *              ImmSetCompositionStringA (IMM32.@)
629  */
630 BOOL WINAPI ImmSetCompositionStringA(
631   HIMC hIMC, DWORD dwIndex, 
632   LPCVOID lpComp, DWORD dwCompLen, 
633   LPCVOID lpRead, DWORD dwReadLen)
634 {
635   FIXME("(0x%08x, %ld, %p, %ld, %p, %ld): stub\n",
636     hIMC, dwIndex, lpComp, dwCompLen, lpRead, dwReadLen
637   );
638   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
639   return FALSE;
640 }
641
642 /***********************************************************************
643  *              ImmSetCompositionStringW (IMM32.@)
644  */
645 BOOL WINAPI ImmSetCompositionStringW(
646         HIMC hIMC, DWORD dwIndex,
647         LPCVOID lpComp, DWORD dwCompLen,
648         LPCVOID lpRead, DWORD dwReadLen)
649 {
650   FIXME("(0x%08x, %ld, %p, %ld, %p, %ld): stub\n",
651     hIMC, dwIndex, lpComp, dwCompLen, lpRead, dwReadLen
652   );
653   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
654   return FALSE;
655 }
656
657 /***********************************************************************
658  *              ImmSetCompositionWindow (IMM32.@)
659  */
660 BOOL WINAPI ImmSetCompositionWindow(
661   HIMC hIMC, LPCOMPOSITIONFORM lpCompForm)
662 {
663   FIXME("(0x%08x, %p): stub\n", hIMC, lpCompForm);
664   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
665   return FALSE;
666 }
667
668 /***********************************************************************
669  *              ImmSetConversionStatus (IMM32.@)
670  */
671 BOOL WINAPI ImmSetConversionStatus(
672   HIMC hIMC, DWORD fdwConversion, DWORD fdwSentence)
673 {
674   FIXME("(0x%08x, %ld, %ld): stub\n",
675     hIMC, fdwConversion, fdwSentence
676   );
677   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
678   return FALSE;
679 }
680
681 /***********************************************************************
682  *              ImmSetOpenStatus (IMM32.@)
683  */
684 BOOL WINAPI ImmSetOpenStatus(HIMC hIMC, BOOL fOpen)
685 {
686   FIXME("(0x%08x, %d): stub\n", hIMC, fOpen);
687   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
688   return FALSE;
689 }
690
691 /***********************************************************************
692  *              ImmSetStatusWindowPos (IMM32.@)
693  */
694 BOOL WINAPI ImmSetStatusWindowPos(HIMC hIMC, LPPOINT lpptPos)
695 {
696   FIXME("(0x%08x, %p): stub\n", hIMC, lpptPos);
697   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
698   return FALSE;
699 }
700
701 /***********************************************************************
702  *              ImmSimulateHotKey (IMM32.@)
703  */
704 BOOL WINAPI ImmSimulateHotKey(HWND hWnd, DWORD dwHotKeyID)
705 {
706   FIXME("(0x%08x, %ld): stub\n", hWnd, dwHotKeyID);
707   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
708   return FALSE;
709 }
710
711 /***********************************************************************
712  *              ImmUnregisterWordA (IMM32.@)
713  */
714 BOOL WINAPI ImmUnregisterWordA(
715   HKL hKL, LPCSTR lpszReading, DWORD dwStyle, LPCSTR lpszUnregister)
716 {
717   FIXME("(0x%08x, %s, %ld, %s): stub\n",
718     hKL, debugstr_a(lpszReading), dwStyle, debugstr_a(lpszUnregister)
719   );
720   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
721   return FALSE;
722 }
723
724 /***********************************************************************
725  *              ImmUnregisterWordW (IMM32.@)
726  */
727 BOOL WINAPI ImmUnregisterWordW(
728   HKL hKL, LPCWSTR lpszReading, DWORD dwStyle, LPCWSTR lpszUnregister)
729 {
730   FIXME("(0x%08x, %s, %ld, %s): stub\n",
731     hKL, debugstr_w(lpszReading), dwStyle, debugstr_w(lpszUnregister)
732   );
733   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
734   return FALSE;
735 }