This article was previously published under Q123456
Retired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.
If a GetAttributes function call is the first MS-DOS API call madefollowing a CD-ROM disk change, MSCDEX doesn't detect that the disk ischanged, so the function call reflects the contents of the previous disk.The next Open, Search, or Change Directory function call will cause MSCDEXto detect the disk change.
The MSCDEX driver fails to issue a Media Check call to the HardwareDependent Device Driver when the GetAttributes call is made.
You can check for a CD-ROM ID file by using the C-Runtime access() functionor by making direct calls to the MS-DOS Interrupt 21h. Function AX=4300hshould be changed to use a file open call. Windows Applications that usethe SDK OpenFile() function to detect a key file should be changed to use_lopen().
Microsoft has confirmed this to be a problem in the MSCDEX versions listedat the beginning of this article. We are researching this problem and willpost new information here in the Microsoft Knowledge Base as it becomesavailable.
The OpenFile() function in the Microsoft Windows version 3.1 SDK makes aGetAttributes function call prior to opening a file for reading if thesystem is running with Novell Netware loaded. The OpenFile() function failsif the GetAttributes() function fails to find the requested file. As aresult, if the OpenFile() function is used to detect which CD-ROM is in thedrive by opening a key file, the wrong CD-ROM may be detected following adisk change.
NOTE: Some products mentioned in this article are manufactured by vendorsindependent of Microsoft; we make no warranty, implied or otherwise,regarding these products' performance or reliability.