Personnalisation des moniteurs de port d’imprimante
Vous pouvez définir de nouveaux schémas pour les appareils d’impression qui ont des fonctionnalités supérieures au schéma de communication bidi standard en personnalisant les moniteurs de port TCP/IP ou Web Services for Devices (WSD) standard fournis avec Windows Vista. Vous devez créer un fichier d’extension bidi, un fichier XML qui définit de nouveaux schémas spécifiques à ce pilote. Ce fichier d’extension est installé lorsque le pilote est installé. Lorsque le moniteur de port TCP/IP ou WSD identifie ce fichier d’extension, le moniteur charge le fichier et peut ensuite utiliser les schémas bidi supplémentaires.
Les schémas d’un fichier d’extension bidi sont un sous-ensemble du schéma d’impression standard. Ces schémas doivent respecter la structure des fichiers Tcpbidi.xsd ou WsdBidi.xsd fournis avec le WDK.
Note Si le schéma de communications bidi répond à vos besoins, vous n’avez pas besoin de créer un fichier d’extension bidi et n’avez donc pas besoin de personnaliser les moniteurs de port d’impression.
Vous devez créer un fichier d’extension bidi et l’associer à un pilote d’imprimante si l’une des conditions suivantes s’applique :
Le pilote d’imprimante a besoin d’informations de l’imprimante qui sont introuvables dans le schéma d’impression standard. Pour obtenir ces informations, vous devez étendre le schéma pris en charge avec des requêtes supplémentaires. Tout autre client qui énumère un schéma pris en charge pour un port spécifique reçoit des requêtes supplémentaires, mais ne peut généralement pas les comprendre.
Vous envisagez d’inclure des requêtes du schéma d’impression standard qui ne sont pas prises en charge dans les moniteurs de port TCP/IP ou WSD standard, car les requêtes nécessitent des informations spécifiques au pilote. Dans ce cas, vous devez étendre le schéma d’impression. En règle générale, vous devez étendre les parties du schéma d’impression liées aux bacs d’entrée et de sortie pour les supports d’impression. Vous devez également fournir un mappage entre les noms des compartiments définis dans le schéma bidi et ceux de la base d’informations de gestion (MIB) de l’imprimante.
Vous envisagez de personnaliser le fonctionnement des requêtes standard, par exemple en définissant un identificateur d’objet personnalisé (OID) ou en modifiant l’intervalle d’actualisation. Par exemple, le moniteur de port TCP/IP standard interroge les appareils qui ne prennent pas en charge les événements des services web à un intervalle par défaut de 600 secondes (10 minutes). Vous pouvez modifier l’intervalle d’interrogation en créant une extension bidi qui définit l’attribut refreshInterval dans une construction Value associée à l’appareil. (Consultez la
Memory
propriété dans l’exemple de code suivant.)
Si le pilote n’a pas de fichier d’extension bidi associé, la prise en charge de la communication bidi dans le schéma d’impression standard ne peut pas répondre aux requêtes qui nécessitent des données spécifiques au pilote (telles que les données relatives aux bacs d’entrée et de sortie).
Note Les compartiments de routage réseau dans Windows Vista permettent à des processus fiables de se connecter à différentes interfaces réseau (qu’elles soient virtuelles ou physiques), tout en gardant les différentes interfaces isolées les unes des autres. Par exemple, Windows Vista utilise ces compartiments pour appliquer des stratégies VPN qui n’autorisent pas l’accès simultané au VPN et au réseau local et à Internet d’un utilisateur. Pendant l’impression, le spouleur emprunte l’identité de l’utilisateur lors de l’ouverture d’un port d’imprimante TCP. Par conséquent, le spouleur ne peut pas imprimer sur une imprimante réseau local lorsqu’un utilisateur est connecté à un VPN.
Structure d’un fichier d’extension Bidi
Un fichier d’extension bidi est un fichier XML bien formé qui doit être valide en fonction des fichiers Tcpbidi.xsd ou WsdBidi.xsd fournis avec le Kit de pilotes Microsoft Windows (WDK). Les constructions définies dans ces fichiers .xsd vous permettent de définir de nouveaux schémas.
Voici un exemple incomplet d’un fichier d’extension bidi TCP/IP qui montre sa structure de base. La structure d’un fichier d’extension bidi WSD est similaire.
<?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>
Dans l’exemple de code précédent, notez que :
L’élément Root contient exactement un élément Schema. La hiérarchie du schéma commence par l’élément Schema.
L’élément Schema a des éléments Property en tant que nœuds et des éléments Value comme feuilles.
Chaque élément Value définit une technique particulière par laquelle les données peuvent être récupérées.
Conversion de winSNMP en types de données Bidi
La correspondance entre les types SNMP (Simple Network Management Protocol) et les types bidi est donnée dans la rubrique énumération BIDI_TYPE .
Le reste de cette section contient les rubriques suivantes pour vous aider à créer vos propres extensions de schéma bidi.