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.

214 lines
6.6 KiB

  1. // Microsoft Foundation Classes C++ library.
  2. // Copyright (C) 1992-1993 Microsoft Corporation,
  3. // All rights reserved.
  4. // This source code is only intended as a supplement to the
  5. // Microsoft Foundation Classes Reference and Microsoft
  6. // QuickHelp and/or WinHelp documentation provided with the library.
  7. // See these sources for detailed information regarding the
  8. // Microsoft Foundation Classes product.
  9. // afxver_.h - target version/configuration control
  10. /////////////////////////////////////////////////////////////////////////////
  11. // Master version numbers
  12. /////////////////////////////////////////////////////////////////////////////
  13. #define _AFX 1 // Microsoft Application Framework Classes
  14. #define _MFC_VER 0x0252 // Microsoft Foundation Classes 2.52
  15. /////////////////////////////////////////////////////////////////////////////
  16. // Target version control
  17. /////////////////////////////////////////////////////////////////////////////
  18. // For target version (one of)
  19. // _WINDOWS : for Microsoft Windows target (defined by #include <afxwin.h>)
  20. // _DOS : for Microsoft DOS (non Windows) target
  21. //
  22. // Additional build options:
  23. // _DEBUG : debug versions (full diagnostics)
  24. // _WINDLL : DLL version, used in conjunction with _AFXDLL and _USRDLL
  25. // _AFXDLL : Stand-alone DLL version (see afxv_dll.h for more info)
  26. // _USRDLL : Statically linked DLL version
  27. //
  28. // Internal configuration flags:
  29. // _NEARDATA : ambient near data pointers needing far overloads
  30. #if !defined(_WINDOWS) && !defined(_DOS)
  31. #error Please define one of _WINDOWS or _DOS.
  32. #endif
  33. #if defined(_WINDOWS) && defined(_DOS)
  34. #error Please define only one of _WINDOWS or _DOS
  35. #endif
  36. #if defined(_M_I86SM) || defined(_M_I86MM)
  37. #define _NEARDATA
  38. #endif
  39. #ifndef _DEBUG
  40. #define _AFX_ENABLE_INLINES
  41. #endif
  42. /////////////////////////////////////////////////////////////////////////////
  43. // Default swap tuning for AFX library
  44. #if defined(_M_I86MM) || defined(_M_I86LM) // far code
  45. #define AFX_CORE1_SEG "AFX_CORE1_TEXT" // core functionality
  46. #define AFX_CORE2_SEG "AFX_CORE2_TEXT" // more core functionality
  47. #define AFX_CORE3_SEG "AFX_CORE3_TEXT" // more core functionality
  48. #define AFX_CORE4_SEG "AFX_CORE4_TEXT" // more core functionality
  49. #define AFX_CORE5_SEG "AFX_CORE5_TEXT" // more core functionality
  50. #define AFX_AUX_SEG "AFX_AUX_TEXT" // auxilliary functionality
  51. #define AFX_AUX2_SEG "AFX_AUX2_TEXT" // more auxilliary functionality
  52. #define AFX_COLL_SEG "AFX_COLL1_TEXT" // collections
  53. #define AFX_COLL2_SEG "AFX_COLL2_TEXT" // more collections
  54. #define AFX_OLE_SEG "AFX_OLE_TEXT" // OLE support
  55. #define AFX_OLE2_SEG "AFX_OLE2_TEXT" // more OLE support
  56. #define AFX_OLE3_SEG "AFX_OLE3_TEXT" // even more OLE support
  57. #define AFX_OLE4_SEG "AFX_OLE4_TEXT" // and more OLE support
  58. #define AFX_DB_SEG "AFX_DB_TEXT" // database support
  59. #define AFX_INIT_SEG "AFX_INIT_TEXT" // initialization
  60. #define AFX_VBX_SEG "AFX_VBX_TEXT" // VBX functionality
  61. #define AFX_PRINT_SEG "AFX_PRINT_TEXT" // Printing functionality
  62. #define AFX_DBG1_SEG "AFX_DEBUG1_TEXT" // inlines go here in _DEBUG
  63. #define AFX_DBG2_SEG "AFX_DEBUG2_TEXT" // inlines go here in _DEBUG
  64. #define AFX_DBG3_SEG "AFX_DEBUG3_TEXT" // traces go here in _DEBUG
  65. #endif
  66. // If compiler supports NEAR/FAR as modifiers to class/struct then #define this
  67. #define AFX_CLASS_MODEL
  68. /////////////////////////////////////////////////////////////////////////////
  69. // Special configurations
  70. /////////////////////////////////////////////////////////////////////////////
  71. #if defined(_WINDLL) && (!defined(_AFXDLL) && !defined(_USRDLL))
  72. #error Please define one of _AFXDLL or _USRDLL with _WINDLL
  73. #endif
  74. #if defined(_AFXDLL) && defined(_USRDLL)
  75. #error Please define only one of _AFXDLL or _USRDLL
  76. #endif
  77. #ifdef _AFXDLL
  78. // stand alone DLL
  79. // (_WINDLL defined for DLL, not defined for app using DLL)
  80. #include <afxv_dll.h>
  81. #endif
  82. #ifdef _USRDLL
  83. // static linked library for building DLLs
  84. #ifndef _WINDLL
  85. #error Please define _WINDLL along with _USRDLL
  86. #endif
  87. #define EXPORT __export
  88. #define AFX_EXPORT __loadds
  89. #define AFX_STACK_DATA _far
  90. #define NO_VBX_SUPPORT
  91. #endif //!_USRDLL
  92. #ifdef _DOS
  93. #include <afxv_dos.h>
  94. #endif
  95. #ifndef _NO_TCHAR
  96. // include subset of 32-bit TCHAR.H for compiling down to 16-bit
  97. #include <tchar.h>
  98. // provide types and macros that 32-bit wtypes.h usually provides
  99. #define TEXT _T
  100. #define LPCTSTR LPCSTR
  101. #define LPTSTR LPSTR
  102. #endif //_NO_TCHAR
  103. // Special structures for BLTing floats without linking the float library.
  104. // NOTE: Do not use these structures in your code -- instead use float and
  105. // double as you would normally.
  106. #ifndef _AFXFLOAT_DEFINED
  107. struct _AFXFLOAT
  108. {
  109. char FloatBits[sizeof(float)];
  110. };
  111. #endif
  112. #ifndef _AFXDOUBLE_DEFINED
  113. struct _AFXDOUBLE
  114. {
  115. char DoubleBits[sizeof(double)];
  116. };
  117. #endif
  118. #ifndef MAKEWORD
  119. #define MAKEWORD(a, b) ((WORD)(((BYTE)(a)) | ((WORD)((BYTE)(b))) << 8))
  120. #endif
  121. /////////////////////////////////////////////////////////////////////////////
  122. // Standard preprocessor symbols if not already defined
  123. /////////////////////////////////////////////////////////////////////////////
  124. #ifndef FAR
  125. #define FAR _far
  126. #endif
  127. #ifndef NEAR
  128. #define NEAR _near
  129. #endif
  130. #ifndef PASCAL
  131. #define PASCAL _pascal
  132. #endif
  133. #ifndef CDECL
  134. #define CDECL _cdecl
  135. #endif
  136. #ifndef EXPORT
  137. #define EXPORT __export
  138. #endif
  139. /////////////////////////////////////////////////////////////////////////////
  140. // AFX API macros
  141. // AFXAPI : like "WINAPI" but for AFX library for exported APIs
  142. // AFXAPI_DATA: exported data (normally NEAR, except in the case of _AFXDLL)
  143. // AFXAPI_DATA_TYPE and AFXAPP_DATA are also special for _AFXDLL
  144. // AFX_STACK_DATA: normally NEAR data, but FAR in the case of SS!=DS
  145. // AFX_EXPORT: export for passing to Windows (_loadds for DLL)
  146. /////////////////////////////////////////////////////////////////////////////
  147. #ifndef AFXAPI
  148. #define AFXAPI PASCAL
  149. #endif
  150. #ifndef AFXAPI_DATA
  151. #define AFXAPI_DATA NEAR
  152. #define AFXAPI_DATA_TYPE NEAR
  153. #endif
  154. #ifndef AFXAPIEX_DATA
  155. #define AFXAPIEX_DATA NEAR
  156. #endif
  157. #ifndef AFX_STACK_DATA
  158. #define AFX_STACK_DATA NEAR
  159. #endif
  160. #ifndef AFX_EXPORT
  161. #define AFX_EXPORT EXPORT
  162. #endif
  163. #ifndef BASED_CODE
  164. #define BASED_CODE __based(__segname("_CODE"))
  165. #endif
  166. #ifndef BASED_DEBUG
  167. #define BASED_DEBUG __based(__segname("AFX_DEBUG3_TEXT"))
  168. #endif
  169. #ifndef BASED_STACK
  170. #define BASED_STACK __based(__segname("_STACK"))
  171. #endif
  172. /////////////////////////////////////////////////////////////////////////////