Настройка мониторов портов принтера
Вы можете определить новые схемы для устройств печати, которые имеют возможности выше стандартной схемы связи bidi , настроив стандартные мониторы портов TCP/IP или веб-служб для устройств (WSD), которые поставляются в Windows Vista. Необходимо создать файл расширения bidi, XML-файл, который определяет новые схемы, относящиеся к драйверу. Этот файл расширения устанавливается при установке драйвера. Когда монитор порта TCP/IP или WSD идентифицирует этот файл расширения, монитор загружает файл и может использовать дополнительные схемы bidi.
Схемы в файле расширения bidi являются подмножеством стандартной схемы печати. Такие схемы должны соответствовать структуре файлов Tcpbidi.xsd или WsdBidi.xsd, поставляемых вместе с WDK.
Примечание Если схема связи bidi соответствует вашим требованиям, вам не нужно создавать файл расширения bidi и поэтому не нужно настраивать мониторы портов печати.
Создайте файл расширения bidi и свяжите его с драйвером принтера, если применяется любое из следующих условий:
Драйверу принтера требуются сведения из принтера, которые не могут быть найдены в стандартной схеме печати. Чтобы получить эти сведения, необходимо расширить поддерживаемую схему дополнительными запросами. Любой другой клиент, перечисляющий поддерживаемую схему для определенного порта, получает дополнительные запросы, но обычно не может их понять.
Вы планируете включить запросы из стандартной схемы печати, которые не поддерживаются в стандартных мониторах портов TCP/IP или WSD, так как для запросов требуются сведения о драйвере. В этом случае необходимо расширить схему печати. Как правило, следует расширить части схемы печати, связанные с входными и выходными ячейками для печатных носителей. Необходимо также указать сопоставление между именами ячеек, определенных в схеме bidi, и именами в базе данных управления принтера (MIB).
Вы планируете настроить способ работы стандартных запросов, например путем задания пользовательского идентификатора объекта (OID) или изменения интервала обновления. Например, стандартный монитор портов TCP/IP опрашивает устройства, которые не поддерживают функцию событий веб-служб, с интервалом по умолчанию 600 секунд (10 минут). Вы можете изменить интервал опроса, создав расширение bidi, которое задает атрибут refreshInterval в конструкции Value , связанной с устройством. (См.
Memory
свойство в следующем примере кода.)
Если драйвер не имеет связанного файла расширения bidi, поддержка связи bidi в стандартной схеме печати не может отвечать на запросы, требующие данных о драйвере (например, данные, связанные с входными и выходными ячейками).
Примечание Секции сетевой маршрутизации в Windows Vista позволяют хорошо доверенным процессам подключаться к разным сетевым интерфейсам (виртуальным или физическим), сохраняя при этом различные интерфейсы изолированными друг от друга. Например, Windows Vista использует эти секции для применения политик VPN, которые не разрешают одновременный доступ как к VPN, так и к локальной сети пользователя и Интернету. Во время печати диспетчер очереди очереди олицетворяет пользователя при открытии порта принтера TCP. Следовательно, диспетчер очереди не может печатать на локальном сетевом принтере, пока пользователь подключен к VPN.
Структура файла расширения Bidi
Файл расширения bidi — это XML-файл правильного формата, который должен быть действительным в соответствии с файлами Tcpbidi.xsd или WsdBidi.xsd, которые предоставляются вместе с пакетом драйверов Microsoft Windows (WDK). Конструкции, определенные в этих XSD-файлах, позволяют определять новые схемы.
Ниже приведен неполный пример файла расширения BIDI TCP/IP, который показывает его базовую структуру. Структура файла расширения биди WSD аналогична.
<?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>
В приведенном выше примере кода обратите внимание на следующее:
Элемент Root содержит ровно один элемент Schema. Иерархия схемы начинается с элемента Schema.
Элемент Schema содержит элементы Property в качестве узлов и элементы Value в качестве листьев.
Каждый элемент Value определяет конкретный метод, с помощью которого можно получить данные.
Преобразование winSNMP в типы данных Bidi
Соответствие между типами SNMP и типами bidi приведено в разделе перечисления BIDI_TYPE .
Оставшаяся часть этого раздела содержит следующие разделы, которые помогут вам создать собственные расширения схемы bidi.