Freigeben über


Anpassen der Druckerportmonitore

Sie können neue Schemas für Druckgeräte definieren, die über Funktionen verfügen, die über das Standardmäßige bidi-Kommunikationsschema hinausgehen, indem Sie die standardmäßigen TCP/IP- oder WSD-Portmonitore (Web Services for Devices) anpassen, die mit Windows Vista bereitgestellt werden. Sie müssen eine bidi-Erweiterungsdatei erstellen, eine XML-Datei, die neue Schemas definiert, die für diesen Treiber spezifisch sind. Diese Erweiterungsdatei wird installiert, wenn der Treiber installiert ist. Wenn der TCP/IP- oder WSD-Portmonitor diese Erweiterungsdatei identifiziert, lädt der Monitor die Datei und kann dann die zusätzlichen bidi-Schemas verwenden.

Die Schemas in einer bidi-Erweiterungsdatei sind eine Teilmenge des Standarddruckschemas. Solche Schemas müssen der Struktur der mit dem WDK bereitgestellten Dateien Tcpbidi.xsd oder WsdBidi.xsd entsprechen.

Hinweis Wenn das bidi-Kommunikationsschema Ihre Anforderungen erfüllt, müssen Sie keine bidi-Erweiterungsdatei erstellen und müssen daher die Druckportmonitore nicht anpassen.

Sie sollten eine bidi-Erweiterungsdatei erstellen und sie einem Druckertreiber zuordnen, wenn eine der folgenden Bedingungen zutrifft:

  1. Der Druckertreiber benötigt Informationen vom Drucker, die nicht im Standarddruckschema zu finden sind. Um diese Informationen zu erhalten, müssen Sie das unterstützte Schema mit zusätzlichen Abfragen erweitern. Jeder andere Client, der ein unterstütztes Schema für einen bestimmten Port aufzählt, erhält zusätzliche Abfragen, kann diese aber in der Regel nicht verstehen.

  2. Sie planen, Abfragen aus dem Standarddruckschema einzuschließen, die in den Standard-TCP/IP- oder WSD-Portmonitoren nicht unterstützt werden, da die Abfragen treiberspezifische Informationen benötigen. In diesem Fall müssen Sie das Druckschema erweitern. In der Regel sollten Sie die Teile des Druckschemas erweitern, die sich auf Eingabe- und Ausgabebehälter für Druckmedien beziehen. Sie sollten auch eine Zuordnung zwischen den Namen für Im bidi-Schema definierte Bins und denen in der Verwaltungsinformationsdatenbank (Management Information Base, MIB) des Druckers bereitstellen.

  3. Sie möchten die Funktionsweise von Standardabfragen anpassen, z. B. durch Festlegen eines benutzerdefinierten Objektbezeichners (OID) oder Ändern des Aktualisierungsintervalls. Der STANDARD-TCP/IP-Portmonitor fragt beispielsweise Geräte ab, die Webdienstereignisereignisse nicht unterstützen, in einem Standardintervall von 600 Sekunden (10 Minuten). Sie können das Abrufintervall ändern, indem Sie eine bidi-Erweiterung erstellen, die das refreshInterval-Attribut in einem Value-Konstrukt festlegt, das dem Gerät zugeordnet ist. (Siehe die Memory Eigenschaft im folgenden Codebeispiel.)

Wenn der Treiber keine zugehörige bidi-Erweiterungsdatei aufweist, kann die bidi-Kommunikationsunterstützung im Standarddruckschema nicht auf Abfragen reagieren, die treiberspezifische Daten erfordern (z. B. Daten im Zusammenhang mit Eingabe- und Ausgabebehältern).

Hinweis Netzwerkroutingfächer in Windows Vista ermöglichen eine Verbindung mit verschiedenen Netzwerkschnittstellen (ob virtuell oder physisch), während die verschiedenen Schnittstellen voneinander isoliert bleiben. Windows Vista verwendet diese Abteile beispielsweise, um VPN-Richtlinien zu erzwingen, die keinen gleichzeitigen Zugriff auf das VPN und das lokale Netzwerk und das Internet eines Benutzers zulassen. Beim Drucken gibt der Spooler beim Öffnen eines TCP-Druckerports die Identität des Benutzers an. Folglich kann der Spooler nicht auf einem lokalen Netzwerkdrucker drucken, während ein Benutzer mit einem VPN verbunden ist.

Struktur einer Bidi-Erweiterungsdatei

Eine bidi-Erweiterungsdatei ist eine wohlgeformte XML, die gemäß den Dateien Tcpbidi.xsd oder WsdBidi.xsd, die mit dem Microsoft Windows Driver Kit (WDK) bereitgestellt werden, gültig sein muss. Konstrukte, die in diesen XSD-Dateien definiert sind, ermöglichen es Ihnen, neue Schemas zu definieren.

Im Folgenden sehen Sie ein unvollständiges Beispiel für eine TCP/IP-Bidi-Erweiterungsdatei, die ihre grundlegende Struktur zeigt. Die Struktur einer WSD-Bidi-Erweiterungsdatei ist ähnlich.

<?xml version="1.0" encoding="US-ASCII"?>
<bidi:Schema xmlns:bidi="https://schemas.microsoft.com/windows/2005/03/printing/bidi">
  <Schema>
    <Property name="Printer">
      <Property name="Configuration">
        <Property name= "Memory">
          <Value name="Size" type="BIDI_INT" oid="1.3.6.1.2.1.25.2.2" refreshInterval="600" drvPrinterEvent="true" />
          .
          .
          .
        </Property>
      </Property>
    </Property>
  </Schema>
</bidi:Schema>

Beachten Sie im vorherigen Codebeispiel Folgendes:

  • Das Root-Element enthält genau ein Schemaelement. Die Hierarchie des Schemas beginnt mit dem Schema-Element.

  • Das Schema-Element verfügt über Eigenschaftselemente als Knoten und Value-Elemente als Blätter.

  • Jedes Value-Element definiert eine bestimmte Technik, mit der die Daten abgerufen werden können.

Konvertierung von WinSNMP-Datentypen in Bidi

Die Korrespondenz zwischen SNMP-Typen (Simple Network Management Protocol) und bidi-Typen wird im Thema BIDI_TYPE Enumeration angegeben.

Der Rest dieses Abschnitts enthält die folgenden Themen, mit denen Sie Ihre eigenen bidi-Schemaerweiterungen erstellen können.

TCP/IP-Schemaerweiterungen

WSD-Schemaerweiterungen