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

userrtl.h

Go to the documentation of this file.
00001 /*++ BUILD Version: 0001 // Increment this if a change has global effects 00002 00003 /****************************** Module Header ******************************\ 00004 * Module Name: userrtl.h 00005 * 00006 * Copyright (c) 1985 - 1999, Microsoft Corporation 00007 * 00008 * Typedefs, defines, and prototypes that are used by the User 00009 * RTL library. 00010 * 00011 * History: 00012 * 04-27-91 DarrinM Created from PROTO.H, MACRO.H and STRTABLE.H 00013 \***************************************************************************/ 00014 00015 #ifndef _USERRTL_ 00016 #define _USERRTL_ 00017 00018 /* 00019 * Typedefs copied from winbase.h to avoid using nturtl.h 00020 */ 00021 typedef struct _SECURITY_ATTRIBUTES *LPSECURITY_ATTRIBUTES; 00022 #define MAKEINTATOM(i) (LPTSTR)((ULONG_PTR)((WORD)(i))) 00023 00024 #ifdef _USERK_ 00025 #undef _USERK_ 00026 #include "..\kernel\precomp.h" 00027 #define _USERK_ 00028 #else 00029 #include "..\client\precomp.h" 00030 #endif 00031 00032 #include <w32p.h> 00033 00034 #include "ntuser.h" 00035 00036 /* 00037 * REBASE macros take kernel desktop addresses and convert them into 00038 * user addresses. 00039 * 00040 * REBASEALWAYS converts a kernel address contained in an object 00041 * REBASEPWND casts REBASEALWAYS to a PWND 00042 * REBASE only converts if the address is in kernel space. Also works for NULL 00043 * REBASEPTR converts a random kernel address 00044 */ 00045 00046 #ifdef _USERK_ 00047 00048 #define REBASEALWAYS(p, elem) ((p)->elem) 00049 #define REBASEPTR(obj, p) (p) 00050 #define REBASE(p, elem) ((p)->elem) 00051 #define REBASEPWND(p, elem) ((p)->elem) 00052 #endif // _USERK_ 00053 00054 00055 // jcjc extern SHAREDINFO gSharedInfo; 00056 // jcjc extern HFONT ghFontSys; 00057 00058 PVOID UserRtlAllocMem( 00059 ULONG uBytes); 00060 VOID UserRtlFreeMem( 00061 PVOID pMem); 00062 00063 00064 #ifdef FE_SB // Prototype for FarEast Line break & NLS conversion. 00065 00066 #ifdef _USERK_ 00067 #define USERGETCODEPAGE(hdc) (GreGetCharSet(hdc) & 0x0000FFFF) 00068 #else 00069 #define USERGETCODEPAGE(hdc) (GdiGetCodePage(hdc)) 00070 #endif // _USERK_ 00071 00072 00073 BOOL UserIsFullWidth( 00074 DWORD dwCodePage, 00075 WCHAR wChar); 00076 BOOL UserIsFELineBreak( 00077 DWORD dwCodePage, 00078 WCHAR wChar); 00079 00080 #endif // FE_SB 00081 00082 00083 /***************************************************************************\ 00084 * 00085 * Function prototypes for client/server-specific routines 00086 * called from rtl routines. 00087 * 00088 \***************************************************************************/ 00089 00090 #ifdef _USERK_ 00091 00092 BOOL _TextOutW( 00093 HDC hdc, 00094 int x, 00095 int y, 00096 LPCWSTR lp, 00097 UINT cc); 00098 00099 UINT APIENTRY GreSetTextAlign(HDC, UINT); 00100 UINT APIENTRY GreGetTextAlign(HDC); 00101 00102 #define UserCreateFontIndirectW GreCreateFontIndirectW 00103 #define UserCreateRectRgn GreCreateRectRgn 00104 #define UserDeleteObject GreDeleteObject 00105 #define UserExtSelectClipRgn GreExtSelectClipRgn 00106 #define UserExtTextOutW GreExtTextOutW 00107 #define UserGetCharDimensionsW GetCharDimensions 00108 #define UserGetClipRgn(hdc, hrgnClip) \ 00109 GreGetRandomRgn(hdc, hrgnClip, 1) 00110 #define UserGetHFONT GreGetHFONT 00111 #define UserGetMapMode GreGetMapMode 00112 #define UserGetTextColor GreGetTextColor 00113 #define UserGetTextExtentPointW(hdc, pstr, i, psize) \ 00114 GreGetTextExtentW(hdc, (LPWSTR)pstr, i, psize, GGTE_WIN3_EXTENT) 00115 #define UserGetTextMetricsW _GetTextMetricsW 00116 #define UserGetViewportExtEx GreGetViewportExt 00117 #define UserGetWindowExtEx GreGetWindowExt 00118 #define UserIntersectClipRect GreIntersectClipRect 00119 #define UserPatBlt GrePatBlt 00120 #define UserPolyPatBlt GrePolyPatBlt 00121 #define UserSelectBrush GreSelectBrush 00122 #define UserSelectFont GreSelectFont 00123 #define UserSetBkColor GreSetBkColor 00124 #define UserSetBkMode GreSetBkMode 00125 #define UserSetTextColor GreSetTextColor 00126 #define UserTextOutW _TextOutW 00127 #define UserGetTextCharsetInfo GreGetTextCharsetInfo 00128 #define UserGetTextAlign GreGetTextAlign 00129 #define UserSetTextAlign GreSetTextAlign 00130 #define UserLpkDrawTextEx xxxClientLpkDrawTextEx 00131 #define UserGetLayout GreGetLayout 00132 #define UserSetGraphicsMode GreSetGraphicsMode 00133 00134 #else 00135 00136 #define UserCreateFontIndirectW CreateFontIndirectW 00137 #define UserCreateRectRgn CreateRectRgn 00138 #define UserDeleteObject DeleteObject 00139 #define UserExtSelectClipRgn ExtSelectClipRgn 00140 #define UserExtTextOutW ExtTextOutW 00141 #define UserGetCharDimensionsW GdiGetCharDimensions 00142 #define UserGetClipRgn GetClipRgn 00143 #define UserGetHFONT GetHFONT 00144 #define UserGetMapMode GetMapMode 00145 #define UserGetTextColor GetTextColor 00146 #define UserGetTextExtentPointW GetTextExtentPointW 00147 #define UserGetTextMetricsW GetTextMetricsW 00148 #define UserGetViewportExtEx GetViewportExtEx 00149 #define UserGetWindowExtEx GetWindowExtEx 00150 #define UserIntersectClipRect IntersectClipRect 00151 #define UserPatBlt PatBlt 00152 #define UserPolyPatBlt PolyPatBlt 00153 #define UserSelectBrush SelectObject 00154 #define UserSelectFont SelectObject 00155 #define UserSetBkColor SetBkColor 00156 #define UserSetBkMode SetBkMode 00157 #define UserSetTextColor SetTextColor 00158 #define UserTextOutW TextOutW 00159 #define UserGetTextCharsetInfo GetTextCharsetInfo 00160 #define UserGetTextAlign GetTextAlign 00161 #define UserSetTextAlign SetTextAlign 00162 #define UserLpkDrawTextEx fpLpkDrawTextEx 00163 #define UserGetLayout GetLayout 00164 #define UserSetGraphicsMode SetGraphicsMode 00165 00166 #endif // _USERK_ 00167 00168 #endif // !_USERRTL_

Generated on Sat May 15 19:42:16 2004 for test by doxygen 1.3.7