News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

WINDOWS.INC version 1.4 release.

Started by hutch--, July 28, 2007, 01:27:09 AM

Previous topic - Next topic

hutch--

This is the new two(2) file version. Use windows.inc as normal and do not include the second file as it is done in the tail end of windows.inc. The combined files are about half a megabyte larger mainly due to equates from Windows Vista.

it is an external link because the zip file is too large to attach.

www.masm32.com/download/winc14r.zip
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

Obivan

Hi hutch,

the CY definition is not correct, he is a UNION. -> http://www.masm32.com/board/index.php?topic=7139.15 you forgot?  :wink

Can you change the LARGE_INTEGER definition in your version?
LARGE_INTEGER  UNION
    STRUCT
        LowPart         DWORD       ?
        HighPart        DWORD       ?
    ENDS
    QuadPart        QWORD       ?
LARGE_INTEGER  ENDS
LPLARGE_INTEGER typedef ptr LARGE_INTEGER


I missed 4 Winsock consts, please add the in your version.
FD_QOS equ 040h
FD_GROUP_QOS equ 080h
FD_ROUTING_INTERFACE_CHANGE equ 100h
FD_ADDRESS_LIST_CHANGE equ 200h


Regards
Obi

hutch--

Obi,

Thanks for the report but I did need it BEFORE I released this version, thats what the questions have been about for the last week or so.

Tis is the form I have just put it into WINDOWS.INC.


LARGE_INTEGER UNION
    STRUCT
      LowPart  DWORD ?
      HighPart DWORD ?
    ENDS
  QuadPart QWORD ?
LARGE_INTEGER ENDS


Tolerate me at the moment, I still have some massive amount of work to do building a new version.

I had not done the latest winsock2.h file.

Here are the ones I can find.

SO_PROTOCOL_INFOA                equ 2004h
SO_PROTOCOL_INFOW                equ 2005h
SO_PROTOCOL_INFO                 equ SO_PROTOCOL_INFOW
PF_BTH                           equ AF_BTH
MSG_WAITALL                      equ 8h
XP1_SAN_SUPPORT_SDP              equ 00080000h
WSA_FLAG_ACCESS_SYSTEM_SECURITY  equ 40h
NS_BTH                           equ 16
NS_EMAIL                         equ 37
NS_PNRPNAME                      equ 38
NS_PNRPCLOUD                     equ 39
LUP_NON_AUTHORITATIVE            equ 4000h
LUP_SECURE                       equ 8000h
LUP_RETURN_PREFERRED_NAMES       equ 10000h
LUP_ADDRCONFIG                   equ 00100000h
LUP_DUAL_ADDR                    equ 00200000h
POLLRDNORM                       equ 0100h
POLLRDBAND                       equ 0200h
POLLIN                           equ POLLRDNORM or POLLRDBAND
POLLPRI                          equ 0400h
POLLWRNORM                       equ 0010h
POLLOUT                          equ POLLWRNORM
POLLWRBAND                       equ 0020h
POLLERR                          equ 0001h
POLLHUP                          equ 0002h
POLLNVAL                         equ 0004h


Here is the correct assembler notation for the 4 equates converted from the C notation using <<.


    FD_QOS                      equ (1 SHL FD_QOS_BIT)
    FD_GROUP_QOS                equ (1 SHL FD_GROUP_QOS_BIT)
    FD_ROUTING_INTERFACE_CHANGE equ (1 SHL FD_ROUTING_INTERFACE_CHANGE_BIT)
    FD_ADDRESS_LIST_CHANGE      equ (1 SHL FD_ADDRESS_LIST_CHANGE_BIT)


Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

Ian_B

Quote from: hutch-- on July 28, 2007, 11:15:51 AM
Tis is the form I have just put it into WINDOWS.INC.


LARGE_INTEGER UNION
    STRUCT
      LowPart  DWORD ?
      HighPart DWORD ?
    ENDS
  QuadPart QWORD ?
LARGE_INTEGER ENDS

Hutch, do you mean this is the form that will appear in an update? Because on checking it in the 1.4 version I just downloaded from the site link, it shows this, clearly incorrect:

LARGE_INTEGER STRUCT
        QuadPart QWORD ?
LARGE_INTEGER ENDS


hutch--

Ian,

No, its as I said, the suggestion was made after I released the later version so i added a corrected version of the structure plus the listed equates and corrected SHL equates.

I have always had this problem in that when i need useful information little is forthcoming and when I release a file of this tpe I get whinged at for not including something.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

Ian_B

Hutch, I understand. I was just trying to clarify what you meant by "added". You mean you have added it into your master reference copy, but not into the public release. That makes a large amount of difference, since we still all need to correct the windows.inc/winextra.inc file we have downloaded so that use of this particular structure works in all cases.

hutch--

Ian,

That will be solved reasonably soon so it will no longer be a problem. For obvious reasons I am not going to do release versions on short notice after every correction. What I needed while I was asking for suggestions was suggestions. I added about 400k to the master fiel, found it was too long for older versions of ML so I split it into 2 files so it would run correctly on all versions of ML from 6.14 to 8.0.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

Vortex

Hi Hutch,

Do you have any plans to update the other version of windows.inc designed for Poasm?

hutch--

Erol,

Yes, the current version I have here at the moment works with POASM fine. I tracked down the last couple of things that clashed with POASM and they can now share the same version. It will be released reasonably soon.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

GregL

I assembled a file just the other day with POASM, using the latest WINDOWS.INC (1.4) because I didn't have the POASM version handy, and it worked just fine. I was pleasantly surprised.  :thumbu


Vortex


petrik

Thank you Hutch for all your hard work.
Unfortunately, unlike Greg, I still get the same recurrent error when using POASM with windows.inc 1.4 or prior versions, ie 'Redefinition of symbol GUID'.
The relevant make.bat line is '...\POASM.EXE Easter.asm'. (The Easter program simply calculates the exact date of Easter Day for any future year).
Any thoughts on the error, or should I just wait until you release the new POASM compatible version?
Many thanks for your help.

hutch--

t the moment just delete the duplication. It happens because POASM is not duplicate tolerant like MASM. POASM reports the line where the error is so you should be able to go to that line and delete it witout much problem.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

petrik

Hutch

I tried your suggestion and commented out the 'IID equ <GUID>' in windows.inc but this gave 'undefined IID' and '<' errors.
However, when I also moved the IID struct definition from winextra.inc to windows.inc everything assembled normally.
Thank you for the nudge in the right direction.

Ghirai

Added the file hutch posted to my mirror.
MASM32 Project/RadASM mirror - http://ghirai.com/hutch/mmi.html