Функция 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 [только классические приложения] |
Заголовок |
|
Библиотека |
|
DLL |
|
Имя в кодировке Юникод и ANSI |
AdvancedDocumentPropertiesW (Юникод) и AdvancedDocumentPropertiesA (ANSI) |