From: Paul G. <pga...@at...> - 2003-08-19 05:24:04
|
On 19 Aug 2003 at 9:32, Luke Dunstan wrote: > > ----- Original Message ----- > From: "Earnie Boyd" <ear...@ya...> > To: <min...@li...> > Sent: Monday, August 18, 2003 8:30 PM > Subject: Re: [MinGW-dvlpr] _NT4, _W95. _W98 etc version defines > > > > Danny Smith wrote: > > > I've just noticed that although these symbolic version constants > > > are now being used throughout the w32api, the header that defines > > > them (w32api.h) is _nowhere_ included by another header. Should > > > w32api.h be included from windows.h now? This will break some > > > projects that try to avoid inclusion of windows.h but instead > > > include just some of the base windows headers (windef.h, > > > winbase.h). What about winver.h? > > > > > > > My intention was to include w32api.h in each header. > > > > > My feeling is that these mingw-specific defines may create > > > unnecessary problems and that we should revert to just using the > > > numeric constants directly in the w32api headers > > > > > > I'm also see some confusion about what these constant mean: eg a > > > recent patch thad this in it: > > > > > > +#if _WIN32_IE>=_NT5 > > > > > > which is another reason why I'm beginning to find these > > > undocumented constants ackward. > > > > > > > That is obviously wrong. I'm willing to revert and make the > > necessary modifications but I'd like to hear others opinions first. > > If you don't have a clue as to what this refers to, take a look at > > the w32api.h file from CVS. Is this what you were referencing Earnie? (http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/mingw/w32api/include/w32api.h?rev=1.12&content type=text/vnd.viewcvs-markup) #ifndef _W32API_H_ #define _W32API_H_ #if __GNUC__ >=3 #pragma GCC system_header #endif #define __W32API_VERSION 2.3 #define __W32API_MAJOR_VERSION 2 #define __W32API_MINOR_VERSION 3 #endif /* ndef _W32API_H_ */ If this is what you were talking about, Earnie? If so, then it appears that the only reason that w32api.h exists is to locally annotate the current w32api version. Is that correct? If so, it seems logical to me to include w32api.h as part of winver.h. This allows those who are avoiding using windows.h to get the w32api version reference simply by including winver.h. It also means that if windows.h is included that w32api version references will also be accessible. > > > > Earnie. > > To avoid conflicts I would rather use the numbers but also have > comments in one of the headers about the exact meaning of each > combination of values, in even more detail than MSDN because they seem > to have stopped documenting some things like WINVER. It looks like MSDN has moved away from WINVER except to set it to 0x400 in order to maintain compatibility with .Net. I assume we are talking about OS version references, eg. 4.00, etc. when "WINVER" is mentioned. Now it appears that MSDN is indicating that one establish the current WINVER via the following method: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/osversioninfo_str.asp Paul G. |