← Back to Patent Explorer
US5604843A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and system for interfacing with a computer output device

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1992-12-23
•
Granted: 1997-02-18
•
Expires: 2012-12-23
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A computer method and system for configuring device driver is provided. In a preferred embodiment, a device driver comprises a minidriver associated with each output device and a universal driver. Each minidriver implements a plurality of minidriver functions for controlling the outputting of data to the output device by invoking functions of the universal driver. During execution of a program, the program selects an output device and invokes the minidriver functions of the minidriver associated with the selected output device. An initialization function of each minidriver invokes an initialization function of the universal driver passing an indication of and attributes of the selected output device. Other minidriver functions invoke an analogous function of the universal driver passing an indication of the selected output device. The initialization function of the universal driver processes the passed attributes and stores the indication and the processed attributes. Each analogous function accesses the stored attributes and performs the behavior of the analogous function to effect the controlling of the output device.

Inventors

  • 👤 Lin F. Shaw
  • 👤 Eric J. Bidstrup
  • 👤 Zhanbing Wu

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 15:20
CPC Classifications
G; G06; G06F; G06F13/00; G06F13/10; G06F13/102; G06F3/00; G06F3/12; G06F3/1201; G06F3/1202; G06F3/1203; G06F3/1204; G06F3/1223; G06F3/1224; G06F3/1228; G06F3/1278; G06F3/1285; G06F3/1296

Claims Analysis

