Windows NT and Windows 95 Differences

Following are the differences between Windows® 95 and Windows NT®.

  1. The following device state (defined in ISDNTEST.H from the Sample Driver) must be supported for Windows 95: LINEDEVSTATE_REMOVED.
  2. The sample driver demonstrates the minimum recommended device state capabilities for Windows 95 compatibility.
  3. Differences exist between the Windows NT TAPI header files and the Windows 95 TAPI header files that may result in unexpected options or states being sent to the driver. Once such case is ulLineStates of the LINE_DEV_CAPS structure in which Windows 95 supports an extra option. In this case, a driver should be aware of, but quietly ignore these extra options or states.
  4. Functions that reside in run-time libraries or the NT kernel are not available on Windows 95. This includes the Rtl functions, Kernel functions (for example, KeRaiseIrql, KeInitializeSpinLock, KeQuerySystemTime) and nonintrinsic ANSI C functions. Conversely, drivers should avoid using Windows 95 VMM services since they will reduce portability.
  5. The DriverEntry structure passed in cannot be used to override the default device control routine by replacing the IRP_MJ_DEVICE_CONTROL function. Currently, there is not a supported way to access the DeviceIOCtl interface of a PE module under Windows 95.
  6. You must use the BINARY_COMPATIBLE flag when compiling drivers for Windows 95.