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.