Hi!
You can set you Delphi not to treat pointer restrictly. Then the error
will not occur. (Because the API needs pointer to DWORD, not a pointer
to LongInt, but there's no DWORD in Delphi)
To do this, select your compiler option dialog, then clear "typed @"
option. Or I'll find a better way for you. Are you using Delphi4?
SerialNo is a number generated by Format util, so it can recognize
each volume. Do you remember the old days when using Floppy Disks?
When you change floppy disk, DOS will know this by the serial no
of the disk,
. For there's little chance for two volumes having
the same serial no.
As to "Try" and "Final", it is some advanced function provided by Win32,
that can catch "bugs" or unexpected conditions while the program
running,
.
"Try" begins such catching block. And "Final" just ensure that
no matter what things have happened, the following code MUST be done!
So that you can do some cleanup work there.
Please wait for me to restart my NT so that I can give you a better
solution on the sample code of GetVolumeInfo;