title: reading and writing hard disk directly in win32api like the biosdisk or absread in ms-dos
body: <p>I had been playing with the disk drives 12bit FAT (FAT12) and 16bit FAT(FAT16) in C language (Turbo C) which runs under the 16 bit OS MS-DOS.</p>
  
  <p>I was able to manipulate sectors directly.</p>
  
  <p>FAT32 was little complicated because the sectors are stored like linked list unlike other FAT lower than FAT32.</p>
  
  <p>I want to read write hard disks, USB Disks directly using 32 bit C language (win32 api).</p>
  
  <p>I saw <a href="http://www.codeguru.com/cpp/w-p/system/misc/print.php/c5765" rel="nofollow">some code</a> and it were using /device/ to access a disk where as in biosdisk the disks were numbered from 0 onwards i think. i was manipulating like heads, sectors, cylinders ...</p>
  
  <p>Please advice on how to read write hard disks directly sector by sector or how to read write hdd in low level. </p>
  
  <p>do i have to go for assembly language?</p>
  
  <p><strong>EDIT</strong></p>
  
  <p>one scenario why i need to directly manipulate the hard disk is i want to write a file maintaining my own FAT even hiding it from the FileSystem but marking those sectors as used. So it is just hiding a file from the other users, the operating system and even me except the program i write which can only access those files. this is just one point and the others would be just playing around. :)</p>