Please post incorrect/outdated structures and definition in Masm32 Here

Started by ecube, November 05, 2009, 04:27:22 PM

Previous topic - Next topic

ecube

i'll start it

OSVERSIONINFOEXA is outdated, to accomodate vista+ I updated OSVERSIONINFOEXA as below and renamed to OSVERSIONINFOEXAX but you can simply replace.

OSVERSIONINFOEXAX STRUCT
  dwOSVersionInfoSize DWORD ?
  dwMajorVersion  DWORD ?
  dwMinorVersion  DWORD ?
  dwBuildNumber   DWORD ?
  dwPlatformId    DWORD ?
  szCSDVersion    BYTE  128  dup (?)
  wServicePackMajor WORD ?
  wServicePackMinor WORD ?
  wSuiteMask           WORD ?
  wProductType       BYTE ?
  wReserved            BYTE ?
OSVERSIONINFOEXAX ENDS

redskull

Isn't there a "windows.inc" subforum for this?  In either case,

BITRECORD RECORD fBinary:1,fParity:1,fOutxCtsFlow:1,fOutxDsrFlow:1,fDtrControl:2,fDsrSensitivity:1,fTXContinueOnXoff:1,fOutX:1,fInX:1,fErrorChar:1,fNull:1,fRtsControl:2,fAbortOnError:1,fDummy2:17

is in reversed order (still :bg)


-r
Strange women, lying in ponds, distributing swords, is no basis for a system of government

hutch--

 :bg

> Isn't there a "windows.inc" subforum for this?

Yes there is as a matter of fact so I moved it here.

It is nearly impossible to keep track of single items spread all over the forum, what I need is reliable reference for the data change so I can do any upgrades to WINDOWS.INC in a lifetime.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

redskull

While it's an active topic, i've always wondered: How come Windows.inc is one massive file, instead of broken down into the various sub files like windows.h is?  Masm has a pretty decent preprocessor, it would seem easier to maintain and easier to use like that (eg, seamless switching between Ansi and Unicode), and certainly easier to update.

-r
Strange women, lying in ponds, distributing swords, is no basis for a system of government

dedndave

well - it is broken into 2 files
i was thinking Hutch might be able to write a little program that compares windows.inc's
that way, rather than manually updating them - or trying to keep track
he could put several files in a folder and it would compare them and let him have yea/nea on alterations - just a thought

hutch--

 :bg

Dave,

The last major mod on the Windows inc file split it into two due to line limits of earlier versions of masm and it had about 600k of extras added to it. I use a miriad of automated techniques to maintain it, rigid duplicate checking as POASM will stop on duplicates. The source is corrently split into about 50 files that can be edited manually then recombined into the two large include files that are current. This keeps a lot of the file in order for dependencies and allows extras to be added to each file so you have some chance of keeping track of what is in it.

New structures are discovered by running the current Microsoft C compiler after including the complete SDK iclude file set with redirected output then searching the file for all of the structures which go into a seperate file. It is then checked for duplicates in the original and any new ones are written to another file. Then they have to be checked manually to ensure they do not ue MASM reserve words and then are added to the master files for recombination.

Maintaining the MASM include file including Windows.inc is a nightmare and if you get it wrong it goes BANG. Every time I have let anyone modify it or add stuff to it I have ended up spending a week fixing it.

Now while I understand Red's suggestion, you would need to buys a chair and computer that would last you many lifetimes as manually editing that much data into seperate include file would take that long.  :P
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

redskull

Quote from: hutch-- on November 06, 2009, 01:32:39 AM
...you would need to buys a chair and computer that would last you many lifetimes as manually editing that much data into seperate include file would take that long.  :P

Hmm... if only there were a forum of dedicated people willing to help out?  :bg  I've always wanted to add "WIN32_LEAN_AND_MEAN EQU 1" to my masm programs!  But seriously, though, thanks to anyone and everyone who has helped out to make windows.inc over the years

-r
Strange women, lying in ponds, distributing swords, is no basis for a system of government

hutch--

 :bg

Here is the file list for the win inc directory. This does not include the contents of any of the other support directories that are needed to extract the data from Microsoft SDK header files.


