Leaked source code of windows server 2003
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.
|
|
/*++
Copyright (c) 2001, Microsoft Corporation
Module Name:
globals.h
Abstract:
This file defines the global data.
Author:
Revision History:
Notes:
--*/
#ifndef _GLOBAL_H_
#define _GLOBAL_H_
#include "template.h"
#include "imc.h"
#include "ciccs.h"
/////////////////////////////////////////////////////////////////////////////
// Prototype
extern "C" { BOOL PASCAL AttachIME(); void PASCAL DetachIME(); LRESULT CALLBACK UIWndProc(HWND, UINT, WPARAM, LPARAM);
HRESULT WINAPI Inquire(LPIMEINFO, LPWSTR, DWORD, HKL);
BYTE GetCharsetFromLangId(LCID lcid);
HIMC GetActiveContext();
BOOL IsVKDBEKey(UINT uVKey);
HRESULT WINAPI CtfImeThreadDetach();
BOOL DllShutDownInProgress(); }
/////////////////////////////////////////////////////////////////////////////
// Data
extern const WCHAR s_szUIClassName[16]; extern const WCHAR s_szCompClassName[];
extern const GUID GUID_COMPARTMENT_CTFIME_DIMFLAGS; extern const GUID GUID_COMPARTMENT_CTFIME_CICINPUTCONTEXT;
extern CCicCriticalSectionStatic g_cs;
/////////////////////////////////////////////////////////////////////////////
// Flags for GUID_COMPARTMENT_CTFIME_DIMFLAGS
#define COMPDIMFLAG_OWNEDDIM 0x0001
/////////////////////////////////////////////////////////////////////////////
// Module instance
__inline HINSTANCE GetInstance() { extern HINSTANCE g_hInst; return g_hInst; }
__inline void SetInstance(HINSTANCE hInst) { extern HINSTANCE g_hInst; g_hInst = hInst; }
/////////////////////////////////////////////////////////////////////////////
// Mouse sink
typedef struct tagPRIVATE_MOUSESINK { Interface<ITfRangeACP> range; HIMC hImc; } PRIVATE_MOUSESINK, *LPPRIVATE_MOUSESINK;
typedef struct tagMOUSE_RANGE_RECT { ULONG uStartRangeEdge; ULONG uStartRangeQuadrant; ULONG uEndRangeEdge; ULONG uEndRangeQuadrant; } MOUSE_RANGE_RECT, *LPMOUSE_RANGE_RECT;
/////////////////////////////////////////////////////////////////////////////
// WM_MSIME_xxxx
extern UINT WM_MSIME_SERVICE; extern UINT WM_MSIME_UIREADY; extern UINT WM_MSIME_RECONVERTREQUEST; extern UINT WM_MSIME_RECONVERT; extern UINT WM_MSIME_DOCUMENTFEED; extern UINT WM_MSIME_QUERYPOSITION; extern UINT WM_MSIME_MODEBIAS; extern UINT WM_MSIME_SHOWIMEPAD; extern UINT WM_MSIME_MOUSE; extern UINT WM_MSIME_KEYMAP;
/////////////////////////////////////////////////////////////////////////////
// WM_IME_NOTIFY
#define IMN_PRIVATE_ONLAYOUTCHANGE (IMN_PRIVATE+1)
#define IMN_PRIVATE_ONCLEARDOCFEEDBUFFER (IMN_PRIVATE+2)
#define IMN_PRIVATE_GETCONTEXTFLAG (IMN_PRIVATE+3)
#define IMN_PRIVATE_GETCANDRECTFROMCOMPOSITION (IMN_PRIVATE+4)
#define IMN_PRIVATE_STARTLAYOUTCHANGE (IMN_PRIVATE+5)
#define IMN_PRIVATE_GETTEXTEXT (IMN_PRIVATE+6)
//
// FrontPage XP call SendMessage(WM_IME_NOTIFY, NI_COMPOSITIONSTR)
// So we can not use IMN_PRIVATE+7.
//
// #define IMN_PRIVATE_FRONTPAGERESERVE (IMN_PRIVATE+7)
#define IMN_PRIVATE_DELAYRECONVERTFUNCCALL (IMN_PRIVATE+8)
#define IMN_PRIVATE_GETUIWND (IMN_PRIVATE+9)
/////////////////////////////////////////////////////////////////////////////
#ifdef DEBUG
extern DWORD g_dwThreadDllMain; #endif
/////////////////////////////////////////////////////////////////////////////
extern DWORD g_bWinLogon;
/////////////////////////////////////////////////////////////////////////////
// Delay load
HRESULT Internal_CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID riid, LPVOID* ppv);
/////////////////////////////////////////////////////////////////////////////
// RotateSize
inline void RotateSize(LPSIZE size) { int nTemp; nTemp = size->cx; size->cx = size->cy; size->cy = nTemp; }
/////////////////////////////////////////////////////////////////////////////
// IS_IME_KBDLAYOUT
inline BOOL IS_IME_KBDLAYOUT(HKL hKL) { return ((HIWORD((ULONG_PTR)(hKL)) & 0xf000) == 0xe000); }
inline BOOL IS_EA_KBDLAYOUT(HKL hKL) { switch (LOWORD((ULONG_PTR)(hKL))) { case 0x411: case 0x412: case 0x404: case 0x804: return TRUE; } return FALSE; }
#endif // _GLOBAL_H_
|