Hello to all the members of ASM community.  8)  8)  8)
I am interested in driver programming as I think it is the most I can do to understand the underlying operating system concepts(I mean in windows).I have even downloaded and made a print out the book "Programming Windows Driver Model " by Walter Oney .I think it is the great book (As far as I know  :D).I am really confused now days regarding the power a driver programmer has.I wanna ask you experts questions about hardware access.Do we really need to write drivers when all the necessary drivers are provided by the operating system itself ? I undestand that more specific drivers(like one display driver from intel) is able to exploit the full potential of particular hardware and therefore different drivers may extract different possiblities from the same piece of device.
                                          My main concern about this confusion has arised from data recovery softwares and softwares like "disk investigator" and "Powerquest partition magic".I hope most of you are familiar with these  softs.Since Windows Xp and later do not allow the programmer to access the hardware directly what path a programmer should choose to access them.How a data recovery software can access the hard disk and cd/dvd sectors directly ?Do they ship their own drivers along with their software installers or they rely on the native ones provided by windows ?What are the benefits of using the either ? Can some sort of extra functionality can be achieved through custom drivers?

Many softwares claim that they will scan the drive(HD or DVD) sector by sector.I mean how do they do that ?While the software like partition magic access hard disk by running as a service some softwares like "File recovery angel" do this access from within windows and recover the deleted files within seconds ? :shock:


If I am messing the things forgive me please.I am not a expert.
Posted on 2006-07-27 06:12:25 by lonelyboy

Since Windows Xp and later do not allow the programmer to access the hardware directly what path a programmer should choose to access them.How a data recovery software can access the hard disk and cd/dvd sectors directly ?

First of all, They do NOT access hardware directly. Simply, CreateFile can open physical volumes like files and you would read all sectors like a big file...
However; Partition magic have a native application part, but this is not driver
if I were you, I will read IA-32 manuals before Walter Oney's book
Posted on 2006-07-27 06:33:34 by Dite
Thanks Dite.An already available api call? But that means CreateFile is actully using the default filesystem driver shipped with windows to access the drive and programmer need not make his own.But when Does a programmer actully need ship sys files(or drivers) along with their application ?
Posted on 2006-07-27 06:50:02 by lonelyboy
For instance; Firewalls, Anti-Virus, Bios flashing, cryptographic file systems, etc....
In brief, If the software needs filtering & monitoring I/O or direct access to hardware, probably it may have a kernel mode extendtion (driver)
Posted on 2006-07-27 07:59:19 by Dite