Introduction to Vendor-Supplied IDE Controller Minidrivers

The Microsoft-supplied IDE port driver, atapi.sys, and controller driver, pciidex.sys, are hardware-independent and can be used with almost all IDE controllers. Thus, vendor-supplied port drivers and controller drivers are not required.

Microsoft also supplies a native controller minidriver, pciide.sys, which handles the hardware-dependent aspects of the controller driver-minidriver pair and which can be used with most IDE controller hardware. Vendors can elect to supply their own controller minidriver instead of using pciide.sys.

A vendor-supplied controller minidriver:

  • Does not need to support Plug and Play (PnP) or power management. PnP and power management operations are handled by the Microsoft-supplied controller driver, pciidex.sys.

  • Does not need to register any particular interface to comply with system requirements.

  • Should not attempt to access the registry or call kernel-mode routines other than those provided by the PciIdeX library.

  • Must provide a set of standard minidriver routines that permit the system-supplied controller driver to do hardware-dependent operations transparently.

For more information about the PciIdeX library and a description of the minidriver routine interface between the system-supplied controller driver and a vendor-supplied controller minidriver, see Initializing and Calling IDE Minidriver Routines.