Функция 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) |