Функция ConnectToPrinterDlg

Функция ConnectToPrinterDlg отображает диалоговое окно, позволяющее пользователям просматривать принтеры в сети и подключаться к нему. Если пользователь выбирает принтер, функция пытается создать к нему подключение; Если подходящий драйвер не установлен на сервере, пользователю предоставляется возможность локального создания принтера.

Синтаксис

HANDLE ConnectToPrinterDlg(
  _In_ HWND  hwnd,
  _In_ DWORD Flags
);

Параметры

hwnd [in]

Указывает родительское окно диалогового окна.

Флаги [в]

Этот параметр зарезервирован и должен быть равен нулю.

Возвращаемое значение

Если функция выполняется успешно и пользователь выбирает принтер, возвращается дескриптор выбранного принтера.

Если функция завершается сбоем или пользователь отменяет диалоговое окно, не выбирая принтер, возвращается значение NULL.

Комментарии

Примечание

Это блокирующая или синхронная функция, возвращаемая не сразу. Скорость возврата этой функции зависит от факторов времени выполнения, таких как состояние сети, конфигурация сервера печати и факторы реализации драйвера принтера, которые трудно предсказать при написании приложения. Вызов этой функции из потока, который управляет взаимодействием с пользовательским интерфейсом, может привести к тому, что приложение не отвечает.

Функция ConnectToPrinterDlg пытается создать подключение к выбранному принтеру. Однако если на сервере, на котором находится принтер, не установлен подходящий драйвер, функция предлагает пользователю возможность локального создания принтера. Вызывающее приложение может определить, создала ли функция принтер локально, вызвав GetPrinter со структурой PRINTER_INFO_2 , а затем проверив элемент Attributes этой структуры.

Приложение должно вызвать DeletePrinter , чтобы удалить локальный принтер. Приложение должно вызвать DeletePrinterConnection , чтобы удалить подключение к принтеру.

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Winspool.h (включая Windows.h)
Библиотека
Winspool.lib
DLL
Winspool.drv

См. также раздел

Вывод на печать

Функции API очереди печати принтера

AddPrinterConnection

ClosePrinter

DeletePrinter

DeletePrinterConnection

GetPrinter

PRINTER_INFO_2