There is a sample, but it prompts error when nmake...
The code defineition is
DISK_GEOMETRY STRUCT
Cylinders LARGE_INTEGER <&gt
MediaType     DWORD ?
TracksPerCylinder DWORD ?
SectorsPerTrack DWORD    ?
BytesPerSector DWORD ?
DISK_GEOMETRY ENDS



 Assembling: 
readdiskin2000.asm(18) : error A2179: structure improperly initialized
readdiskin2000.asm(18) : fatal error A1016: Internal Assembler Error


What's wrong with it?
Posted on 2005-12-13 03:56:07 by Eric4ever
Well maybe the term LARGE_INTEGER is not defined properly in terms that the assembler understands.
Posted on 2005-12-13 06:09:00 by roticv
DISK_GEOMETRY STRUCT
Cylinders_low DWORD ?
Cylinders_high DWORD ?
MediaType     DWORD ?
TracksPerCylinder DWORD ?
SectorsPerTrack DWORD    ?
BytesPerSector DWORD ?
DISK_GEOMETRY ENDS
Posted on 2005-12-13 09:17:54 by ti_mo_n

Well maybe the term LARGE_INTEGER is not defined properly in terms that the assembler understands.


How to solve the problem?
I include the windows.inc file which has the LARGE_INTEGER definetion but I look it up in Win32 API Reference it said the headfile is winnt.h, I didnot find the corresponding file winnt.inc in the MASM32/include directory.... :sad:

To ti_mo_n

thx :), It's a good idea to solve the problem... ;)
Posted on 2005-12-13 20:26:05 by Eric4ever
LARGE_INTEGER should be in windows.inc afaik. Based on winnt.h, here's the struct (tested)


LARGE_INTEGER UNION
STRUCT
LowPart DWORD ?
HighPart DWORD ?
ENDS
STRUCT u
LowPart DWORD ?
HighPart DWORD ?
ENDS
QuadPart QWORD ?
LARGE_INTEGER ENDS
Posted on 2005-12-13 20:49:38 by stormix
Looks like he needs spaces between words/syntax.

Regards,  P1  8)
Posted on 2005-12-14 17:15:52 by P1
No, that's just some thing with the board/browsers- if you copy and paste it you'll see that there are in fact tabs so it reads something like "TracksPerCylinder DWORD ?"
Posted on 2005-12-15 11:18:52 by stormix