From 96eb96dfb613e4c745db6bd1f53a92fe7e2290fc Mon Sep 17 00:00:00 2001 From: karlf Date: Thu, 11 Aug 2016 13:28:13 -0700 Subject: Updated for "Windows 10 Anniversary Update" (Version 1607) --- print/autoconfig/AutoConfig.htm | 367 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 367 insertions(+) create mode 100644 print/autoconfig/AutoConfig.htm (limited to 'print/autoconfig/AutoConfig.htm') diff --git a/print/autoconfig/AutoConfig.htm b/print/autoconfig/AutoConfig.htm new file mode 100644 index 00000000..5a32268c --- /dev/null +++ b/print/autoconfig/AutoConfig.htm @@ -0,0 +1,367 @@ + + + + +Auto-Configuration Samples + + + + + +

Auto-Configuration Samples

+

Summary

+

+AutoConfig sample +demonstrates how to implement Unidrv-based and PScript5-based drivers to +leverage the inbox support for auto-configuration.

+

+The sample +works only when used with the standard TCP/IP port monitor or the +Network-Connected Device (NCD) port monitor.

+

 

+

+Note: The +sample is provided here only as a proof of concept.

+

 

+

The +table shown below identifies which operating systems this sample will build and +work on.

+

 

+

 

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

+ Operating System

+

+ Can sample be + built in the OS? +

+

+ Does sample work + in the OS?

+

+ + Can sample be used in a production environment for the OS?

+

+ Windows Vista

+

+ Yes

+

+ Yes

+

+ No

+

+ Windows Server + 2003

+

+ No

+

+ No

+

+ No

+

+ Windows XP

+

+ No

+

+ No

+

+ No

+

+ Windows 2000

+

+ No

+

+ No

+

+ No

+

+ Windows Me

+

+ No

+

+ No

+

+ No

+

+ Windows 98 SE

+

+ No

+

+ No

+

+ No

+

 

+

Auto-Configuration +Basics

+

Prior +to Microsoft® Windows® Vista, the settings of a print queue are set initially to +the driver's default settings, rather than to the appropriate settings based on +the device. For Unidrv or Pscript5, this means that static default values +specified in the GPD or PPD file are used for the initial print queue setup. +This static set of defaults necessarily must represent the minimum configuration +that a printer can ship with. For instance, if a stapling unit is optional for a +device, then by default, such a device cannot have stapling capability enabled, +otherwise the user interface for devices without the stapling unit would show +stapling as an option. A customer who selected the stapling option but found +that it did not work would likely be confused.

+

For any device that +comes with features not present in the basic model, a user or administrator must +manually configure these features on the print queue after installation. This +can at times be a confusing and non-intuitive experience. The configuration +process is easy to get wrong, particularly with regard to internal parameters +such as memory and hard disk size, which significantly can affect printing speed +and quality.

+

Auto-configuration +solves this problem by +automatically configuring the print queue according to the installable features +on the device, rather than simply using the driver's static default settings. +The main target for auto-configuration is network printers. They are the most +likely ones to have multiple optional features and require more manual +configuration.

+

Auto-configuration +works by means of +bi-directional printer communication (also known as bidi communication) between +the print subsystem and the printer. In order for auto-configuration to work, +the printer must be able to:

+

+·                  + +Understand a +query sent by the port monitor.

+

+·                  + +Generate the +appropriate response to the query.

+

To support +auto-configuration, both the printer driver and the port monitor must be +modified.

+

A printer driver +must:

+

+·                  + +Be aware of +the Bidi Notification Schema.

+

+·                  + +Be able to +receive notifications about device configuration changes using the Bidi +Notification Schema.

+

+·                  + +Be able to +solicit configuration data from the printer using the Bidi Communication +Interfaces, and specifically the IBidiSpl2 COM interface (described in +the Platform SDK documentation).

+

A port monitor +must:

+

+·                  + +Support a +device protocol capable of querying the printer's configuration.

+

+·                  + +Be able to +receive unsolicited status messages from the printer.

+

+·                  + +Convert +unsolicited status messages to an appropriate driver notification.

+

+·                  + +Keep all of +the device status and configuration data up-to date by means of polling or +alerts.

+

+·                  + +Inform the +driver or application of any configuration changes in the device.

+

Unidrv-based and +PScript5-based drivers using the standard TCP/IP port monitor or the +Network-Connected Device (NCD) port monitor provide support for +auto-configuration.

+

CODE TOUR

+

 

+

+Unidrv + +Auto-Configuration Sample

+

+ 

+

The main part of the +sample is the auto-configuration GDL file ACnfgUni.GDL. This file implements +the  *BidiQuery, *BidiResponse and *Option elements that correspond to the +Memory, DuplexUnit and PrinterHardDisk features in AutoCnfg.GPD file. The +Feature and Option names in the auto-configuration GDL file should exaclty match +the corresponding Feature and Option names in the GPD file. The +auto-configuration GDL file is specified in the GPD file using the *BidiQueryFile +keyword. The auto-configuration GDL content can also be contained directly +inside the GPD file itself instead of in a separate GDL file, in which case the +*BidiQueryFile keyword should specify the GPD file name.

+

 

+

+PScript5 Auto-Configuration +Sample

+

 

+

The +main part of the sample is the auto-configuration GDL file ACnfgPS.GDL. This +file implements the *BidiQuery, *BidiResponse and *Option elements that +corresponds to the InstalledMemory, DuplexUnit and HardDisk features in +AutoCnfg.PPD file. As mentioned for the Unidrv sample, the Feature and Option +names should exactly match. Please note that the GPD and PPD files do not have +the same Feature and Option names. That is why the two GDL files are not +identical. The auto-configuration GDL file is specified in the PPD file using +the *MSBidiQueryFile keyword.

+

INSTALLING/TESTING THE SAMPLE

+

The samples don’t have +any binaries to be built. They may be installed by using Add Printer Wizard and +supplying the AutoCnfg.INF as the INF file. To test the auto-configuration +feature you need to install the driver to a Standard TCP/IP port.  You need a +printer, which understands and responds to the bidi SNMP queries, connected to +the port. The tcpbidi.xml file located in system32 directory has information +about the SNMP OIDs used for each query. The installable options in the device +settings will reflect the information obtained by querying the printer. +

+

File Manifest 

+
 
+
Root:
+
 
+
Files                  Description
+
 
+

AutoConfig.htm      The documentation for this sample +(this file)

+

AutoCnfg.INF        The printer INF that will install +Unidrv and PScript5 auto-configuration samples

+

AutoCnfg.GPD        The GPD file for the Unidrv +auto-configuration sample

+

AutoCnfg.PPD        The PPD file for the PScript5 +auto-configuration sample

+

ACnfgUni.GDL        The GDL file for the Unidrv +auto-configuration sample

+

ACnfgPS.GDL         The GDL file for the PScript5 +auto-configuration sample

+

Resources

+

For +the latest release of the Windows Device Driver Development Kit, see + +http://www.microsoft.com/whdc/ddk/winddk.mspx.

+

 

+

If +you have questions on using or adapting this sample for your project, you can +either contact + +Microsoft Technical Support or post your questions in the + +Microsoft driver development newsgroup.

+ + + + -- cgit v1.3.1