NT4/private/windows/inc/winnls32.w
2020-09-30 17:12:29 +02:00

238 lines
7.0 KiB
OpenEdge ABL

/*++ BUILD Version: 0003 // Increment this if a change has global effects ;both
;both
Copyright (c) 1985-96, Microsoft Corporation ;both
;both
Module Name: ;both
;both
winnls32.h
winnls3p.h ;internal
;both
Abstract: ;both
;both
Private ;internal
Procedure declarations, constant definitions and macros for the NLS ;both
component. ;both
;both
--*/ ;both
#ifndef _WINNLS32_
#define _WINNLS32_
#ifndef _WINNLS32P_ ;internal
#define _WINNLS32P_ ;internal
;internal
#ifdef __cplusplus ;both
extern "C" { ;both
#endif /* __cplusplus */ ;both
;both
typedef struct _tagDATETIME {
WORD year;
WORD month;
WORD day;
WORD hour;
WORD min;
WORD sec;
} DATETIME;
typedef struct _tagIMEPRO% {
HWND hWnd;
DATETIME InstDate;
UINT wVersion;
BCHAR% szDescription[50];
BCHAR% szName[80];
BCHAR% szOptions[30];
#if defined(TAIWAN)
BCHAR% szUsrFontName[80];
BOOL fEnable;
#endif
} IMEPRO%,*PIMEPRO%,NEAR *NPIMEPRO%,FAR *LPIMEPRO%;
BOOL WINAPI IMPGetIME%(HWND, LPIMEPRO%);
BOOL WINAPI IMPQueryIME%(LPIMEPRO%);
BOOL WINAPI IMPDeleteIME%(LPIMEPRO%); ;internal
BOOL WINAPI IMPAddIME%(LPIMEPRO%); ;internal
BOOL WINAPI IMPSetIME%(HWND, LPIMEPRO%);
#if defined(TAIWAN) //dchiang 022894 update for $(SDKINC)\winnls32.h
BOOL WINAPI IMPRetrieveIME%(LPIMEPRO%, DWORD);
BOOL WINAPI WINNLSDefIMEProc(HWND, HDC, DWORD, DWORD, DWORD, DWORD);
BOOL WINAPI ControlIMEMessage%(HWND, LPIMEPRO%, DWORD, DWORD, DWORD);
#endif //dchiang 022894 TAIWAN
BOOL WINAPI WINNLSSetIMEHandle%(LPCTSTR%, HWND); ;internal
BOOL WINAPI WINNLSSetIMEStatus(HWND, BOOL); ;internal
;begin_internal
BOOL WINAPI WINNLSSetIMEHotkey(HWND, UINT);
;end_internal
UINT WINAPI WINNLSGetIMEHotkey(HWND);
BOOL WINAPI WINNLSEnableIME(HWND, BOOL);
UINT WINAPI WINNLSGetKeyState(VOID); ;internal
BOOL WINAPI WINNLSSetKeyState(UINT); ;internal
BOOL WINAPI WINNLSGetEnableStatus(HWND);
BOOL WINAPI WINNLSSendControl(UINT, UINT); ;internal
BOOL WINAPI WINNLSPostAppMessage%(HWND, UINT, WPARAM, LPARAM); ;internal
LRESULT WINAPI WINNLSSendAppMessage%(HWND, UINT, WPARAM, LPARAM); ;internal
BOOL WINAPI WINNLSSendString%(HWND, WPARAM, LPVOID); ;internal
//
// wParam for WINNLSSendString ;internal
//
#define WSST_STRING 0 ;internal
#define WSST_STRINGEX 1 ;internal
;begin_internal
/*
* WINNLS.C
*/
#if defined(TAIWAN) //dchiang 022894 update for $(SDKINC)\winnls32.h
BOOL xxxIMPRetrieveIME(LPIMEPROW, DWORD);
#endif //dchiang 022894 TAIWAN
// Used by Winlogon to control IME at logon time
//
BOOL WINNLSAddIME(LPIMEPROW, BOOL, DWORD); ;internal
BOOL WINNLSFreeIME(DWORD); ;internal
#define IME_CMD_MAXCHARS 512 ;internal
BOOL WINNLSGetIMECmdLine(LPWSTR, DWORD); ;internal
#if defined(TAIWAN)
typedef HANDLE HIME;
typedef struct tagIMEINFO * LPIMEINFO;
HWND WINAPI WINNLSGetSysIME(VOID);
VOID WINAPI WINNLSSetSysIME(HWND);
BOOL WINAPI SwitchIM(UINT , UINT);
BOOL ToNextIM(VOID);
VOID SetFullAbcState(BOOL);
BOOL EngChiSwitch(BOOL);
VOID WINAPI TimerProc(HWND, INT, WPARAM, LPARAM);
HWND WINAPI IMPGetFullShapeHWnd(VOID);
VOID WINAPI IMPSetFullShapeHWnd(HWND);
BOOL WINAPI IMPSetFirstIME(HWND, LPIMEPRO);
BOOL WINAPI IMPGetFirstIME(HWND, LPIMEPRO);
BOOL WINAPI IMPDialogIME(LPIMEPRO, HWND);
BOOL WINAPI IMPEnableIME(HWND, LPIMEPRO, BOOL);
BOOL WINAPI IMPSetUsrFont(HWND, LPIMEPRO);
BOOL WINAPI WINNLSQueryIMEInfo(HWND, HWND, LPIMEINFO);
#endif //TAIWAN
#if !defined(CM_CONSOLE_IME_SETMODEINFO)
#define CM_CONSOLE_IME_SETMODEINFO 0x40e // (CM_CONSOLE_IME_FIRST+4) ;internal
#endif // CM_CONSOLE_IME_SETMODEINFO
// MSKK Mar.8,1993 KazuM
//
// Console IME information
//
typedef struct _CONVERSION_AREA_BUFFER_INFO {
COORD coordCaBuffer;
SMALL_RECT rcViewCaWindow;
COORD coordConView;
} CONVERSION_AREA_BUFFER_INFO,*PCONVERSION_AREA_BUFFER_INFO;
HANDLE
WINAPI
WINNLSCreateConsoleConversionArea(
IN HANDLE hConsoleOutput,
IN PCONVERSION_AREA_BUFFER_INFO pcabi,
IN DWORD dwOption
);
#define CA_HIDDEN 0x01
#define CA_ACTIVE 0x02
#define CA_STATUS_LINE 0x04
#define CA_HIDE_FOR_SCROLL 0x10
BOOL
WINAPI
WINNLSDestroyConsoleConversionArea(
IN HANDLE hConversionArea
);
BOOL
WINAPI
WINNLSFillConsoleConversionAreaOutputAttribute(
IN HANDLE hConversionArea,
IN WORD wAttribute,
IN DWORD cCharCells,
IN COORD coordAttr,
OUT LPDWORD lpcWritten
);
BOOL
WINAPI
WINNLSFillConsoleConversionAreaOutputCharacter%(
IN HANDLE hConversionArea,
IN TCHAR% chFillChar,
IN DWORD cCharCells,
IN COORD coordChar,
OUT LPDWORD lpcWritten
);
BOOL
WINAPI
WINNLSGetConsoleConversionArea(
IN HANDLE hConversionArea,
OUT PDWORD pdwOption
);
BOOL
WINAPI
WINNLSGetConsoleConversionAreaBufferInfo(
IN HANDLE hConversionArea,
OUT PCONVERSION_AREA_BUFFER_INFO pcabi
);
BOOL
WINAPI
WINNLSSetConsoleConversionArea(
IN HANDLE hConversionArea,
IN DWORD dwOption
);
BOOL
WINAPI
WINNLSSetConsoleConversionAreaBufferSize(
IN HANDLE hConversionArea,
IN COORD coordCaBuffer
);
BOOL
WINAPI
WINNLSSetConsoleConversionAreaViewInfo(
IN HANDLE hConversionArea,
IN BOOL fAbsolute,
IN COORD coordConView
);
BOOL
WINAPI
WINNLSSetConsoleConversionAreaWindowInfo(
IN HANDLE hConversionArea,
IN BOOL fAbsolute,
IN PSMALL_RECT prcViewCaWindow
);
BOOL
WINAPI
WINNLSWriteConsoleConversionAreaOutput%(
IN HANDLE hConversionArea,
IN PCHAR_INFO pchiSrcBuffer,
IN COORD coordSrcBufferSize,
IN COORD coordSrcBufferCoord,
IN PSMALL_RECT psrctDestRect
);
;end_internal
;begin_both
#ifdef __cplusplus
}
#endif /* __cplusplus */
;end_both
#endif /* !_WINNLS32P_ */ ;internal
#endif // _WINNLS32_