Функция AdvancedDocumentProperties

Функция AdvancedDocumentProperties отображает диалоговое окно настройки принтера для указанного принтера, позволяющее пользователю настроить этот принтер.

Эта функция является особым случаем функции DocumentProperties . Дополнительные сведения см. в разделе Примечания.

Синтаксис

LONG AdvancedDocumentProperties(
  _In_  HWND     hWnd,
  _In_  HANDLE   hPrinter,
  _In_  LPTSTR   pDeviceName,
  _Out_ PDEVMODE pDevModeOutput,
  _In_  PDEVMODE pDevModeInput
);

Параметры

hWnd [in]

Дескриптор родительского окна диалогового окна конфигурации принтера.

hPrinter [in]

Дескриптор объекта принтера. Используйте функцию OpenPrinter или AddPrinter , чтобы получить дескриптор принтера.

pDeviceName [in]

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

pDevModeOutput [out]

Указатель на структуру DEVMODE , которая будет содержать данные конфигурации, указанные пользователем.

pDevModeInput [in]

Указатель на структуру DEVMODE , содержащую данные конфигурации, используемые для инициализации элементов управления диалогового окна конфигурации принтера.

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

Если функция DocumentProperties с этими параметрами выполнена успешно, возвращаемое значение AdvancedDocumentProperties равно 1. В противном случае возвращаемое значение равно нулю.

Комментарии

Примечание

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

Эта функция может отображать только диалоговое окно конфигурации принтера, чтобы пользователь смог его настроить. Для получения дополнительных возможностей управления используйте DocumentProperties. Входные параметры для этой функции передаются непосредственно в DocumentProperties , а для параметра fMode задано значение DM_IN_BUFFER | DM_IN_PROMPT | DM_OUT_BUFFER. В отличие от DocumentProperties, эта функция возвращает только 1 или 0. Таким образом, вы не можете определить требуемый размер DEVMODE , задав pDevMode значение 0.

Приложение может получить имя, на которое указывает параметр pDeviceName , вызвав функцию GetPrinter и проверив элемент pPrinterNameструктуры PRINTER_INFO_2 .

Требования

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

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

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

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

AddPrinter

DEVMODE

DocumentProperties

GetPrinter

OpenPrinter

PRINTER_INFO_2