Total Claims: 18
Claim 1
Independent Claim 210 words
A computer system for outputting data to an output device, comprising: an application program for invoking a plurality of predefined graphics device interface functions to control the sending of data to the output device; a graphics device interface having an implementation of the plurality of the graphics device interface functions, wherein the implementation invokes a plurality of device driver functions for controlling the outputting of the data; a plurality of minidrivers, each minidriver having an implementation of the plurality of device driver functions that are invoked by the graphics device interface functions for an output device, wherein each device driver function invokes an analogous device driver function, each minidriver having device-specific information describing attributes of an output device, and having means for invoking an initialization function passing the device-specific information; and a universal driver having an implementation of the initialization function that is invoked by each minidriver wherein the initialization function processes and stores the device-specific information passed to the initialization function by the invoking minidriver, the universal driver having an implementation of each analogous device driver function that is invoked by each minidriver wherein the analogous device driver functions control the outputting of data to each output device in accordance with the stored device-specific information for that output device.
Claim 2
Dependent Claim 210 words
A computer system for outputting data to an output device, comprising: an application program for invoking a plurality of predefined graphics device interface functions to control the sending of data to the output device; a graphics device interface having an implementation of the plurality of the graphics device interface functions, wherein the implementation invokes a plurality of device driver functions for controlling the outputting of the data; a plurality of minidrivers, each minidriver having an implementation of the plurality of device driver functions that are invoked by the graphics device interface functions for an output device, wherein each device driver function invokes an analogous device driver function, each minidriver having device-specific information describing attributes of an output device, and having means for invoking an initialization function passing the device-specific information; and a universal driver having an implementation of the initialization function that is invoked by each minidriver wherein the initialization function processes and stores the device-specific information passed to the initialization function by the invoking minidriver, the universal driver having an implementation of each analogous device driver function that is invoked by each minidriver wherein the analogous device driver functions control the outputting of data to each output device in accordance with the stored device-specific information for that output device.
Claim 3
Dependent Claim 52 words
The computer system of claim 1 wherein the minidriver includes a call-back routine for performing a device-specific behavior, wherein the means for invoking the initialization routine passes an indication of the call-back routine, and wherein the implementation of the analogous device driver functions invokes the call-back routine to perform the device-specific behavior.
Claim 4
Dependent Claim 169 words
A computer system for outputting data to one of a plurality of output devices, comprising: a program for selecting an output device and for invoking a plurality of device driver functions to control the outputting of data to the selected output device; a minidriver for each of the plurality of output devices, each minidriver having an implementation of the plurality of device driver functions that are invoked by the program wherein each device driver function invokes an analogous device driver function, having device-specific information describing attributes of the output device, and having means for invoking an initialization function passing the device-specific information; and a universal driver having an implementation of the initialization function that is invoked by each minidriver wherein the initialization function processes and stores the passed device-specific information, the universal driver having an implementation of each analogous device driver function that is invoked by each minidriver to control the outputting of data to each output device in accordance with the stored device-specific information for that output device.
Claim 5
Dependent Claim 169 words
A computer system for outputting data to one of a plurality of output devices, comprising: a program for selecting an output device and for invoking a plurality of device driver functions to control the outputting of data to the selected output device; a minidriver for each of the plurality of output devices, each minidriver having an implementation of the plurality of device driver functions that are invoked by the program wherein each device driver function invokes an analogous device driver function, having device-specific information describing attributes of the output device, and having means for invoking an initialization function passing the device-specific information; and a universal driver having an implementation of the initialization function that is invoked by each minidriver wherein the initialization function processes and stores the passed device-specific information, the universal driver having an implementation of each analogous device driver function that is invoked by each minidriver to control the outputting of data to each output device in accordance with the stored device-specific information for that output device.
Claim 6
Dependent Claim 52 words
The computer system of claim 3 wherein the minidriver includes a call-back routine for performing a device-specific behavior and wherein the means for invoking the initialization routine passes an indication of the call-back routine, and wherein the implementation of the analogous device-specific functions invokes the call-back routine to perform the device-specific behavior.
Claim 7
Independent Claim 176 words
A method in a computer system for outputting data to a plurality of output devices, the computer system having a program, a minidriver associated with each output device, and a universal driver, each minidriver having a plurality of minidriver functions for controlling the outputting of the data to the output device by invoking functions of the universal driver, the method comprising the steps of: during execution of the program, selecting an output device and invoking the minidriver functions of the minidriver associated with the selected output device; during execution of the invoked minidriver functions, invoking functions of the universal driver passing an indication of the selected output device and invoking an initialization function of the universal driver passing an indication of and attributes of the selected output device, each function of the universal driver having a behavior; during execution of the initialization function, processing the passed attributes and storing the indication and the processed attributes; and during execution of each function of the universal driver, accessing the stored attributes and performing the behavior of the function.
Claim 8
Independent Claim 176 words
A method in a computer system for outputting data to a plurality of output devices, the computer system having a program, a minidriver associated with each output device, and a universal driver, each minidriver having a plurality of minidriver functions for controlling the outputting of the data to the output device by invoking functions of the universal driver, the method comprising the steps of: during execution of the program, selecting an output device and invoking the minidriver functions of the minidriver associated with the selected output device; during execution of the invoked minidriver functions, invoking functions of the universal driver passing an indication of the selected output device and invoking an initialization function of the universal driver passing an indication of and attributes of the selected output device, each function of the universal driver having a behavior; during execution of the initialization function, processing the passed attributes and storing the indication and the processed attributes; and during execution of each function of the universal driver, accessing the stored attributes and performing the behavior of the function.
Claim 9
Independent Claim 128 words
A method of implementing device drivers for interfacing between application programs and devices in a computer system, the method comprising the steps of: developing a universal driver having a plurality of universal driver functions having a behavior to effect the output of data to a device, the behavior of each universal driver function being adaptable to each output device based of device-specific attributes; developing a minidriver for each device, the minidriver have device-specific attributes and comprising a plurality of interfacing functions having a behavior to effect the output of data to a device, the interfacing functions including means for invoking the universal driver functions to effect the behavior of the interfacing functions; and developing an application program that invokes the interfacing functions to output data to the devices.
Claim 10
Independent Claim 128 words
A method of implementing device drivers for interfacing between application programs and devices in a computer system, the method comprising the steps of: developing a universal driver having a plurality of universal driver functions having a behavior to effect the output of data to a device, the behavior of each universal driver function being adaptable to each output device based of device-specific attributes; developing a minidriver for each device, the minidriver have device-specific attributes and comprising a plurality of interfacing functions having a behavior to effect the output of data to a device, the interfacing functions including means for invoking the universal driver functions to effect the behavior of the interfacing functions; and developing an application program that invokes the interfacing functions to output data to the devices.
Claim 11
Dependent Claim 89 words
The method of claim 5 wherein, during execution of the invoked minidriver functions, passing an indication of and attributes of the selected output device further includes the steps of: storing header information having an array of references to arrays of printer characteristics, the printer characteristics including printer model characteristics and printer attribute characteristics; storing an array of printer model characteristics, each printer model characteristic comprising printer model-specific data including references to printer attributes; for each printer attribute, storing attribute-specific data; and passing a reference to the stored header information.
Claim 12
Dependent Claim 50 words
The method of claim 7 wherein the printer attributes include resolution data, paper size data, paper quality data, paper source data, paper destination data, text quality data, compression data, font cartridge data, and color data, page control data, cursor movement data, font simulation data, rectangle fill data, or download data.
Claim 13
Dependent Claim 64 words
The method of claim 8 wherein, during execution of the initialization function, the processing of passed attributes and the storing of the indication and the processed attributes further includes the steps of: designating a printer model; retrieving header information; retrieving a printer model characteristic for the designated printer; and for each printer attribute referenced by the retrieved printer mode characteristic, retrieving the printer attribute.
Claim 14
Dependent Claim 163 words
A computer-readable storage medium containing instructions for controlling a computer system to perform a method for outputting data to a plurality of output devices, the computer system having a program, a minidriver associated with each output device, and a universal driver, each minidriver having a plurality of minidriver functions for controlling the outputting of the data to the output device by invoking functions of the universal driver, the method comprising the steps of: during execution of the program, selecting an output device and invoking the minidriver functions of the minidriver associated with the selected output device; invoking functions of the universal driver passing an indication of the selected output device and invoking an initialization function of the universal driver passing an indication of and attributes of the selected output device, each function of the universal driver having a behavior; processing the passed attributes and storing the indication and the processed attributes; and accessing the stored attributes and performing the behavior of the function.
Claim 15
Dependent Claim 163 words
A computer-readable storage medium containing instructions for controlling a computer system to perform a method for outputting data to a plurality of output devices, the computer system having a program, a minidriver associated with each output device, and a universal driver, each minidriver having a plurality of minidriver functions for controlling the outputting of the data to the output device by invoking functions of the universal driver, the method comprising the steps of: during execution of the program, selecting an output device and invoking the minidriver functions of the minidriver associated with the selected output device; invoking functions of the universal driver passing an indication of the selected output device and invoking an initialization function of the universal driver passing an indication of and attributes of the selected output device, each function of the universal driver having a behavior; processing the passed attributes and storing the indication and the processed attributes; and accessing the stored attributes and performing the behavior of the function.
Claim 16
Dependent Claim 25 words
The computer-readable medium of claim 10, wherein the step of invoking functions of the universal driver is executed during execution of the invoked minidriver functions.
Claim 17
Dependent Claim 22 words
The computer-readable medium of claim 10, wherein the step of processing the passed attributes is executed during execution of the initialization function.
Claim 18
Dependent Claim 25 words
The computer-readable medium of claim 10, wherein the step of accessing the stored attributes is executed during execution of each function of the universal driver.

References Cited (Backward Citations)

US5140675A Cited
US5146547A Cited
US5268993A Cited
US5293466A Cited
US5165014A Cited
US5337319A Cited
US5228118A Cited
US5410641A Cited
US5287434A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-02-18 2000-08-19 2001-02-18 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-02-18 2004-08-19 2005-02-18 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-02-18 2008-08-19 2009-02-18 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag