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


Функция DrvDeviceCapabilities (winddiui.h)

Функция DLL интерфейса принтера DrvDeviceCapabilities возвращает запрошенные сведения о возможностях принтера.

Синтаксис

DWORD DrvDeviceCapabilities(
                 HANDLE   hPrinter,
  [in]           PWSTR    pszDeviceName,
                 WORD     Capability,
  [out]          PVOID    pOutput,
  [in, optional] PDEVMODE pDevmode
);

Параметры

hPrinter

Вызывающий дескриптор принтера.

[in] pszDeviceName

Указатель на строку имени принтера, предоставленного вызывающим абонентом.

Capability

Поставляемый абонентом битовый флаг, указывающий на запрашиваемые сведения. Это может быть один из флагов, перечисленных в следующей таблице. (Флаги определены в файле заголовка Wingdi.h.)

Флаг Определение
DC_BINADJUST Не используется для операционных систем на основе NT.
DC_BINNAMES Параметр pOutput указывает на буфер, который функция должна заполнить массивом строковых буферов, каждые 24 символа длиной. Каждый буфер строки в массиве должен содержать строку с расширенным символом, завершаемой null, указывающей имя исходного контейнера бумаги. Возвращаемое значение функции должно быть числом элементов в возвращаемом массиве. Если pOutputNULL, функция должна только вернуть необходимое количество элементов массива.
DC_BINS Параметр pOutput указывает на буфер, который функция должна заполнить массивом WORD. Каждый элемент массива должен содержать префиксированную константу DMBIN (или настраиваемое значение), представляющую поддерживаемую корзину источника бумаги. Возвращаемое значение функции должно быть числом элементов в возвращаемом массиве. Если pOutputNULL, функция должна только вернуть необходимое количество элементов массива.
DC_COLLATE Параметр pOutput не используется. Возвращаемое значение функции должно быть 1, если принтер поддерживает сортировку; в противном случае возвращаемое значение должно быть равно нулю.
DC_COLORDEVICE Параметр pOutput не используется. Возвращаемое значение функции должно быть 1, если принтер поддерживает цветную печать; в противном случае возвращаемое значение должно быть равно нулю.
DC_COPIES Параметр pOutput не используется. Возвращаемое значение функции должно быть максимальным числом копий принтера.
DC_DATATYPE_PRODUCED Не используется для операционных систем на основе NT.
DC_DRIVER Параметр pOutput не используется. Возвращаемое значение функции должно быть dmDriverVersion членом внутренней структуры драйвера [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew).
DC_DUPLEX Параметр pOutput не используется. Возвращаемое значение функции должно быть 1, если принтер поддерживает дуплексную печать; в противном случае возвращаемое значение должно быть равно нулю.
DC_EMF_COMPLIANT Не используется для операционных систем на основе NT.
DC_ENUMRESOLUTIONS Параметр pOutput указывает на буфер, который функция должна заполнить массивом LONG. Для каждого разрешения, поддерживаемого принтером, функция должна возвращать два длинных слова (один для измерения x и один для измерения y) разрешения в точках на дюйм. Возвращаемое значение функции должно быть числом поддерживаемых разрешений. Если pOutputNULL, функция должна только вернуть количество поддерживаемых разрешений.
DC_EXTRA Параметр pOutput не используется. Возвращаемое значение функции должно быть dmDriverExtra членом внутренней структуры драйвера [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew).
DC_FIELDS Параметр pOutput не используется. Возвращаемое значение функции должно быть dmFields членом внутренней структуры драйвера [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew). Элемент dmFields указывает, какие члены в независимой от устройства части структуры DEVMODEW поддерживаются драйвером принтера.
DC_FILEDEPENDENCIES Параметр pOutput указывает на буфер, который функция должна заполнить массивом строковых буферов, каждый из 64 символов длиной. Каждый строковый буфер в массиве должен содержать строку с расширением NULL, указывающую имя файла, который должен быть установлен с драйвером. Возвращаемое значение функции должно быть числом элементов в возвращаемом массиве. Если pOutputNULL, функция должна только вернуть необходимое количество элементов массива.
DC_MANUFACTURER Не используется для операционных систем на основе NT.
DC_MAXEXTENT Параметр pOutput не используется. Функция должна возвращать структуру POINTS (описанную в документации по пакету SDK для Microsoft Windows). Структура должна содержать максимальные допустимые значения для dmPaperWidth (x измерения) и dmPaperLength (y измерения) структуры DEVMODEW принтера.
DC_MEDIAREADY Параметр pOutput указывает на буфер, который функция должна заполнить массивом строковых буферов, каждый из 64 символов длиной. Каждый буфер строки в массиве должен содержать строку с расширенным символом, завершаемой NULL, указывающей имя формы бумаги, доступной для использования. Возвращаемое значение функции должно быть числом элементов в возвращаемом массиве. Если pOutputNULL, функция должна только вернуть необходимое количество элементов массива.
DC_MEDIATYPENAMES Параметр pOutput указывает на буфер, который функция должна заполнить массивом строковых буферов, каждый из 64 символов длиной. Каждый буфер строки в массиве должен содержать строку с расширенным символом, завершающей значение NULL, указывающую имя поддерживаемого типа носителя. Возвращаемое значение функции должно быть числом элементов в возвращаемом массиве. Если pOutputNULL, функция должна просто вернуть необходимое количество элементов массива.
DC_MEDIATYPES Параметр pOutput указывает на буфер, который функция должна заполнить массивом DWORD. Каждый элемент массива должен содержать префиксированную константу DMMEDIA (см. структуру [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew) или настраиваемое значение, представляющее поддерживаемый тип мультимедиа. Возвращаемое значение функции должно быть числом элементов в возвращаемом массиве. Если pOutputNULL, функция должна просто вернуть необходимое количество элементов массива.
DC_MINEXTENT Параметр pOutput не используется. Функция должна возвращать структуру POINTS (описанную в документации по пакету SDK для Windows). Структура должна содержать минимальные допустимые значения для dmPaperWidth (x измерения) и dmPaperLength (y измерения) структуры DEVMODEW принтера.
DC_MODEL Не используется для операционных систем на основе NT.
DC_NUP Параметр pOutput указывает на буфер, который функция должна заполнить массивом DWORD. Каждый элемент массива должен содержать целое число, представляющее параметр N-up (то есть каждое целое число должно представлять поддерживаемое количество страниц документов на физическую страницу). Возвращаемое значение функции должно быть числом элементов в возвращаемом массиве. Если pOutputNULL, функция должна только вернуть необходимое количество элементов массива.
DC_ORIENTATION Параметр pOutput не используется. Возвращаемое значение функции должно быть числом градусов поворота, необходимых для создания альбомной ориентации из книжной ориентации. Значение нуля указывает, что ориентация ландшафта не поддерживается.
DC_PAPERNAMES Параметр pOutput указывает на буфер, который функция должна заполнить массивом строковых буферов, каждый из 64 символов длиной. Каждый буфер строки в массиве должен содержать строку с широким символом, завершаемой значением NULL, указывающей имя формы бумаги. Возвращаемое значение функции должно быть числом элементов в возвращаемом массиве. Если pOutputNULL, функция должна только вернуть необходимое количество элементов массива.
DC_PAPERS Параметр pOutput указывает на буфер, который функция должна заполнить массивом WORD. Каждый элемент массива должен содержать префиксированную константу DMPAPER (или настраиваемое значение), представляющую поддерживаемую форму бумаги. Возвращаемое значение функции должно быть числом элементов в возвращаемом массиве. Если pOutputNULL, функция должна только вернуть необходимое количество элементов массива.
DC_PAPERSIZE Параметр pOutput указывает на буфер, который функция должна заполнить массивом POINT. Каждый элемент массива должен содержать x и y измерения размера бумаги формы в 0,1 мм в книжной ориентации. Возвращаемое значение функции должно быть числом элементов в возвращаемом массиве. Если pOutputNULL, функция должна только вернуть необходимое количество элементов массива.
DC_PERSONALITY Параметр pOutput указывает на буфер, который функция должна заполнить массивом строковых буферов, каждый из 32 символов длиной. Каждый строковый буфер в массиве должен содержать строку с широким символом, завершаемую null, указывающую язык описания принтера, поддерживаемый принтером (например, L"HP-GL/2"). Возвращаемое значение функции должно быть числом элементов в возвращаемом массиве. Если pOutputNULL, функция должна только вернуть необходимое количество элементов массива.
DC_PRINTERMEM Параметр pOutput не используется. Возвращаемое значение функции должно быть целым числом, представляющим объем доступной памяти принтера в килобайтах.
DC_PRINTRATE Параметр pOutput не используется. Возвращаемое значение функции должно быть целым числом, представляющим скорость печати, в единицах, указанных для DC_PRINTRATEUNIT.
DC_PRINTRATEPPM Параметр pOutput не используется. Возвращаемое значение функции должно быть целым числом, представляющим скорость печати на страницах в минуту.
DC_PRINTRATEUNIT Параметр pOutput не используется. Возвращаемое значение функции должно определять единицы, используемые для указания значения, возвращаемого для DC_PRINTRATE. Необходимо указать одну из следующих констант: PRINTRATEUNIT_PPM - pages/min. PRINTRATEUNIT_CPS - chars./sec. PRINTRATEUNIT_LPM - линии/мин. PRINTRATEUNIT_IPM - дюйма/мин.
DC_SIZE Параметр pOutput не используется. Возвращаемое значение функции должно быть dmSize членом внутренней структуры драйвера [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew).
DC_STAPLE Параметр pOutput не используется. Возвращаемое значение функции должно быть TRUE, если принтер поддерживает сложение, и FALSE, если принтер не поддерживает срезание.
DC_TRUETYPE Параметр pOutput не используется. Возвращаемое значение функции может быть равно нулю, одному или нескольким из следующих флагов: DCTT_BITMAP: устройство может печатать шрифты TrueType в виде графики. DCTT_DOWNLOAD. Устройство может принимать скачанные шрифты TrueType. DCTT_DOWNLOAD_OUTLINE: (только Windows 95/98/Me) Устройство может скачать шрифты TrueType. DCTT_SUBDEV. Устройство может заменить шрифты устройств для шрифтов TrueType.
DC_VERSION Параметр pOutput не используется. Возвращаемое значение функции должно быть dmSpecVersion членом внутренней структуры драйвера [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew).

[out] pOutput

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

[in, optional] pDevmode

Вызывающий указатель на структуру DEVMODEW, описывающую текущие характеристики задания печати. Если этот параметр null, DrvDeviceCapabilities извлекает текущие значения инициализации по умолчанию для указанного драйвера принтера, например структуру DEVMODEW пользователя по умолчанию очереди печати.

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

Возвращаемое значение функции зависит от значения, полученного для параметра Capability. Если полученное значение возможности представляет возможность, которую драйвер не поддерживает, или если возникла ошибка, функция должна вернуть GDI_ERROR.

Требования

Требование Ценность
целевая платформа Настольный
заголовка winddiui.h (include Winddiui.h)