Help and Support

Wrong Value for InDOS Flag After Absolute Disk Read and Write Functions in 16-Bit MS-DOS-Based Programs

Article ID:255570
Last Review:March 1, 2007
Revision:2.4
This article was previously published under Q255570
On This Page

SYMPTOMS

This article applies only to MS-DOS-based 16-bit programs. Some MS-DOS-based programs (including terminate-and-stay-resident, or TSR programs), make use of the InDOS flag to manage synchronization. The InDOS flag is usually set to 1 when MS-DOS is handling certain operations and to zero otherwise.

The operations that affect the InDOS flag include absolute disk read and absolute disk write (interrupts 25h and 26h) operations. Under MS-DOS, the interrupt 25h and 26h handlers increment the InDOS flag, perform the disk operation, and then decrement the InDOS flag (on return, it is 0).

Because of a problem in the port of MS-DOS, the InDOS flag is decremented but never incremented. On the return of an interrupt 25h or 26h operation, the value of the InDOS flag is -1. After several interrupts, it becomes -2, -3, and so on. The InDOS flag is then corrupted and becomes meaningless. This may prevent some 16-bit MS-DOS-based programs that make use of the InDOS flag from working properly.

Back to the top

CAUSE

The disk operations are actually handled by the Windows NT Virtual DOS Machine (NTVDM), which is a 32-bit program, not by the MS-DOS emulator (Ntdos.sys). The interrupt 25h and 26h handlers do not call the functions that take care of the physical disk operation.

Back to the top

RESOLUTION

Windows 2000

To resolve this problem, obtain the latest service pack for Windows 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
260910 (http://support.microsoft.com/kb/260910/EN-US/) How to Obtain the Latest Windows 2000 Service Pack

Back to the top

Windows NT 4.0

A supported fix is now available from Microsoft, but it is only intended to correct the problem that is described in this article. Apply it only to computers that are experiencing this specific problem.

To resolve this problem, contact Microsoft Product Support Services to obtain the fix. For a complete list of Microsoft Product Support Services phone numbers and information about support costs, visit the following Microsoft Web site:
http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS (http://support.microsoft.com/default.aspx?scid=fh;en-us;cntactms)
NOTE: In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The usual support costs will apply to additional support questions and issues that do not qualify for the specific update in question.

The English-language version of this fix should have the following file attributes or later:
   Date        Time     Size   File name  Platform
   -----------------------------------------------
   02/23/2000  02:26p  27,858  Ntdos.sys  x86
   02/23/2000  02:26p  27,858  Ntdos.sys  Alpha
				

Back to the top

STATUS

Windows 2000

Microsoft has confirmed that this is a problem in Windows 2000. This problem was first corrected in Windows 2000 Service Pack 1.

Back to the top

Windows NT 4.0

Microsoft has confirmed that this is a problem in Windows NT 4.0.

Back to the top


APPLIES TO
Microsoft Windows 2000 Server
Microsoft Windows 2000 Advanced Server
Microsoft Windows 2000 Professional Edition
Microsoft Windows NT Server 4.0 Standard Edition
Microsoft Windows NT Workstation 4.0 Developer Edition

Back to the top

Keywords: 
kbhotfixserver kbqfe kbbug kbfix kbwin2000sp1fix KB255570

Back to the top

Article Translations

 

Other Support Options

  • Contact Microsoft
    Phone Numbers, Support Options and Pricing, Online Help, and more.
  • Customer Service
    For non-technical assistance with product purchases, subscriptions, online services, events, training courses, corporate sales, piracy issues, and more.
  • Newsgroups
    Pose a question to other users. Discussion groups and Forums about specific Microsoft products, technologies, and services.