Subj : How to detect RAM disks (Was: how to detect cdrom?) To : Gerald Miller From : Gerald Miller Date : Mon Feb 25 2002 02:07 pm From: Gerald.Miller@f512.n342.z1.cereal.mv.com (Gerald Miller) Subject: How to detect RAM disks (Was: how to detect cdrom?) Monday February 25 2002 12:26, Gerald Miller wrote to Klaus Meinhard: GM> Monday February 25 2002 08:46, GM> Klaus Meinhard wrote to Jasen Betts: KM>> But the fact remains: you can make a lot of nonstringent tests. KM>> Any of these facts _could_ apply to another (hard) disk. On the KM>> other hand it's trivial to write a test for a known KM>> configuration. KM>> The best bet for a general ramdisk test might be the existence of KM>> a single FAT. But is it really general? The existence of a KM>> formattable ramdisk may mean this one has 2 FATs. GM> I have a small program named: MEM.EXE. When I type: GM> I can get a list of memory modules and with a little creative GM> editing, I can get a list of module_names and should be able to GM> use the edited list as input to a command: GM> for %%mod in (at e:\tmp\mod_name.dat) do call mem /module %mod In case you haven't discovered yet, "(at e:\tmp\mod_name.dat)" should be "(@e:\tmp\mod_name.dat)" GM> which brings me to the following point: GM> Can you not take a previously created MOD_NAME.DAT file and use GM> it as imput to test for other installed devices? As a test, I created a e:\tmp\mod_name.sav: MS-RAMDRIVE RAMDRIVE RDV VDISK NOVELL DRDOS RAM NEWLDR RxVDISK BDSK TDSK TF and then ran the command: for %%mod in (@e:\tmp\mod_name.sav) do call mem /module %mod which resulted in: === Cut Begin: MEM.OUT === MS-RAMDRIVE is not currently in memory. RAMDRIVE is using the following memory: Segment Region Total Type ------- ------ ---------------- -------- 0B14A 1 1184 (1K) Installed Device=RAMDRIVE ---------------- Total Size: 1,184 (1K) RDV is not currently in memory. VDISK is not currently in memory. NOVELL is not currently in memory. DRDOS is not currently in memory. RAM is not currently in memory. NEWLDR is not currently in memory. RXVDISK is not currently in memory. BDSK is not currently in memory. TDSK is not currently in memory. TF is not currently in memory. === Cut End: MEM.OUT === Notice that "MS-RAMDRIVE" was #_NOT_# found (although I can assure you that I am loading C:\DOS\RAMDRIVE.SYS high) and I would presume that MEM.EXE is not locating the device by a label, but rather a device name... Cheers ... Gerald -- |Fidonet: Gerald Miller 1:342/512 | | Origin: The Cereal Port BBS (603)899-3335 199.125.78.133 (1:132/152) --- # Origin: (1:132/152.4) * Origin: Baddog BBS (1:218/903) .