Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

globals.h

Go to the documentation of this file.
00001 /****************************** Module Header ******************************\ 00002 * Module Name: globals.h 00003 * 00004 * Copyright (c) 1985 - 1999, Microsoft Corporation 00005 * 00006 * This module contains all of USER.DLL's global variables. These are all 00007 * instance-specific, i.e. each client has his own copy of these. In general, 00008 * there shouldn't be much reason to create instance globals. 00009 * 00010 * History: 00011 * 10-18-90 DarrinM Created. 00012 \***************************************************************************/ 00013 00014 #ifndef _GLOBALS_ 00015 #define _GLOBALS_ 00016 00017 // Debug globals 00018 #if DBG 00019 extern INT gbCheckHandleLevel; 00020 #endif 00021 00022 extern CONST ALWAYSZERO gZero; 00023 00024 extern int gcWheelDelta; 00025 00026 extern WORD gDispatchTableValues; 00027 00028 extern WCHAR awchSlashStar[]; 00029 extern CHAR achSlashStar[]; 00030 00031 extern PSERVERINFO gpsi; 00032 extern SHAREDINFO gSharedInfo; 00033 00034 extern HMODULE hmodUser; // USER.DLL's hmodule 00035 extern ULONG_PTR gHighestUserAddress; 00036 00037 extern BOOL gfServerProcess; // USER is linked on the CSR server side. 00038 extern BOOL gfSystemInitialized; // System has been initialized 00039 extern ACCESS_MASK gamWinSta; // ACCESS_MASK for the current WindowStation 00040 00041 extern PVOID pUserHeap; 00042 00043 extern CONST CFNSCSENDMESSAGE gapfnScSendMessage[]; 00044 00045 extern WCHAR szUSER32[]; 00046 extern CONST WCHAR szNull[]; 00047 extern CONST WCHAR szOneChar[]; 00048 extern WCHAR szSLASHSTARDOTSTAR[]; 00049 00050 extern CONST BYTE mpTypeCcmd[]; 00051 extern CONST BYTE mpTypeIich[]; 00052 extern CONST UINT SEBbuttons[]; 00053 extern CONST BYTE rgReturn[]; 00054 00055 extern ATOM atomMDIActivateProp; 00056 extern ATOM gatomReaderMode; 00057 00058 extern CRITICAL_SECTION gcsLookaside; 00059 extern CRITICAL_SECTION gcsHdc; 00060 extern CRITICAL_SECTION gcsClipboard; 00061 extern CRITICAL_SECTION gcsAccelCache; 00062 00063 #ifdef _JANUS_ 00064 extern BOOL gfEMIEnable; 00065 extern DWORD gdwEMIControl; 00066 extern BOOL gfDMREnable; 00067 extern HINSTANCE ghAdvApi; 00068 #endif 00069 00070 00071 extern HDC ghdcBits2; 00072 extern HDC ghdcGray; 00073 extern HFONT ghFontSys; 00074 extern HBRUSH ghbrWindowText; 00075 extern int gcxGray; 00076 extern int gcyGray; 00077 00078 extern LPWSTR pwcHighContrastScheme; 00079 extern LPSTR pcHighContrastScheme; 00080 00081 00082 /* 00083 * LATER: client-side user needs to use moveable memory objects for 00084 * WOW compatibility (at least until/if/when we copy all the edit control 00085 * code into 16-bit space); that's also why we can't just party with 00086 * handles like LMHtoP does... -JeffPar 00087 */ 00088 #ifndef RC_INVOKED // RC can't handle #pragmas 00089 #undef LHND 00090 #define LHND (LMEM_MOVEABLE | LMEM_ZEROINIT) 00091 00092 #undef LMHtoP 00093 #define LMHtoP(handle) // Don't use this macro 00094 #endif 00095 00096 00097 /* 00098 * WOW HACK - apps can pass a global handle as the hInstance on a call 00099 * to CreateWindow for an edit control and expect allocations for the 00100 * control to come out of that global block. (MSJ 1/91 p.122) 00101 * WOW needs this hInstance during the LocalAlloc callback to set up 00102 * the DS for the LocalAlloc, so we pass hInstance as an 'extra' parameter. 00103 * !!! this is dependent on calling convention !!! 00104 * (SAS 6-18-92) added hack for all macros 00105 */ 00106 00107 #define LOCALALLOC(dwFlags, dwBytes, hInstance) \ 00108 (*pfnLocalAlloc)(dwFlags, dwBytes, hInstance) 00109 #define LOCALREALLOC(hMem, dwBytes, dwFlags, hInstance, ppv) \ 00110 (*pfnLocalReAlloc)(hMem, dwBytes, dwFlags, hInstance, ppv) 00111 #define LOCALLOCK(hMem, hInstance) \ 00112 (*pfnLocalLock)(hMem, hInstance) 00113 #define LOCALUNLOCK(hMem, hInstance) \ 00114 (*pfnLocalUnlock)(hMem, hInstance) 00115 #define LOCALSIZE(hMem, hInstance) \ 00116 (*pfnLocalSize)(hMem, hInstance) 00117 #define LOCALFREE(hMem, hInstance) \ 00118 (*pfnLocalFree)(hMem, hInstance) 00119 00120 extern PFNFINDA pfnFindResourceExA; 00121 extern PFNFINDW pfnFindResourceExW; 00122 extern PFNLOAD pfnLoadResource; 00123 extern PFNLOCK pfnLockResource; 00124 extern PFNUNLOCK pfnUnlockResource; 00125 extern PFNFREE pfnFreeResource; 00126 extern PFNSIZEOF pfnSizeofResource; 00127 extern PFNLALLOC pfnLocalAlloc; 00128 extern PFNLREALLOC pfnLocalReAlloc; 00129 extern PFNLLOCK pfnLocalLock; 00130 extern PFNLUNLOCK pfnLocalUnlock; 00131 extern PFNLSIZE pfnLocalSize; 00132 extern PFNLFREE pfnLocalFree; 00133 extern PFNGETEXPWINVER pfnGetExpWinVer; 00134 extern PFN16GALLOC pfn16GlobalAlloc; 00135 extern PFN16GFREE pfn16GlobalFree; 00136 extern PFNGETMODFNAME pfnGetModFileName; 00137 extern PFNEMPTYCB pfnWowEmptyClipBoard; 00138 extern PFNWOWWNDPROCEX pfnWowWndProcEx; 00139 extern PFNWOWDLGPROCEX pfnWowDlgProcEx; 00140 extern PFNWOWEDITNEXTWORD pfnWowEditNextWord; 00141 extern PFNWOWCBSTOREHANDLE pfnWowCBStoreHandle; 00142 extern PFNGETPROCMODULE16 pfnWowGetProcModule; 00143 extern PFNWOWTELLWOWTHEHDLG pfnWOWTellWOWThehDlg; 00144 extern PFNWOWMSGBOXINDIRECTCALLBACK pfnWowMsgBoxIndirectCallback; 00145 extern PFNWOWILSTRCMP pfnWowIlstrcmp; 00146 00147 extern UNICODE_STRING strRootDirectory; 00148 00149 #ifdef WX86 00150 /* 00151 * Client Global variables for Wx86. 00152 * 00153 */ 00154 00155 extern int Wx86LoadCount; 00156 extern HMODULE hWx86Dll; 00157 extern PFNWX86LOADX86DLL pfnWx86LoadX86Dll; 00158 extern PFNWX86FREEX86DLL pfnWx86FreeX86Dll; 00159 extern PFNWX86HOOKCALLBACK pfnWx86HookCallBack; 00160 extern RTL_CRITICAL_SECTION gcsWx86Load; 00161 00162 #endif 00163 00164 /* 00165 * Menu Drag and Drop 00166 */ 00167 extern HINSTANCE ghinstOLE; 00168 extern FARPROC gpfnOLEOleUninitialize; 00169 extern FARPROC gpfnOLERegisterDD; 00170 extern FARPROC gpfnOLERevokeDD; 00171 extern FARPROC gpfnOLEDoDD; 00172 00173 /* 00174 * Accelerator table resources list. 00175 */ 00176 extern PACCELCACHE gpac; 00177 00178 /* 00179 * IME Window Handling. 00180 */ 00181 extern DWORD gfConIme; 00182 #define UNKNOWN_CONIME ~0 00183 00184 extern UNICODE_STRING strRootDirectory; 00185 00186 /* 00187 * Used for TS Services Message Box handling 00188 */ 00189 extern FARPROC gfnWinStationSendMessageW; 00190 extern HINSTANCE ghinstWinStaDll; 00191 00192 #endif // ndef _GLOBALS_ 00193 

Generated on Sat May 15 19:40:13 2004 for test by doxygen 1.3.7