||This article includes a list of references, related reading or external links, but its sources remain unclear because it lacks inline citations. (May 2015) (Learn how and when to remove this template message)|
Class drivers are very often used with USB based devices, which share the essential USB protocol in common, and devices with similar functionality can easily adopt common protocols.
As another example, instead of having a separate driver for every kind of CD-ROM device, a class driver can operate a wide variety of CD-ROMs from different manufacturers. To accomplish this the manufacturers make their products compatible with a standardized protocol.
In technical terms, a class driver is used as a base or ancestor class for specific drivers which need to have slightly different or extended functionality, but which can take advantage of the majority of the functionality provided by the class driver. This concept is a key aspect of object oriented programming, which when extended to drivers makes it much easier for hardware vendors to provide driver support for their products.