[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 186
  • Last Modified:

Int 21/AX=E905h (Map Root)inert in 95,NT4

This sounds like an ASM question, but in truth I'm using
intdos() on good old BC3.

This function works fine in DOS 6.2 and fails in 95 and NT4
(retval 3 - "path not found"). I've watched the actual int21
in Turbo Debugger for the identical machine, identical .EXE
after rebooting the OS -- i.e., 100% reproducible.

Does this simply not work for > W3.1, or am I missing something?  Thanks.

P.S. this is a Netware programming question, in case anyone wishes to vomit.
0
BILLWOOD
Asked:
BILLWOOD
  • 2
1 Solution
 
alexoCommented:
NT does not implement INT21h functions at all.  Use DeviceIoControl() instead.
Win95 requires passing through a VxD (VWIN32) for certain INT21h calls.

There are some examples by Raymon Chen from MS at:
      http://www.dejanews.com/getdoc.xp?AN=207816158 
      http://www.dejanews.com/getdoc.xp?AN=211688212 
0
 
BILLWOODAuthor Commented:
Thanks for the answer.  This is something I've needed to know for a long time.  I wish I knew what was the deal with 95, though.
0
 
alexoCommented:
"the deal with Win9x" is that it is a patch on hack with an expected life span of 2-3 years.
0

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now