PRB: ERROR_VOLUME_EXISTS Defined Incorrectly in DDK Error.h (141046)



The information in this article applies to:

  • Microsoft Win32 Device Driver Kit (DDK) Windows 95

This article was previously published under Q141046

SYMPTOMS

ERROR_VOLUME_EXISTS is defined in the Error.h file that ships with the Windows 95 DDK as 606h. However, the value of ERROR_VOLUME_EXISTS used internally by Windows 95 (IFSMGR and the FSDs shipped with the product) is 284h. As a result, IFSMGR rejects the remount request and forces a new mount if FSDs for removeable media returns ERROR_VOLUME_EXISTS.

RESOLUTION

This has been fixed for future versions of Windows. FSDs for Windows 95 should use the value 284h for ERROR_VOLUME_EXISTS for Windows 95, and the value 606h for versions beyond Windows 95. The following code fragment might be used for FSDs to determine what error number to return for ERROR_VOLUME_EXISTS:
DetermineVolumeExistsErrorcode proc near

    VxDcall IFSMgr_GetVersion
    cmp     eax, WIN95_IFSMGR  ; this value is 022H for Windows 95
    ja      ret_nash_error     ; use new errorcode for Nashville
    mov     eax, OLD_ERROR_VOLUME_EXISTS ; this value is 0284H
    ret
ret_nash_error:
    mov     eax, ERROR_VOLUME_EXISTS  ; defined in Error.inc that is
                                      ; part of Windows 95 DDK in INC16 dir
   ret

DetermineVolumeExistsErrorCode endp
				

Modification Type:MinorLast Reviewed:5/24/2004
Keywords:KB141046