windows-nt/Source/XPSP1/NT/base/mvdm/inc/wownls.h
2020-09-26 16:20:57 +08:00

237 lines
5.5 KiB
C
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*++ BUILD Version: 0001
*
* WOW v1.0
*
* Copyright (c) 1991, Microsoft Corporation
*
* WOWNLS.H
* 16-bit IME API argument structures
*
* History:
* Created 16-Apl-1996 by MSKK
*
--*/
/* IME API IDs
*/
#define FUN_SENDIMEMESSAGE 6
#define FUN_SENDIMEMESSAGEEX 7
#define FUN_WINNLSGETIMEHOTKEY 15
#define FUN_WINNLSENABLEIME 16
#define FUN_WINNLSGETENABLESTATUS 18
#define FUN_IMPQUERYIME 22
#define FUN_IMPGETIME 23
#define FUN_IMPSETIME 24
#if 0 // NT does not support the following APIs
#define FUN_INQUIREWINNLS 1
#define FUN_HOOKKEYBOARDMESSAGE 2
#define FUN_CONTROLIMEMESSAGE 8 // for Taiwan, Prc
#define FUN_WINNLSSETKEYBOARDHOOK 10
#define FUN_WINNLSSETIMEHANDLE 11
#define FUN_WINNLSSETIMESTATUS 12
#define FUN_WINNLSSETIMEHOTKEY 14
#define FUN_WINNLSGETKEYSTATE 17
#define FUN_WINNLSSETKEYSTATE 19
#define FUN_IMPADDIME 20
#define FUN_IMPDELETEIME 21
#define FUN_IMPMODIFYIME 25
#define FUN_IMPGETDEFAULTIME 26
#define FUN_IMPSETDEFAULTIME 27
#define FUN_WINNLSSENDSTRING 30
#define FUN_WINNLSPOSTAPPMESSAGE 31
#define FUN_WINNLSSENDAPPMESSAGE 32
#define FUN_WINNLSQUERYIMEINFO 40 // for Taiwan, Prc
#endif // 0
/* XLATOFF */
#pragma pack(2)
/* XLATON */
typedef struct _SENDIMEMESSAGE16 { /* wn6 */
DWORD lParam;
HWND16 hwnd;
} SENDIMEMESSAGE16;
typedef SENDIMEMESSAGE16 UNALIGNED *PSENDIMEMESSAGE16;
typedef struct _SENDIMEMESSAGEEX16 { /* wn7 */
DWORD lParam;
HWND16 hwnd;
} SENDIMEMESSAGEEX16;
typedef SENDIMEMESSAGEEX16 UNALIGNED *PSENDIMEMESSAGEEX16;
typedef struct _WINNLSGETIMEHOTKEY16 { /* wn15 */
HWND16 hwnd;
} WINNLSGETIMEHOTKEY16;
typedef WINNLSGETIMEHOTKEY16 UNALIGNED *PWINNLSGETIMEHOTKEY16;
typedef struct _WINNLSENABLEIME16 { /* wn16 */
WORD fEnabled;
HWND16 hwnd;
} WINNLSENABLEIME16;
typedef WINNLSENABLEIME16 UNALIGNED *PWINNLSENABLEIME16;
typedef struct _WINNLSGETENABLESTATUS16 { /* wn 18 */
HWND16 hwnd;
} WINNLSGETENABLESTATUS16;
typedef WINNLSGETENABLESTATUS16 UNALIGNED *PWINNLSGETENABLESTATUS16;
typedef struct _IMPQUERYIME16 { /* wn22 */
VPVOID lpIMEPro;
} IMPQUERYIME16;
typedef IMPQUERYIME16 UNALIGNED *PIMPQUERYIME16;
typedef struct _IMPGETIME16 { /* wn23 */
VPVOID lpIMEPro;
HWND16 hwnd;
} IMPGETIME16;
typedef IMPGETIME16 UNALIGNED *PIMPGETIME16;
typedef struct _IMPSETIME16 { /* wn24 */
VPVOID lpIMEPro;
HWND16 hwnd;
} IMPSETIME16;
typedef IMPSETIME16 UNALIGNED *PIMPSETIME16;
#if 0 // NT does not support the following APIs
typedef struct _SETKEYBOARDHOOK16 { /* wn10 */
WORD flag;
} SETKEYBOARDHOOK16;
typedef SETKEYBOARDHOOK16 UNALIGNED *PSETKEYBOARDHOOK16;
typedef struct _SETIMEHANDLE16 { /* wn11 */
VPSTR lpszName;
HWND16 hwnd;
} SETIMEHANDLE16;
typedef SETIMEHANDLE16 UNALIGNED *PSETIMEHANDLE16;
typedef struct _SETIMESTATUS16 { /* wn12 */
WORD status;
HWND16 hwnd;
} SETIMESTATUS16;
typedef SETIMESTATUS16 UNALIGNED *PSETIMESTATUS16;
typedef struct _SETIMEHOTKEY16 { /* wn14 */
WORD key;
HWND16 hwnd;
} SETIMEHOTKEY16;
typedef SETIMEHOTKEY16 UNALIGNED *PSETIMEHOTKEY16;
#endif // 0
typedef struct _IMESTRUCT16 { /* imest */
WORD fnc;
WORD wParam;
WORD wCount;
WORD dchSource;
WORD dchDest;
LONG lParam1;
LONG lParam2;
LONG lParam3;
} IMESTRUCT16;
typedef IMESTRUCT16 UNALIGNED *PIMESTRUCT16;
#if 0
typedef struct _SETKEYSTATE16 { /* wn19 */
HWND16 hwnd;
WORD wState;
} SETKEYSTATE16;
typedef SETKEYSTATE16 UNALIGNED *PSETKEYSTATE16;
#endif // 0
typedef struct _DATETIME16 { /* dt */
WORD year;
WORD month;
WORD day;
WORD hour;
WORD min;
WORD sec;
} DATETIME16;
typedef struct _IMEPRO16 { /* pro */
HWND16 hWnd;
DATETIME16 InstDate;
WORD wVersion;
BYTE szDescription[50];
BYTE szName[80];
BYTE szOptions[30];
} IMEPRO16;
typedef IMEPRO16 UNALIGNED *PIMEPRO16;
typedef struct _UNDETERMINESTRUCT16 { /* ud16 */
DWORD dwSize;
INT16 uDefIMESize;
INT16 uDefIMEPos;
INT16 uUndetTextLen;
INT16 uUndetTextPos;
INT16 uUndetAttrPos;
INT16 uCursorPos;
INT16 uDeltaStart;
INT16 uDetermineTextLen;
INT16 uDetermineTextPos;
INT16 uDetermineDelimPos;
INT16 uYomiTextLen;
INT16 uYomiTextPos;
INT16 uYomiDelimPos;
} UNDETERMINESTRUCT16;
typedef UNDETERMINESTRUCT16 UNALIGNED *PUNDETERMINESTRUCT16;
typedef struct _STRINGEXSTRUCT16 { /* sx16 */
DWORD dwSize;
INT16 uDeterminePos;
INT16 uDetermineDelimPos;
INT16 uYomiPos;
INT16 uYomiDelimPos;
} STRINGEXSTRUCT16;
typedef STRINGEXSTRUCT16 UNALIGNED *PSTRINGEXSTRUCT16;
/////////// tmp /////////
#if 0
#define IR_DBCSCHAR 0x160 /* New for 3.1 */
#define IR_UNDETERMINE 0x170 /* New for 3.1 */
#define IR_STRINGEX 0x180 /* New for 3.1 */
typedef struct UNDETERMINESTRUCT32 { /* ud32 */
DWORD dwSize;
UINT uDefIMESize;
UINT uDefIMEPos;
UINT uUndetTextLen;
UINT uUndetTextPos;
UINT uUndetAttrPos;
UINT uCursorPos;
UINT uDeltaStart;
UINT uDetermineTextLen;
UINT uDetermineTextPos;
UINT uDetermineDelimPos;
UINT uYomiTextLen;
UINT uYomiTextPos;
UINT uYomiDelimPos;
} UNDETERMINESTRUCT32;
typedef UNDETERMINESTRUCT32 UNALIGNED *PUNDETERMINESTRUCT32;
typedef struct STRINGEXSTRUCT32 { /* sx32 */
DWORD dwSize;
UINT uDeterminePos;
UINT uDetermineDelimPos;
UINT uYomiPos;
UINT uYomiDelimPos;
} STRINGEXSTRUCT32;
typedef STRINGEXSTRUCT32 UNALIGNED *PSTRINGEXSTRUCT32;
#endif // 0
//////// end of tmp ///////////
/* XLATOFF */
#pragma pack()
/* XLATON */