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