Поделиться через


Печать на URL-адреса из приложений

С точки зрения приложения печать в очередь печати, определяемой URL-адресом, идентична печати с очередью печати, определенной в формате UNC. Приложение обычно не знает, что доступ к очереди печати осуществляется по URL-адресу.

Просматривая веб-страницы печати, пользователь может установить очередь печати, определяемую URL-адресом, и подключиться к ней. В этом случае очереди печати назначается то же "понятное имя", что и на сервере печати, и это понятное имя отображается в папке печати пользователя.

Приложения обычно ссылаются на очередь печати по понятному имени, как и для очередей печати, определяемых в формате UNC. Вызовы функции OpenPrinter в локальном поставщике печати (вызванные, например, вызовами GDI приложения) включают понятное имя. Локальный поставщик печати, в свою очередь, вызывает OpenPrinter в поставщике печати HTTP (Inetpp.dll), указывая URL-адрес очереди печати.

Приложения, которые ссылаются на очереди печати по понятным именам, обычно не знают, является ли очередь печати локальной или в сети, а также является ли сетевой протокол RPC, SMB или HTTP. Однако при необходимости приложения могут вызывать OpenPrinter напрямую, указывая URL-адрес. При указании URL-адреса для OpenPrinter необходимо использовать следующий формат URL-адреса:

<https:// ServerName>/printers/<ShareName>/.printer

Где <ServerName> — это имя сервера (DNS-имя для подключений к Интернету или WINS-имя для подключений к интрасети), "принтеры" представляет виртуальный каталог на сервере, а <ShareName> — имя общей папки очереди печати, как указано на странице свойств. (Виртуальные каталоги рассматриваются в документации по Microsoft Windows SDK.)

Когда компонент или приложение клиента вызывает OpenPrinter и задает URL-адрес, последующие вызовы функций очереди очереди, таких как StartDocPrinter, WritePrinter и т. д., обрабатываются поставщиком печати HTTP клиента. Поставщик печати HTTP добавляет аргументы к URL-адресу и отправляет результирующий URL-адрес на сервер печати.

Чтобы сервер печати Microsoft Windows 2000 принимал запросы на печать, содержащие URL-адреса, он должен выполняться:

  • Программное обеспечение Windows 2000 Server с Microsoft Internet Information Server (IIS) или

  • Программное обеспечение Windows 2000 Professional с одноранговым веб-сервером Майкрософт

Чтобы сервер печати Windows XP принимал запросы на печать, содержащие URL-адреса, он должен выполняться:

  • Программное обеспечение Microsoft Windows Server 2003 с Microsoft Internet Information Server (IIS) или

  • Программное обеспечение Windows XP Professional с одноранговым веб-сервером Майкрософт

Примечание Сервер печати Windows XP Home Edition не может принимать запросы, содержащие URL-адреса.

На сервере печати IIS или одноранговый веб-сервер получает строку URL-адреса. Аргументы, добавленные к строке Inetpp.dll в клиентской системе, вызывают сервер печати HTTP, который содержится в Msw3prt.dll. Сервер печати HTTP принимает данные принтера в формате RAW и отправляет их локальному диспетчеру очереди печати.

Данные принтера отправляются с клиента на сервер с помощью протокола интернет-печати (IPP 1.0), определенного рабочей группой принтеров (PWG) Целевой группы по проектированию Интернета (IETF).

На следующем рисунке показан путь, который данные печати принимают от клиентского приложения к очереди очереди сервера печати, если клиент выполняет печать в очереди печати, определяемой URL-адресом.

схема, иллюстрирующая печать в очереди печати, определяемой URL-адресом.

Если клиент и сервер являются системами Windows 2000 или более поздней версии, как показано на рисунке, протокол RPC обычно (но не всегда) используется для обмена данными между клиентом и сервером. (Дополнительные сведения см. в разделе Установка драйверов печати с веб-страницы.) Если клиент и сервер не являются системами Windows 2000 или более поздней версии, используется протокол HTTP. Протокол HTTP также используется для принтеров, которые содержат внутренние сетевые карты и поддерживают IPP 1.0 и поэтому не подключены к серверу.

Безопасность сервера печати обеспечивается службами IIS, которые выполняются на сервере печати. Механизмы безопасности, поддерживаемые службами IIS, описаны в руководстве по ресурсам IIS, которое содержится в **

Microsoft Windows 2000 Server Resource Kit. Кроме того, в пакете ресурсов описывается, как системные администраторы могут управлять методами безопасности, связанными с печатью на URL-адреса.