Once again: Read hard disk sectors

I have been told that direct access to hard disk sectors is not possible with delphi2 (32 bit)(It would be possible through VXDs). Is it possible with Delphi1 (16 bit) by using the int 13h and running the application in Windows 95?
LVL 1
tierAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

sperlingCommented:
Still, it is possible, but you cannot write to the logical or physical disk where Windows 95 is installed. That's what you need a VxD for...

Regards,

Erik.
0
OAMCommented:
You must use CreateProcess and call the Win32.vxd(?) or something like that. Try to lookup Createprocess in your Online Help
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
sperlingCommented:
In 32-bit code, you can do *some* DOS/BIOS interrupts using CreateFile on '\\.\VWIN32' and then doing DeviceIOControl to have it execute the ints for you. Int 13h is not supported using these methods.

In 16-bit code, you can do a few more ints, most of the int 13 functionality is supported. However, here you cannot use the VWIN32 VxD. You need to use DPMI to perform the ints, and the volume locking functions to obtain a lock of the correct level for the volume you wish to read/write. In some cases, the lock must be obtained in a two-step operation, where you first gain a intermediate level lock on a volume, and using this lock gets a exclusive lock.


0
slashCommented:
Interesting indeed,
Yes, as I said before you need to use INT 32h (DPMI).  The questions
is how to call Int 13h exactly using int31h or are there any procedures/documentations ???


0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Delphi

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.