The MASM Forum

Projects => Rarely Used Projects => GoAsm => Topic started by: shankle on September 17, 2012, 09:56:04 PM

Title: headers and 64-bit programs
Post by: shankle on September 17, 2012, 09:56:04 PM
To my way of thinking, there should be a separate set of headers for
64-bit programming. For EX: Mr. Gordons documentation for
WNDCLASS does not show how to code for the WNDCLASSEX api.
Yes there is a sample for WNDCLASS, but at my stage of learning,
when to add the Q in place of the D and how much to add to the
end is still confusing. This also applies to any other API.
Where can I read more on this?

Title: Re: headers and 64-bit programs
Post by: TouEnMasm on September 18, 2012, 02:22:10 AM
The sdk is the answer,you can translate it with
http://masm32.com/board/index.php?topic=576.msg4665#msg4665 (http://masm32.com/board/index.php?topic=576.msg4665#msg4665)
The winuser is abble to answer you.
Title: Re: headers and 64-bit programs
Post by: shankle on September 18, 2012, 07:39:37 AM
Hi ToutEnMasm and thank you for replying.
I tried to download the Luce.yves thingy but ESET SS gave this virus
warning:  a variant of win32/krypt.k.bne trojan.
Most likely a false positive.
Let me know what you find out Please.
Jack
Title: Re: headers and 64-bit programs
Post by: TouEnMasm on September 18, 2012, 03:18:41 PM

There is no virus in the zip file and not in the forum,change it.
"Microsoft security essential" is free and work very well.
Title: Re: headers and 64-bit programs
Post by: wjr on September 21, 2012, 10:16:01 AM
Short story, pointers move up to 64-bits. Things do get a bit more complicated with alignment of structures and their members. If using Edgar's header files, you will see 64-bit members with either a type of mainly HANDLE or PTR (some others too, like DWORD_PTR) which switch from 32-bit to 64-bit if you define the symbol WIN64. Without going back to the header files, these will typically be members with names starting with h (ex. hIcon) and lp (ex. lpszClassName).

If you define a structure in a data or constant section (not LOCAL) and get GoASm to create a listing file, you can see how these resolve to DQ and where extra padding has been added for proper alignment.
Title: Re: headers and 64-bit programs
Post by: jj2007 on September 21, 2012, 08:06:22 PM
Quote from: wjr on September 21, 2012, 10:16:01 AM
Short story, pointers move up to 64-bits.

Long story (http://lwn.net/Articles/456731/).