11/06/2009  01:05 PM    <DIR>          .
11/06/2009  01:05 PM    <DIR>          ..
06/05/2008  12:54 PM             1,210 9520_head.txt
07/21/2007  01:20 AM             1,301 9530_macro.txt
07/21/2007  01:21 AM             8,910 9540_dtype.txt
07/21/2007  02:12 AM             7,292 9550_winbase.txt
07/23/2007  05:35 AM           321,981 9560_equates.txt
07/23/2007  05:30 AM            16,991 9570_wingdi.txt
06/23/2008  02:49 AM           102,947 9580_win32st.txt
07/28/2007  10:50 PM            40,474 9590_winuser.txt
07/20/2007  04:18 PM            14,682 9600_comdlg.txt
07/21/2007  03:12 AM           112,141 9610_comctl.txt
07/28/2007  10:45 PM            24,754 9620_wsock.txt
07/19/2007  02:39 PM             2,068 9630_toolhlp.txt
07/19/2007  02:40 PM             6,112 9640_propsht.txt
07/28/2007  10:53 PM            92,665 9650_winnt.txt
08/04/2007  10:40 PM            11,110 9660_imaghlp.txt
07/19/2007  02:40 PM               300 9670_excpt.txt
07/19/2007  02:41 PM             8,996 9680_wtypes.txt
07/20/2007  04:31 PM             5,332 9690_mmsys.txt
07/19/2007  02:42 PM               981 9700_cpl.txt
07/19/2007  02:42 PM             1,260 9710_ctl3d.txt
08/22/2009  03:50 AM            46,133 9720_shlapi.txt
07/19/2007  02:44 PM            21,460 9730_riched.txt
07/22/2007  03:20 PM               634 9740_tail.txt
07/23/2007  05:03 AM               642 9750_extrahead.txt
08/04/2007  10:41 PM             3,017 9760_ole.txt
07/20/2007  06:24 PM            27,346 9770_shlobj.txt
07/19/2007  02:45 PM            21,804 9780_vfw.txt
07/20/2007  04:00 PM             2,711 9790_wintrust.txt
07/20/2007  04:07 PM             5,452 9800_winspool.txt
07/19/2007  02:43 PM            33,720 9810_opengl.txt
07/21/2007  03:22 PM            12,807 9820_urlmon.txt
12/31/2007  02:17 AM            76,228 9830_mapi.txt
07/23/2007  05:31 AM            13,316 9840_winioctl.txt
07/21/2007  10:58 PM            40,296 9850_tapi.txt
07/21/2007  03:51 PM            87,126 9860_ntstatus.txt
07/22/2007  12:11 PM           109,903 9870_lmserver.txt
07/23/2007  05:31 AM            19,575 9880_ras.txt
07/20/2007  05:46 PM            13,135 9890_oledlg.txt
07/20/2007  11:45 PM             2,620 9900_htmlhelp.txt
07/21/2007  02:14 AM             1,532 9910_wincon.txt
07/21/2007  03:23 PM             1,842 9920_UserEnv.txt
07/21/2007  03:59 PM             9,500 9930_vcr.txt
07/22/2007  12:19 AM           138,449 9940_WinError.txt
07/24/2007  11:37 PM            56,010 9950_wincrypt.txt
07/19/2007  02:43 PM            46,587 9960_odbcsql.txt
07/25/2007  11:35 PM             7,995 9970_lmpapi.txt
07/25/2007  11:15 PM            76,069 9980_mmreg.txt
07/23/2007  05:03 AM               161 9990_extratail.txt
09/07/2009  10:40 PM    <DIR>          archive
09/07/2009  10:40 PM    <DIR>          ch2ah
01/22/2005  03:59 PM             1,363 combine.bas
07/19/2007  03:21 PM            10,272 COMBINE.EXE
09/07/2009  10:40 PM    <DIR>          c_equ_cnvt
11/06/2009  01:02 PM                71 dups.inc
09/07/2009  10:40 PM    <DIR>          get_equates
07/22/2007  09:35 PM               946 makeit.bat
11/06/2009  01:02 PM               816 order.lst
07/18/2007  03:04 AM            14,368 rdup.exe
09/07/2009  10:40 PM    <DIR>          remdup
07/22/2007  02:35 PM               756 rn.bas
09/12/2007  11:06 AM            10,272 rn.exe
09/12/2007  11:06 AM            12,800 rn.exe.pec2bac
09/12/2007  11:06 AM               534 rn.log
07/22/2007  03:16 PM               915 splitit.bas
07/22/2007  03:16 PM            12,800 splitit.exe
09/07/2009  10:40 PM    <DIR>          tst
11/06/2009  01:02 PM           849,780 windows.inc
11/06/2009  01:02 PM           807,877 winextra.inc
09/07/2009  10:40 PM    <DIR>          zip


It does a number of interesting things, when you run the MAKEIT.BAT file it scans the file list of TXT files, auto-renumbers them while keeping them in order. Then it creates a new list of files, recombines them into one big file, splits the file into two so it can be run by older versions of ML, then it is scanned for duplicates which are then written to a seperate file for reference. There is an option with the duplicate checking software to comment out the duplicate which was necessary when I had to do the last big fix but by keeping it in reasonable shape, I rarely ever need to run that option.

Stay tuned for the details of the other mountain of toys needed to extract the data if you can stay awake long enough ZZZZZZZZZzzzzzzzzzzzzz..................
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

ecube

didn't realize there was entire sub forum for it, can delete this thread :)

dedndave

well - i knew it was a headache, Hutch - lol - it is huge
and - yes - thank you so much for maintaining it
i am sure asm programmers everywhere make use of it - not just our members

:U :U