Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

236 lines
5.5 KiB

  1. /*++ BUILD Version: 0001
  2. *
  3. * WOW v1.0
  4. *
  5. * Copyright (c) 1991, Microsoft Corporation
  6. *
  7. * WOWNLS.H
  8. * 16-bit IME API argument structures
  9. *
  10. * History:
  11. * Created 16-Apl-1996 by MSKK
  12. *
  13. --*/
  14. /* IME API IDs
  15. */
  16. #define FUN_SENDIMEMESSAGE 6
  17. #define FUN_SENDIMEMESSAGEEX 7
  18. #define FUN_WINNLSGETIMEHOTKEY 15
  19. #define FUN_WINNLSENABLEIME 16
  20. #define FUN_WINNLSGETENABLESTATUS 18
  21. #define FUN_IMPQUERYIME 22
  22. #define FUN_IMPGETIME 23
  23. #define FUN_IMPSETIME 24
  24. #if 0 // NT does not support the following APIs
  25. #define FUN_INQUIREWINNLS 1
  26. #define FUN_HOOKKEYBOARDMESSAGE 2
  27. #define FUN_CONTROLIMEMESSAGE 8 // for Taiwan, Prc
  28. #define FUN_WINNLSSETKEYBOARDHOOK 10
  29. #define FUN_WINNLSSETIMEHANDLE 11
  30. #define FUN_WINNLSSETIMESTATUS 12
  31. #define FUN_WINNLSSETIMEHOTKEY 14
  32. #define FUN_WINNLSGETKEYSTATE 17
  33. #define FUN_WINNLSSETKEYSTATE 19
  34. #define FUN_IMPADDIME 20
  35. #define FUN_IMPDELETEIME 21
  36. #define FUN_IMPMODIFYIME 25
  37. #define FUN_IMPGETDEFAULTIME 26
  38. #define FUN_IMPSETDEFAULTIME 27
  39. #define FUN_WINNLSSENDSTRING 30
  40. #define FUN_WINNLSPOSTAPPMESSAGE 31
  41. #define FUN_WINNLSSENDAPPMESSAGE 32
  42. #define FUN_WINNLSQUERYIMEINFO 40 // for Taiwan, Prc
  43. #endif // 0
  44. /* XLATOFF */
  45. #pragma pack(2)
  46. /* XLATON */
  47. typedef struct _SENDIMEMESSAGE16 { /* wn6 */
  48. DWORD lParam;
  49. HWND16 hwnd;
  50. } SENDIMEMESSAGE16;
  51. typedef SENDIMEMESSAGE16 UNALIGNED *PSENDIMEMESSAGE16;
  52. typedef struct _SENDIMEMESSAGEEX16 { /* wn7 */
  53. DWORD lParam;
  54. HWND16 hwnd;
  55. } SENDIMEMESSAGEEX16;
  56. typedef SENDIMEMESSAGEEX16 UNALIGNED *PSENDIMEMESSAGEEX16;
  57. typedef struct _WINNLSGETIMEHOTKEY16 { /* wn15 */
  58. HWND16 hwnd;
  59. } WINNLSGETIMEHOTKEY16;
  60. typedef WINNLSGETIMEHOTKEY16 UNALIGNED *PWINNLSGETIMEHOTKEY16;
  61. typedef struct _WINNLSENABLEIME16 { /* wn16 */
  62. WORD fEnabled;
  63. HWND16 hwnd;
  64. } WINNLSENABLEIME16;
  65. typedef WINNLSENABLEIME16 UNALIGNED *PWINNLSENABLEIME16;
  66. typedef struct _WINNLSGETENABLESTATUS16 { /* wn 18 */
  67. HWND16 hwnd;
  68. } WINNLSGETENABLESTATUS16;
  69. typedef WINNLSGETENABLESTATUS16 UNALIGNED *PWINNLSGETENABLESTATUS16;
  70. typedef struct _IMPQUERYIME16 { /* wn22 */
  71. VPVOID lpIMEPro;
  72. } IMPQUERYIME16;
  73. typedef IMPQUERYIME16 UNALIGNED *PIMPQUERYIME16;
  74. typedef struct _IMPGETIME16 { /* wn23 */
  75. VPVOID lpIMEPro;
  76. HWND16 hwnd;
  77. } IMPGETIME16;
  78. typedef IMPGETIME16 UNALIGNED *PIMPGETIME16;
  79. typedef struct _IMPSETIME16 { /* wn24 */
  80. VPVOID lpIMEPro;
  81. HWND16 hwnd;
  82. } IMPSETIME16;
  83. typedef IMPSETIME16 UNALIGNED *PIMPSETIME16;
  84. #if 0 // NT does not support the following APIs
  85. typedef struct _SETKEYBOARDHOOK16 { /* wn10 */
  86. WORD flag;
  87. } SETKEYBOARDHOOK16;
  88. typedef SETKEYBOARDHOOK16 UNALIGNED *PSETKEYBOARDHOOK16;
  89. typedef struct _SETIMEHANDLE16 { /* wn11 */
  90. VPSTR lpszName;
  91. HWND16 hwnd;
  92. } SETIMEHANDLE16;
  93. typedef SETIMEHANDLE16 UNALIGNED *PSETIMEHANDLE16;
  94. typedef struct _SETIMESTATUS16 { /* wn12 */
  95. WORD status;
  96. HWND16 hwnd;
  97. } SETIMESTATUS16;
  98. typedef SETIMESTATUS16 UNALIGNED *PSETIMESTATUS16;
  99. typedef struct _SETIMEHOTKEY16 { /* wn14 */
  100. WORD key;
  101. HWND16 hwnd;
  102. } SETIMEHOTKEY16;
  103. typedef SETIMEHOTKEY16 UNALIGNED *PSETIMEHOTKEY16;
  104. #endif // 0
  105. typedef struct _IMESTRUCT16 { /* imest */
  106. WORD fnc;
  107. WORD wParam;
  108. WORD wCount;
  109. WORD dchSource;
  110. WORD dchDest;
  111. LONG lParam1;
  112. LONG lParam2;
  113. LONG lParam3;
  114. } IMESTRUCT16;
  115. typedef IMESTRUCT16 UNALIGNED *PIMESTRUCT16;
  116. #if 0
  117. typedef struct _SETKEYSTATE16 { /* wn19 */
  118. HWND16 hwnd;
  119. WORD wState;
  120. } SETKEYSTATE16;
  121. typedef SETKEYSTATE16 UNALIGNED *PSETKEYSTATE16;
  122. #endif // 0
  123. typedef struct _DATETIME16 { /* dt */
  124. WORD year;
  125. WORD month;
  126. WORD day;
  127. WORD hour;
  128. WORD min;
  129. WORD sec;
  130. } DATETIME16;
  131. typedef struct _IMEPRO16 { /* pro */
  132. HWND16 hWnd;
  133. DATETIME16 InstDate;
  134. WORD wVersion;
  135. BYTE szDescription[50];
  136. BYTE szName[80];
  137. BYTE szOptions[30];
  138. } IMEPRO16;
  139. typedef IMEPRO16 UNALIGNED *PIMEPRO16;
  140. typedef struct _UNDETERMINESTRUCT16 { /* ud16 */
  141. DWORD dwSize;
  142. INT16 uDefIMESize;
  143. INT16 uDefIMEPos;
  144. INT16 uUndetTextLen;
  145. INT16 uUndetTextPos;
  146. INT16 uUndetAttrPos;
  147. INT16 uCursorPos;
  148. INT16 uDeltaStart;
  149. INT16 uDetermineTextLen;
  150. INT16 uDetermineTextPos;
  151. INT16 uDetermineDelimPos;
  152. INT16 uYomiTextLen;
  153. INT16 uYomiTextPos;
  154. INT16 uYomiDelimPos;
  155. } UNDETERMINESTRUCT16;
  156. typedef UNDETERMINESTRUCT16 UNALIGNED *PUNDETERMINESTRUCT16;
  157. typedef struct _STRINGEXSTRUCT16 { /* sx16 */
  158. DWORD dwSize;
  159. INT16 uDeterminePos;
  160. INT16 uDetermineDelimPos;
  161. INT16 uYomiPos;
  162. INT16 uYomiDelimPos;
  163. } STRINGEXSTRUCT16;
  164. typedef STRINGEXSTRUCT16 UNALIGNED *PSTRINGEXSTRUCT16;
  165. /////////// tmp /////////
  166. #if 0
  167. #define IR_DBCSCHAR 0x160 /* New for 3.1 */
  168. #define IR_UNDETERMINE 0x170 /* New for 3.1 */
  169. #define IR_STRINGEX 0x180 /* New for 3.1 */
  170. typedef struct UNDETERMINESTRUCT32 { /* ud32 */
  171. DWORD dwSize;
  172. UINT uDefIMESize;
  173. UINT uDefIMEPos;
  174. UINT uUndetTextLen;
  175. UINT uUndetTextPos;
  176. UINT uUndetAttrPos;
  177. UINT uCursorPos;
  178. UINT uDeltaStart;
  179. UINT uDetermineTextLen;
  180. UINT uDetermineTextPos;
  181. UINT uDetermineDelimPos;
  182. UINT uYomiTextLen;
  183. UINT uYomiTextPos;
  184. UINT uYomiDelimPos;
  185. } UNDETERMINESTRUCT32;
  186. typedef UNDETERMINESTRUCT32 UNALIGNED *PUNDETERMINESTRUCT32;
  187. typedef struct STRINGEXSTRUCT32 { /* sx32 */
  188. DWORD dwSize;
  189. UINT uDeterminePos;
  190. UINT uDetermineDelimPos;
  191. UINT uYomiPos;
  192. UINT uYomiDelimPos;
  193. } STRINGEXSTRUCT32;
  194. typedef STRINGEXSTRUCT32 UNALIGNED *PSTRINGEXSTRUCT32;
  195. #endif // 0
  196. //////// end of tmp ///////////
  197. /* XLATOFF */
  198. #pragma pack()
  199. /* XLATON */
  200.