The MASM Forum Archive 2004 to 2012

General Forums => The Campus => Topic started by: Gunnar Vestergaard on April 02, 2009, 11:19:43 PM

Title: Question marks in windows.inc
Post by: Gunnar Vestergaard on April 02, 2009, 11:19:43 PM
Hello. I am a newbie, so forgive me if this question has been resolved before.

I have recently installed masm32 on my computer. In C:\masm\include\windows.inc there are a lot of lines that contain a question mark. I feel that this is not the way that it is supposed to be. Here is a fragment of windows.inc:
EMRCREATEDIBPATTERNBRUSHPT STRUCT
  emr       EMR <>
  ihBursh   DWORD      ?
  iUsage    DWORD      ?
  offBmi    DWORD      ?
  cbBmi     DWORD      ?
  offBits   DWORD      ?
  cbBits    DWORD      ?
EMRCREATEDIBPATTERNBRUSHPT ENDS

How do I correct this? Currently I have Microsoft Windows SDK v6.1 installed. That was a huge download.
Title: Re: Question marks in windows.inc
Post by: BogdanOntanu on April 02, 2009, 11:22:51 PM
Hi,

The question mark is OK.

It means "not initialized data" or "do not care about the initial value"

Title: Re: Question marks in windows.inc
Post by: ecube on April 02, 2009, 11:24:06 PM
While I can't comment on if that structure is up to date(may of been expanded for vista and changed for 64bit) the question marks in MASM mean unitialized data so for example

buffer byte 1024 dup(?) <---this is a uninialized buffer

buffer db 1024 dup(0) <---this is a initalized buffer that will add 1024 bytes to your actual exe,dll etc size on disk

also db and byte are the same thing

dd and DWORD are the same thing
dw and WORD are the same thing
qw and QWORD as the same thing
Title: Re: Question marks in windows.inc
Post by: donkey on April 03, 2009, 09:51:50 PM
Although the docs say that offBmi and offBits are pointers the structure for some unknown reason has not changed at least as far as the VS2008 headers, you would think they should be defined as DWORD_PTR.

Edgar