home *** CD-ROM | disk | FTP | other *** search
/ PC Format (South-Africa) 2001 June / PCFJune.iso / Xenon / C++ / FreeCommandLineTools.exe / Include / windows.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-01-31  |  8.4 KB  |  309 lines

  1. /*++ BUILD Version: 0001    Increment this if a change has global effects
  2.  
  3. Copyright (c) 1985-1999, Microsoft Corporation
  4.  
  5. Module Name:
  6.  
  7.     windows.h
  8.  
  9. Abstract:
  10.  
  11.     Master include file for Windows applications.
  12.  
  13. --*/
  14.  
  15. #ifndef _WINDOWS_
  16. #define _WINDOWS_
  17.  
  18. #ifdef __BORLANDC__
  19. #pragma defineonoption __BOROPT_A -A
  20. #pragma defineonoption __BOROPT_H -H
  21.  
  22. #if (__BORLANDC__ == 0x550) && defined(__BOROPT_A) && defined(__BOROPT_H)
  23. #error The use of both -A (ANSI mode) and -H (pre-compiled headers) at the same time is unsupported.
  24. #endif
  25.  
  26. #endif /* __BORLANDC__ */
  27.  
  28. #pragma option push -b -a8 -pc -A- /*P_O_Push*/
  29.  
  30. #ifndef WINVER
  31. #define WINVER 0x0500
  32. #else
  33. #if defined(_WIN32_WINNT) && (WINVER < 0x0400) && (_WIN32_WINNT > 0x0400)
  34. #error WINVER setting conflicts with _WIN32_WINNT setting
  35. #endif
  36. #endif
  37.  
  38. #if 0 // (WINVER >= 0x0500)
  39. #pragma message ("")
  40. #pragma message ("NOTE: WINVER has been defined as 0x0500 or greater which enables")
  41. #pragma message ("Windows 2000 features.")
  42. #pragma message ("")
  43. #pragma message ("Caution: When building applications with WINVER set to 0x0500")
  44. #pragma message ("or greater, the resulting binary may not run as expected")
  45. #pragma message ("on earlier platforms, such Windows NT 4.0 or Windows 95 & Windows 98")
  46. #pragma message ("")
  47. #pragma message ("See the Platform SDK release notes for more information.")
  48. #pragma message ("")
  49. #endif
  50.  
  51. #ifndef _INC_WINDOWS
  52. #define _INC_WINDOWS
  53.  
  54. #if defined (_MSC_VER) && (_MSC_VER >= 1020)
  55. #pragma once
  56. #endif
  57.  
  58. /*  If defined, the following flags inhibit definition
  59.  *     of the indicated items.
  60.  *
  61.  *  NOGDICAPMASKS     - CC_*, LC_*, PC_*, CP_*, TC_*, RC_
  62.  *  NOVIRTUALKEYCODES - VK_*
  63.  *  NOWINMESSAGES     - WM_*, EM_*, LB_*, CB_*
  64.  *  NOWINSTYLES       - WS_*, CS_*, ES_*, LBS_*, SBS_*, CBS_*
  65.  *  NOSYSMETRICS      - SM_*
  66.  *  NOMENUS           - MF_*
  67.  *  NOICONS           - IDI_*
  68.  *  NOKEYSTATES       - MK_*
  69.  *  NOSYSCOMMANDS     - SC_*
  70.  *  NORASTEROPS       - Binary and Tertiary raster ops
  71.  *  NOSHOWWINDOW      - SW_*
  72.  *  OEMRESOURCE       - OEM Resource values
  73.  *  NOATOM            - Atom Manager routines
  74.  *  NOCLIPBOARD       - Clipboard routines
  75.  *  NOCOLOR           - Screen colors
  76.  *  NOCTLMGR          - Control and Dialog routines
  77.  *  NODRAWTEXT        - DrawText() and DT_*
  78.  *  NOGDI             - All GDI defines and routines
  79.  *  NOKERNEL          - All KERNEL defines and routines
  80.  *  NOUSER            - All USER defines and routines
  81.  *  NONLS             - All NLS defines and routines
  82.  *  NOMB              - MB_* and MessageBox()
  83.  *  NOMEMMGR          - GMEM_*, LMEM_*, GHND, LHND, associated routines
  84.  *  NOMETAFILE        - typedef METAFILEPICT
  85.  *  NOMINMAX          - Macros min(a,b) and max(a,b)
  86.  *  NOMSG             - typedef MSG and associated routines
  87.  *  NOOPENFILE        - OpenFile(), OemToAnsi, AnsiToOem, and OF_*
  88.  *  NOSCROLL          - SB_* and scrolling routines
  89.  *  NOSERVICE         - All Service Controller routines, SERVICE_ equates, etc.
  90.  *  NOSOUND           - Sound driver routines
  91.  *  NOTEXTMETRIC      - typedef TEXTMETRIC and associated routines
  92.  *  NOWH              - SetWindowsHook and WH_*
  93.  *  NOWINOFFSETS      - GWL_*, GCL_*, associated routines
  94.  *  NOCOMM            - COMM driver routines
  95.  *  NOKANJI           - Kanji support stuff.
  96.  *  NOHELP            - Help engine interface.
  97.  *  NOPROFILER        - Profiler interface.
  98.  *  NODEFERWINDOWPOS  - DeferWindowPos routines
  99.  *  NOMCX             - Modem Configuration Extensions
  100.  */
  101.  
  102. #if defined(RC_INVOKED) && !defined(NOWINRES)
  103.  
  104. #include <winresrc.h>
  105.  
  106. #else
  107.  
  108. #if defined(RC_INVOKED)
  109. /* Turn off a bunch of stuff to ensure that RC files compile OK. */
  110. #define NOATOM
  111. #define NOGDI
  112. #define NOGDICAPMASKS
  113. #define NOMETAFILE
  114. #define NOMINMAX
  115. #define NOMSG
  116. #define NOOPENFILE
  117. #define NORASTEROPS
  118. #define NOSCROLL
  119. #define NOSOUND
  120. #define NOSYSMETRICS
  121. #define NOTEXTMETRIC
  122. #define NOWH
  123. #define NOCOMM
  124. #define NOKANJI
  125. #define NOCRYPT
  126. #define NOMCX
  127. #endif
  128.  
  129. #if defined(__BORLANDC__) && defined(__cplusplus)
  130. #    include <mem.h> // Needed for protos of memxxx() routines
  131. #endif
  132.  
  133. #if defined(__BORLANDC__)
  134. #    ifndef _WIN32_WINNT
  135. #        define _WIN32_WINNT 0x0500  /* If not set, assume NT 5.00  */
  136. #    endif
  137. #    if defined(__cplusplus)
  138. #       define NOMINMAX              /* for WINDEF.H */
  139. #    else
  140. #        define NONAMELESSUNION      /* for OAIDL.H, OBJIDL.H,...  */
  141. #    endif
  142. #    if defined(_UNICODE)
  143. #        define UNICODE
  144. #    endif
  145. #endif
  146.  
  147. #if !defined(_68K_) && !defined(_MPPC_) && !defined(_PPC_) && !defined(_ALPHA_) && !defined(_MIPS_) && !defined(_X86_) && !defined(_IA64_) && defined(_M_IX86)
  148. #define _X86_
  149. #endif
  150.  
  151. #if !defined(_68K_) && !defined(_MPPC_) && !defined(_PPC_) && !defined(_ALPHA_) && !defined(_X86_) && !defined(_IA64_) && !defined(_MIPS_) && defined(_M_MRX000)
  152. #define _MIPS_
  153. #endif
  154.  
  155. #if !defined(_68K_) && !defined(_MPPC_) && !defined(_PPC_) && !defined(_ALPHA_) && !defined(_X86_) && !defined(_IA64_) && !defined(_MIPS_) && defined(_M_ALPHA)
  156. #define _ALPHA_
  157. #endif
  158.  
  159. #if !defined(_68K_) && !defined(_MPPC_) && !defined(_PPC_) && !defined(_ALPHA_) && !defined(_X86_) && !defined(_IA64_) && !defined(_MIPS_) && defined(_M_PPC)
  160. #define _PPC_
  161. #endif
  162.  
  163. #if !defined(_68K_) && !defined(_MPPC_) && !defined(_PPC_) && !defined(_ALPHA_) && !defined(_X86_) && !defined(_IA64_) && !defined(_MIPS_) && defined(_M_M68K)
  164. #define _68K_
  165. #endif
  166.  
  167. #if !defined(_68K_) && !defined(_MPPC_) && !defined(_PPC_) && !defined(_ALPHA_) && !defined(_X86_) && !defined(_IA64_) && !defined(_MIPS_) && defined(_M_MPPC)
  168. #define _MPPC_
  169. #endif
  170.  
  171. #if !defined(_68K_) && !defined(_MPPC_) && !defined(_PPC_) && !defined(_ALPHA_) && !defined(_MIPS_) && !defined(_X86_) && !defined(_M_IX86) && defined(_M_IA64)
  172. #if !defined(_IA64_)
  173. #define _IA64_
  174. #endif // !_IA64_
  175. #endif
  176.  
  177. #ifndef _MAC
  178. #if defined(_68K_) || defined(_MPPC_)
  179. #define _MAC
  180. #endif
  181. #endif
  182.  
  183. #ifndef RC_INVOKED
  184. #if     ( _MSC_VER >= 800 ) || defined(__BORLANDC__)
  185. #pragma warning(disable:4514)
  186. #ifndef __WINDOWS_DONT_DISABLE_PRAGMA_PACK_WARNING__
  187. #pragma warning(disable:4103)
  188. #endif
  189. #if _MSC_VER >= 1200
  190. #pragma warning(push)
  191. #endif
  192. #pragma warning(disable:4001)
  193. #pragma warning(disable:4201)
  194. #pragma warning(disable:4214)
  195. #endif
  196. #include <excpt.h>
  197. #include <stdarg.h>
  198. #endif /* RC_INVOKED */
  199.  
  200. #include <windef.h>
  201. #include <winbase.h>
  202. #include <wingdi.h>
  203. #include <winuser.h>
  204. #if !defined(_MAC) || defined(_WIN32NLS)
  205. #include <winnls.h>
  206. #endif
  207. #ifndef _MAC
  208. #include <wincon.h>
  209. #include <winver.h>
  210. #endif
  211. #if !defined(_MAC) || defined(_WIN32REG)
  212. #include <winreg.h>
  213. #endif
  214. #ifndef _MAC
  215. #include <winnetwk.h>
  216. #endif
  217.  
  218. #ifndef WIN32_LEAN_AND_MEAN
  219. #include <cderr.h>
  220. #include <dde.h>
  221. #include <ddeml.h>
  222. #include <dlgs.h>
  223. #ifndef _MAC
  224. #include <lzexpand.h>
  225. #include <mmsystem.h>
  226. #include <nb30.h>
  227. #include <rpc.h>
  228. #endif
  229. #include <shellapi.h>
  230. #ifndef _MAC
  231. #include <winperf.h>
  232.  
  233. #if(_WIN32_WINNT >= 0x0400)
  234. #if defined(__BORLANDC__) && !defined(_WINSOCKAPI_) && !defined(_WINSOCK2API_)
  235. #include <winsock2.h>
  236. #endif /* __BORLANDC__ */
  237. #if defined(__BORLANDC__) && !defined(_WINSOCKAPI_) && !defined(_MSWSOCK_)
  238. #include <mswsock.h>
  239. #endif /* __BORLANDC__ */
  240. #else
  241. #if defined(__BORLANDC__) && !defined(_WINSOCKAPI_) && !defined(_WINSOCK2API_)
  242. #include <winsock.h>
  243. #endif /* __BORLANDC__ */
  244. #endif /* _WIN32_WINNT >=  0x0400 */
  245.  
  246. #endif
  247. #ifndef NOCRYPT
  248. #include <wincrypt.h>
  249. #include <winefs.h>
  250. #include <winscard.h>
  251. #endif
  252.  
  253. #ifndef NOGDI
  254. #ifndef _MAC
  255. #include <winspool.h>
  256. #ifdef INC_OLE1
  257. #include <ole.h>
  258. #else
  259. #include <ole2.h>
  260. #endif /* !INC_OLE1 */
  261. #endif /* !MAC */
  262. #include <commdlg.h>
  263. #endif /* !NOGDI */
  264. #endif /* WIN32_LEAN_AND_MEAN */
  265.  
  266. #ifdef _MAC
  267. #include <winwlm.h>
  268. #endif
  269.  
  270.  
  271. #ifdef INC_OLE2
  272. #include <ole2.h>
  273. #endif /* INC_OLE2 */
  274.  
  275. #ifndef _MAC
  276. #ifndef NOSERVICE
  277. #include <winsvc.h>
  278. #endif
  279.  
  280. #if(WINVER >= 0x0400)
  281. #ifndef NOMCX
  282. #include <mcx.h>
  283. #endif /* NOMCX */
  284.  
  285. #ifndef NOIME
  286. #include <imm.h>
  287. #endif
  288. #endif /* WINVER >= 0x0400 */
  289. #endif
  290.  
  291. #ifndef RC_INVOKED
  292. #if     ( _MSC_VER >= 800 ) || defined(__BORLANDC__)
  293. #if _MSC_VER >= 1200
  294. #pragma warning(pop)
  295. #else
  296. #pragma warning(default:4001)
  297. #pragma warning(default:4201)
  298. #pragma warning(default:4214)
  299. /* Leave 4514 disabled.  It's an unneeded warning anyway. */
  300. #endif
  301. #endif
  302. #endif /* RC_INVOKED */
  303.  
  304. #endif /* RC_INVOKED */
  305.  
  306. #endif /* _INC_WINDOWS */
  307. #pragma option pop /*P_O_Pop*/
  308. #endif /* _WINDOWS_ */
  309.