| US 7,536,699 B2 | ||
| Simplified device drivers for hardware devices of a computer system | ||
| Vladimir Sadovsky, Bellevue, Wash. (US); Franc J. Camara, Redmond, Wash. (US); Keisuke Tsuchida, Redmond, Wash. (US); and Lyman Cooper Partin, Bellevue, Wash. (US) | ||
| Assigned to Microsoft Corporation, Redmond, Wash. (US) | ||
| Filed on Mar. 01, 2006, as Appl. No. 11/276,484. | ||
| Application 11/276484 is a continuation of application No. 09/809237, filed on Mar. 15, 2001, granted, now 7,047,534. | ||
| Claims priority of provisional application 60/190457, filed on Mar. 17, 2000. | ||
| Prior Publication US 2006/0147235 A1, Jul. 06, 2006 | ||
| This patent is subject to a terminal disclaimer. | ||
| Int. Cl. G06F 9/44 (2006.01) | ||
| U.S. Cl. 719—322 | 20 Claims |

| 1. A computer-readable media having computer executable components for controlling a hardware device of a given device type
installed in a computer system, the components comprising:
a first device driver programmed for interacting with, through a device driver interface, an application running on the computer
system, wherein the first device driver is programmed to support functions common to a plurality of different device models
and brands for the given device type; and
a second device driver in communication with at least one third device driver, wherein any third device driver is a low-level
device driver, the second device driver being programmed to support entry point functions corresponding to a pre-selected
set of operation commands generic to different device models and brands for the given device type and capable of translating
the pre-selected set of operation commands generic to the given device type into operation commands specific to the hardware
device, the entry point functions callable by the first device driver for controlling operations of the hardware device,
the first device driver programmed for receiving, through the device driver interface, a request from the application for
a requested operation by the hardware device, and calling, with parameters associated with the requested operation, the entry
point functions of the second device driver to control the hardware device to perform the requested operation, wherein the
first device driver is not required to have knowledge of the operation commands specific to the hardware device.
|