Fixed some issues found by winapi_check.
[wine] / dlls / imm32 / imm.c
1 /*
2  *      IMM32 stubs - please implement!
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 "immddk.h"
13
14 #include "debugtools.h"
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  *              ImmNotifyIME (IMM32.@)
523  */
524 BOOL WINAPI ImmNotifyIME(
525   HIMC hIMC, DWORD dwAction, DWORD dwIndex, DWORD dwValue)
526 {
527   FIXME("(0x%08x, %ld, %ld, %ld): stub\n",
528     hIMC, dwAction, dwIndex, dwValue
529   );
530   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
531   return FALSE;
532 }
533
534 /***********************************************************************
535  *              ImmRegisterWordA (IMM32.@)
536  */
537 BOOL WINAPI ImmRegisterWordA(
538   HKL hKL, LPCSTR lpszReading, DWORD dwStyle, LPCSTR lpszRegister)
539 {
540   FIXME("(0x%08x, %s, %ld, %s): stub\n",
541     hKL, debugstr_a(lpszReading), dwStyle, debugstr_a(lpszRegister)
542   );
543   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
544   return FALSE;
545 }
546
547 /***********************************************************************
548  *              ImmRegisterWordW (IMM32.@)
549  */
550 BOOL WINAPI ImmRegisterWordW(
551   HKL hKL, LPCWSTR lpszReading, DWORD dwStyle, LPCWSTR lpszRegister)
552 {
553   FIXME("(0x%08x, %s, %ld, %s): stub\n",
554     hKL, debugstr_w(lpszReading), dwStyle, debugstr_w(lpszRegister)
555   );
556   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
557   return FALSE;
558 }
559
560 /***********************************************************************
561  *              ImmReleaseContext (IMM32.@)
562  */
563 BOOL WINAPI ImmReleaseContext(HWND hWnd, HIMC hIMC)
564 {
565   FIXME("(0x%08x, 0x%08x): stub\n", hWnd, hIMC);
566   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
567   return FALSE;
568 }
569
570 /***********************************************************************
571  *              ImmSetCandidateWindow (IMM32.@)
572  */
573 BOOL WINAPI ImmSetCandidateWindow(
574   HIMC hIMC, LPCANDIDATEFORM lpCandidate)
575 {
576   FIXME("(0x%08x, %p): stub\n", hIMC, lpCandidate);
577   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
578   return FALSE;
579 }
580
581 /***********************************************************************
582  *              ImmSetCompositionFontA (IMM32.@)
583  */
584 BOOL WINAPI ImmSetCompositionFontA(HIMC hIMC, LPLOGFONTA lplf)
585 {
586   FIXME("(0x%08x, %p): stub\n", hIMC, lplf);
587   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
588   return FALSE;
589 }
590
591 /***********************************************************************
592  *              ImmSetCompositionFontW (IMM32.@)
593  */
594 BOOL WINAPI ImmSetCompositionFontW(HIMC hIMC, LPLOGFONTW lplf)
595 {
596   FIXME("(0x%08x, %p): stub\n", hIMC, lplf);
597   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
598   return FALSE;
599 }
600
601 /***********************************************************************
602  *              ImmSetCompositionStringA (IMM32.@)
603  */
604 BOOL WINAPI ImmSetCompositionStringA(
605   HIMC hIMC, DWORD dwIndex, 
606   LPCVOID lpComp, DWORD dwCompLen, 
607   LPCVOID lpRead, DWORD dwReadLen)
608 {
609   FIXME("(0x%08x, %ld, %p, %ld, %p, %ld): stub\n",
610     hIMC, dwIndex, lpComp, dwCompLen, lpRead, dwReadLen
611   );
612   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
613   return FALSE;
614 }
615
616 /***********************************************************************
617  *              ImmSetCompositionStringW (IMM32.@)
618  */
619 BOOL WINAPI ImmSetCompositionStringW(
620         HIMC hIMC, DWORD dwIndex,
621         LPCVOID lpComp, DWORD dwCompLen,
622         LPCVOID lpRead, DWORD dwReadLen)
623 {
624   FIXME("(0x%08x, %ld, %p, %ld, %p, %ld): stub\n",
625     hIMC, dwIndex, lpComp, dwCompLen, lpRead, dwReadLen
626   );
627   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
628   return FALSE;
629 }
630
631 /***********************************************************************
632  *              ImmSetCompositionWindow (IMM32.@)
633  */
634 BOOL WINAPI ImmSetCompositionWindow(
635   HIMC hIMC, LPCOMPOSITIONFORM lpCompForm)
636 {
637   FIXME("(0x%08x, %p): stub\n", hIMC, lpCompForm);
638   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
639   return FALSE;
640 }
641
642 /***********************************************************************
643  *              ImmSetConversionStatus (IMM32.@)
644  */
645 BOOL WINAPI ImmSetConversionStatus(
646   HIMC hIMC, DWORD fdwConversion, DWORD fdwSentence)
647 {
648   FIXME("(0x%08x, %ld, %ld): stub\n",
649     hIMC, fdwConversion, fdwSentence
650   );
651   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
652   return FALSE;
653 }
654
655 /***********************************************************************
656  *              ImmSetOpenStatus (IMM32.@)
657  */
658 BOOL WINAPI ImmSetOpenStatus(HIMC hIMC, BOOL fOpen)
659 {
660   FIXME("(0x%08x, %d): stub\n", hIMC, fOpen);
661   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
662   return FALSE;
663 }
664
665 /***********************************************************************
666  *              ImmSetStatusWindowPos (IMM32.@)
667  */
668 BOOL WINAPI ImmSetStatusWindowPos(HIMC hIMC, LPPOINT lpptPos)
669 {
670   FIXME("(0x%08x, %p): stub\n", hIMC, lpptPos);
671   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
672   return FALSE;
673 }
674
675 /***********************************************************************
676  *              ImmSimulateHotKey (IMM32.@)
677  */
678 BOOL WINAPI ImmSimulateHotKey(HWND hWnd, DWORD dwHotKeyID)
679 {
680   FIXME("(0x%08x, %ld): stub\n", hWnd, dwHotKeyID);
681   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
682   return FALSE;
683 }
684
685 /***********************************************************************
686  *              ImmUnregisterWordA (IMM32.@)
687  */
688 BOOL WINAPI ImmUnregisterWordA(
689   HKL hKL, LPCSTR lpszReading, DWORD dwStyle, LPCSTR lpszUnregister)
690 {
691   FIXME("(0x%08x, %s, %ld, %s): stub\n",
692     hKL, debugstr_a(lpszReading), dwStyle, debugstr_a(lpszUnregister)
693   );
694   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
695   return FALSE;
696 }
697
698 /***********************************************************************
699  *              ImmUnregisterWordW (IMM32.@)
700  */
701 BOOL WINAPI ImmUnregisterWordW(
702   HKL hKL, LPCWSTR lpszReading, DWORD dwStyle, LPCWSTR lpszUnregister)
703 {
704   FIXME("(0x%08x, %s, %ld, %s): stub\n",
705     hKL, debugstr_w(lpszReading), dwStyle, debugstr_w(lpszUnregister)
706   );
707   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
708   return FALSE;
709 }
710
711 /***********************************************************************
712  *              ImmLockIMC (IMM32.@)
713  */
714 LPINPUTCONTEXT WINAPI ImmLockIMC(HIMC hIMC)
715 {
716         FIXME("(0x%08x): stub\n", (unsigned)hIMC);
717         SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
718         return NULL;
719 }
720
721 /***********************************************************************
722  *              ImmUnlockIMC (IMM32.@)
723  */
724 BOOL WINAPI ImmUnlockIMC(HIMC hIMC)
725 {
726         FIXME("(0x%08x): stub\n", (unsigned)hIMC);
727         SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
728         return FALSE;
729 }
730
731 /***********************************************************************
732  *              ImmGetIMCLockCount (IMM32.@)
733  */
734 DWORD WINAPI ImmGetIMCLockCount(HIMC hIMC)
735 {
736         FIXME("(0x%08x): stub\n", (unsigned)hIMC);
737         SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
738         return 0;
739 }
740
741 /***********************************************************************
742  *              ImmCreateSoftKeyboard (IMM32.@)
743  */
744 HWND WINAPI ImmCreateSoftKeyboard(UINT uType, HWND hOwner, int x, int y)
745 {
746         FIXME("(0x%08x, 0x%08x, %d, %d): stub\n", uType, (unsigned)hOwner, x, y);
747         SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
748         return (HWND)NULL;
749 }
750
751 /***********************************************************************
752  *              ImmDestroySoftKeyboard (IMM32.@)
753  */
754 BOOL WINAPI ImmDestroySoftKeyboard(HWND hwndSoftKeyboard)
755 {
756         FIXME("(0x%08x): stub\n", (unsigned)hwndSoftKeyboard);
757         SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
758         return FALSE;
759 }
760
761 /***********************************************************************
762  *              ImmShowSoftKeyboard (IMM32.@)
763  */
764 BOOL WINAPI ImmShowSoftKeyboard(HWND hwndSoftKeyboard, int nCmdShow)
765 {
766         FIXME("(0x%08x, %d): stub\n", (unsigned)hwndSoftKeyboard, nCmdShow);
767         SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
768         return FALSE;
769 }
770
771 /***********************************************************************
772  *              ImmGetHotKey (IMM32.@)
773  */
774 BOOL WINAPI ImmGetHotKey(DWORD dwHotKeyID, LPUINT lpuModifiers,
775                          LPUINT lpuVKey, LPHKL lphKL)
776 {
777         FIXME("(0x%08lx, %p, %p, %p): stub\n",
778                dwHotKeyID, lpuModifiers, lpuVKey, lphKL);
779         SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
780         return FALSE;
781 }
782
783 /***********************************************************************
784  *              ImmSetHotKey (IMM32.@)
785  */
786 BOOL WINAPI ImmSetHotKey(DWORD dwHotKeyID, UINT uModifiers,
787                          UINT uVKey, HKL hKL)
788 {
789         FIXME("(0x%08lx, 0x%08x, 0x%08x, 0x%08x): stub\n",
790                dwHotKeyID, uModifiers, uVKey, (unsigned)hKL);
791         SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
792         return FALSE;
793 }
794
795 /***********************************************************************
796  *              ImmGenerateMessage (IMM32.@)
797  */
798 BOOL WINAPI ImmGenerateMessage(HIMC hIMC)
799 {
800         FIXME("(0x%08x): stub\n", (unsigned)hIMC);
801         SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
802         return FALSE;
803 }
804
805
806