A computer system and method uses script-based device drivers for operating hardware
devices. The script-based driver architecture comprises a scripting driver, a script
engine, and a driver script for a given hardware device, such as a scanner. The
driver script is generally a text file containing a sequence of programming instructions
defining the operational behavior of the hardware device. The scripting driver
exports a set of objects whose functions can be called by the driver script to
communicate with and control the device. When a request to operate the hardware
device is received by the scripting driver, the script engine interprets the programming
instructions in the driver script corresponding to the request and invokes the
functions of the scripting driver objects called by the programming instructions
to carry out the requested device operation.