[C++] Beschikbare drives en drive-types opvragen

Pagina: 1
Acties:

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 22-06 10:32

_Thanatos_

Ja, en kaal

Topicstarter
Hallo allen,
Ik ben op zoek naar een manier om in MS-DOS m.b.v. C++ (Turbo C++ 3.0 om precies te zijn) de beschikbare drives op te vragen, met hun types. Ik ben geinteresseerd in de CD-ROM drive(s) en een RAM-drive.

DOS ziet zelf het verschil, dus het moet in C++ ook kunnen, leek me ;)

Ik heb op google enzo al wel wat snippets gevonden, maar die leveren alleen maar crap op

日本!🎌


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 12-09 23:01
Waarschijnlijk moet je dan met DOS interrupts gaan werken.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 22-06 10:32

_Thanatos_

Ja, en kaal

Topicstarter
Ja, maar daar ben ik ook niet bang voor. De vraag ik alleen welke en hoe enzo... Zoveel ervaring heb ik nml niet met DOS-interrupts.

日本!🎌


  • Tjeerd
  • Registratie: Oktober 1999
  • Laatst online: 13-09 14:13

Tjeerd

Be Original, Be Yourself.

Euhmz, dos interrupt 0x21 was dat toch?

Ja, functie 0x0e (select disk) zie ik in mijn BIOS-interrupt programming bible ;).

AH = 0x0e
DL = schijfeenheid (0=A, Z=25 enzovoorts)

dus:

shortint aantal;
code:
1
2
3
4
5
6
asm {
     mov ah,0xe
     mov dl,2   ; in dit geval de harddisk (2=C)
     int 0x21
     mov aantal,al     
    }

In het register 'al' krijg je dan als return-waarde het aantal logische drives. Wat in dit geval opgeslagen wordt in de variabele 'aantal'.

Zoiets, dan krijg je iig het aantal schijfeenheden terug, niet echt handig, maar misschien dat je er wat aan hebt.
Je kunt zoveel informatie uit een systeem halen met interrupts.

www.tjeerd.net - To repeat what others have said, requires education, to challenge it, requires brains.