BUG: MSCDEX May Not Detect Disk Change (123456)
The information in this article applies to:
- Microsoft CD-ROM Extensions (MSCDEX) for MS-DOS 2.0
- Microsoft CD-ROM Extensions (MSCDEX) for MS-DOS 2.1
- Microsoft CD-ROM Extensions (MSCDEX) for MS-DOS 2.2
- Microsoft CD-ROM Extensions (MSCDEX) for MS-DOS 2.21
- Microsoft CD-ROM Extensions (MSCDEX) for MS-DOS 2.22
- Microsoft CD-ROM Extensions (MSCDEX) for MS-DOS 2.23
- Microsoft Windows Software Development Kit (SDK) 3.1
This article was previously published under Q123456 SYMPTOMS
If a GetAttributes function call is the first MS-DOS API call made
following a CD-ROM disk change, MSCDEX doesn't detect that the disk is
changed, so the function call reflects the contents of the previous disk.
The next Open, Search, or Change Directory function call will cause MSCDEX
to detect the disk change.
CAUSE
The MSCDEX driver fails to issue a Media Check call to the Hardware
Dependent Device Driver when the GetAttributes call is made.
WORKAROUND
You can check for a CD-ROM ID file by using the C-Runtime access() function
or by making direct calls to the MS-DOS Interrupt 21h. Function AX=4300h
should be changed to use a file open call. Windows Applications that use
the SDK OpenFile() function to detect a key file should be changed to use
_lopen().
STATUS
Microsoft has confirmed this to be a problem in the MSCDEX versions listed
at the beginning of this article. We are researching this problem and will
post new information here in the Microsoft Knowledge Base as it becomes
available.
MORE INFORMATION
The OpenFile() function in the Microsoft Windows version 3.1 SDK makes a
GetAttributes function call prior to opening a file for reading if the
system is running with Novell Netware loaded. The OpenFile() function fails
if the GetAttributes() function fails to find the requested file. As a
result, if the OpenFile() function is used to detect which CD-ROM is in the
drive by opening a key file, the wrong CD-ROM may be detected following a
disk change.
NOTE: Some products mentioned in this article are manufactured by vendors
independent of Microsoft; we make no warranty, implied or otherwise,
regarding these products' performance or reliability.
Modification Type: | Major | Last Reviewed: | 4/7/2006 |
---|
Keywords: | kbQFE KBHotfixServer kb3rdparty kbbug kbmm KB123456 |
---|
|