00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
#include "precomp.h"
00020
#pragma hdrstop
00021
00022
00023
00024
#if DBG
00025
INT gbCheckHandleLevel;
00026
#endif
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
#pragma warning(disable:4132)
00037 CONST
ALWAYSZERO gZero;
00038
#pragma warning(default:4132)
00039
00040
00041
00042
00043
00044
00045
00046 int gcWheelDelta;
00047
00048 WCHAR
awchSlashStar[] =
L"\\*";
00049 CHAR achSlashStar[] =
"\\*";
00050
00051 PSERVERINFO gpsi;
00052 SHAREDINFO gSharedInfo;
00053 HMODULE
hmodUser;
00054 ULONG_PTR
gHighestUserAddress;
00055
00056 BOOL gfServerProcess;
00057 BOOL gfSystemInitialized;
00058
00059 ACCESS_MASK
gamWinSta;
00060
00061 PVOID
pUserHeap;
00062
00063 WCHAR
szUSER32[] = TEXT(
"USER32");
00064 CONST WCHAR
szNull[2] = { TEXT(
'\0'), TEXT(
'\015') };
00065 CONST WCHAR
szOneChar[] = TEXT(
"0");
00066 WCHAR
szSLASHSTARDOTSTAR[] = TEXT(
"\\*");
00067
00068 LPWSTR
pwcHighContrastScheme;
00069 LPSTR
pcHighContrastScheme;
00070
00071
00072 CONST
BYTE mpTypeCcmd[] = { 1, 2, 3, 3, 2, 2, 3 };
00073
00074
00075 CONST
BYTE mpTypeIich[] = { 0, 2, 5, 12, 9, 16, 19 };
00076
00077 CONST
UINT SEBbuttons[] = {
00078
SEB_OK,
SEB_HELP,
00079
SEB_OK,
SEB_CANCEL,
SEB_HELP,
00080
SEB_ABORT,
SEB_RETRY,
SEB_IGNORE,
SEB_HELP,
00081
SEB_YES,
SEB_NO,
SEB_HELP,
00082
SEB_YES,
SEB_NO,
SEB_CANCEL,
SEB_HELP,
00083
SEB_RETRY,
SEB_CANCEL,
SEB_HELP,
00084
SEB_CANCEL,
SEB_TRYAGAIN,
SEB_CONTINUE,
SEB_HELP,
00085 };
00086
00087 ATOM
atomMDIActivateProp;
00088
00089 CRITICAL_SECTION
gcsLookaside;
00090 CRITICAL_SECTION
gcsHdc;
00091 CRITICAL_SECTION
gcsClipboard;
00092 CRITICAL_SECTION
gcsAccelCache;
00093
00094
#ifdef _JANUS_
00095
BOOL gfEMIEnable;
00096
DWORD gdwEMIControl = 0;
00097
BOOL gfDMREnable =
FALSE;
00098 HINSTANCE ghAdvApi;
00099
#endif
00100
00101 HDC
ghdcBits2;
00102 HDC
ghdcGray;
00103 HFONT
ghFontSys;
00104 HBRUSH
ghbrWindowText;
00105 int gcxGray;
00106 int gcyGray;
00107
00108 FPLPKTABBEDTEXTOUT fpLpkTabbedTextOut =
UserLpkTabbedTextOut;
00109 FPLPKPSMTEXTOUT fpLpkPSMTextOut =
UserLpkPSMTextOut;
00110 FPLPKDRAWTEXTEX fpLpkDrawTextEx = (
FPLPKDRAWTEXTEX)
NULL;
00111 PLPKEDITCALLOUT fpLpkEditControl = (
PLPKEDITCALLOUT)
NULL;
00112
00113
00114
00115
00116
00117
00118 PFNFINDA
pfnFindResourceExA;
00119 PFNFINDW
pfnFindResourceExW;
00120 PFNLOAD
pfnLoadResource;
00121 PFNLOCK
pfnLockResource = (PFNLOCK)
_LockResource;
00122 PFNUNLOCK
pfnUnlockResource = (PFNUNLOCK)
_UnlockResource;
00123 PFNFREE
pfnFreeResource = (PFNFREE)
_FreeResource;
00124 PFNSIZEOF
pfnSizeofResource;
00125 PFNLALLOC
pfnLocalAlloc = (PFNLALLOC)
DispatchLocalAlloc;
00126 PFNLREALLOC
pfnLocalReAlloc = (PFNLREALLOC)
DispatchLocalReAlloc;
00127 PFNLLOCK
pfnLocalLock = (PFNLLOCK)
DispatchLocalLock;
00128 PFNLUNLOCK
pfnLocalUnlock = (PFNUNLOCK)
DispatchLocalUnlock;
00129 PFNLSIZE
pfnLocalSize = (PFNLSIZE)
DispatchLocalSize;
00130 PFNLFREE
pfnLocalFree = (PFNLFREE)
DispatchLocalFree;
00131 PFNGETEXPWINVER
pfnGetExpWinVer =
RtlGetExpWinVer;
00132 PFN16GALLOC
pfn16GlobalAlloc;
00133 PFN16GFREE
pfn16GlobalFree;
00134 PFNEMPTYCB
pfnWowEmptyClipBoard;
00135 PFNWOWWNDPROCEX
pfnWowWndProcEx;
00136 PFNWOWDLGPROCEX
pfnWowDlgProcEx;
00137 PFNWOWEDITNEXTWORD
pfnWowEditNextWord;
00138 PFNWOWCBSTOREHANDLE
pfnWowCBStoreHandle;
00139 PFNGETPROCMODULE16
pfnWowGetProcModule;
00140 PFNWOWTELLWOWTHEHDLG
pfnWOWTellWOWThehDlg;
00141 PFNWOWMSGBOXINDIRECTCALLBACK
pfnWowMsgBoxIndirectCallback;
00142 PFNWOWILSTRCMP
pfnWowIlstrcmp;
00143
00144
#ifdef WX86
00145
00146
00147
00148
00149
00150
int Wx86LoadCount;
00151 HMODULE hWx86Dll;
00152 PFNWX86LOADX86DLL pfnWx86LoadX86Dll;
00153 PFNWX86FREEX86DLL pfnWx86FreeX86Dll;
00154 PFNWX86HOOKCALLBACK pfnWx86HookCallBack;
00155 RTL_CRITICAL_SECTION gcsWx86Load;
00156
#endif
00157
00158
00159
00160
00161 HINSTANCE
ghinstOLE;
00162 FARPROC
gpfnOLEOleUninitialize;
00163 FARPROC
gpfnOLERegisterDD;
00164 FARPROC
gpfnOLERevokeDD;
00165 FARPROC
gpfnOLEDoDD;
00166
00167
00168
00169
00170 PACCELCACHE gpac;
00171
00172
00173
00174
00175 DWORD gfConIme =
UNKNOWN_CONIME;
00176
00177
00178
00179
00180 FARPROC
gfnWinStationSendMessageW;
00181 HINSTANCE
ghinstWinStaDll;
00182
00183