Some senseless babbling from Jonathan De Boyne Pollard to Mike Ruskai
on 10-20-99 08:58 about Attn: HPFS gurus...
MR> Which is more likely, that in rare cases the above would not read LSN
MR> 16 at all, or that in rare cases the SuperBlock doesn't reside at LSN
MR> 16 at all?
JDBP> The former.
JDBP> As I said before, when one opens a volume for reading using category
JDBP> 0x08 DosDevIOCtl, logical sector 0 is in fact the start of the "drive"
JDBP> that contains the volume. This sector contains the MBR for that
JDBP> "drive".
JDBP> For primary partitions, this "drive" is the actual physical drive and
JDBP> the MBR is the primary MBR. The first primary partition usually starts
JDBP> on the next track boundary (because FDISK utilities try to align
JDBP> partitions on track boundaries). This was the cause of your previous
JDBP> problem.
[snip]
This explains quite a bit. I was looking for a somewhat simpler method
(which worked for apparently all logical drives), so it's fortunate that
Vitus posted the information he did, which I'm now using. Putting the
drive in sector mode overcomes the limitations, while freeing me from
figuring out where the drive actually begins. Suitable simplicitly for the
simple nature of what I'm trying to do.
I'll also point out at this point that I received the information I needed
about HPFS's freespace bitmaps from the author of DFSEE, so the program I
wrote to check them should work on any drive size.
It can be downloaded from:
http://home.att.net/~thanny/fspace.zip
The source is included, of course. On all of my drives, I get a 4096
sector discrepancy (2MB) between what DosQueryFSInfo() returns, and what
the freespace bitmaps themselves say about the number of free sectors on
the volume.
Mike Ruskai
thannymeister@yahoo.com
... 'If it ain't broke, you can probably still fix it.' - Tim Allen
___ Blue Wave/QWK v2.20
--- Platinum Xpress/Win/Wildcat5! v3.0pr2
* Origin: FIDO QWK MAIL & MORE! WWW.DOCSPLACE.ORG (1:3603/140)
|