|
G0OSW > DOS 03.05.04 19:26l 39 Lines 1669 Bytes #999 (0) @ WW
BID : 5937_G0OSW
Read: GUEST
Subj: Cluster size on large disks
Path: DB0FHN<DB0FOR<DB0MRW<DB0WUE<DK0WUE<DB0RES<ON0AR<7M3TJZ<KP4IG<ED1ZAC<
ZL2TZE<GB7YFS<GB7WSX<GB7SOU
Sent: 040503/1731Z @:GB7SOU.#48.GBR.EU #:8740 [Bishops Waltha] FBB7.00i
From: G0OSW@GB7SOU.#48.GBR.EU
To : DOS@WW
G0OSWTPK 1.82 Msg N§:5937 Date:03-05-2004 Time:17:07Z
Hi. Can anyone help?
I have a DOS program which I have written some time ago, which works out
the "real" amount of space taken by a file (that is, the number of clusters
used). This uses DOS interrupt 21H function 36H, which returns the
followng info:
AX Sectors per cluster
BX Available clusters
CX Bytes per sector
DX Clusters per drive
I use AX * CX to get the bytes per cluster. This works on smallish disks,
but does not work on FAT32 disks - I get a value of 32K per cluster wheeas
CHKDSK says it should be 16K, so obviously the numbers being returned are
wrong. I suspect there is an "extneded" version as there is for reading
and writing disk sectors, which stores the values at double-words.
I'd like to modify my program to work proberly when run on a FAT32 disk.
Does anyone know the correct way to get the bytes per sector on large
disks, and how to detect when this method should be used instead of the old
method?
ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΡΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
Ί ΫΫΫΫΫΫΫ» ΫΫΫΫΫΫ» ³ E-Mail Ί
Ί ΘΝΝΝΝΫΫΊ ΘΝΝΝΝΫΫ» de Roy ³ roysainsbury@compuserve.com Ί
Ί ΫΫΙΌ ΫΫΫΫΫΙΌ G0OSW @ GB7SOU ³ Ί
Ί ΫΫΙΌ ΘΝΝΝΫΫ» TPK 1.82 & TPK-7 ³ Servers Ί
Ί ΫΫΊ ΫΫΫΫΫΫΙΌ ³ /REQINFO, /REQDIR, /REQFIL Ί
Ί ΘΝΌ ΘΝΝΝΝΝΌ ³ /REQFIL CATALOG for file info. Ί
ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΟΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ
Read previous mail | Read next mail
| |