Wrong Value for InDOS Flag After Absolute Disk Read and Write Functions in 16-Bit MS-DOS-Based Programs (255570)
The information in this article applies to:
- Microsoft Windows 2000 Server
- Microsoft Windows 2000 Advanced Server
- Microsoft Windows 2000 Professional
- Microsoft Windows NT Server 4.0
- Microsoft Windows NT Workstation 4.0
This article was previously published under Q255570 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.
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.
RESOLUTIONWindows 2000To 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 How to Obtain the Latest Windows 2000 Service Pack
Windows NT 4.0A 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: 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
STATUSWindows 2000Microsoft has confirmed that this is a problem in Windows 2000. This problem was first corrected in Windows 2000 Service Pack 1.Windows NT 4.0Microsoft has confirmed that this is a problem in Windows NT 4.0.
Modification Type: | Minor | Last Reviewed: | 9/26/2005 |
---|
Keywords: | kbHotfixServer kbQFE kbbug kbfix kbWin2000sp1Fix KB255570 |
---|
|