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