Функция DeviceCapabilities


Функция DeviceCapabilities извлекает данные о возможностях драйвера устройства принтера.

Синтаксис

DWORD DeviceCapabilities(
  LPCTSTR pDevice,         // название принтера
  LPCTSTR pPort,           // название порта
  WORD fwCapability,       // возможности устройства
  LPTSTR pOutput,          // буфер вывода данных
  CONST DEVMODE *pDevMode  // буфер данных устройства
);

Параметры

pDevice

[in] Указатель на символьную строку с нулем в конце, которая содержит название принтера. 
Обратите внимание! на то, что это  - имя принтера, а не драйвера принтера.

pPort

[in] Указатель на символьную строку с нулем в конце, которая содержит имя порта, к которому устройство подключено, такой как LPT1.

fwCapability

[in] Устанавливает возможность сделать запросы. Этот параметр может быть одним из ниже перечисленных значений.

 

Значение Предназначение
DC_BINADJUST Windows 95/98/Me: Извлекает данные о расположении страницы источника бумаги, определяемого в структуре DEVMODE, на которую указывает параметр pdevMode. Возвращаемое значение может быть одним из ниже следующих:

DCBA_FACEUPNONE
DCBA_FACEUPCENTER
DCBA_FACEUPLEFT
DCBA_FACEUPRIGHT
DCBA_FACEDOWNNONE
DCBA_FACEDOWNCENTER
DCBA_FACEDOWNLEFT
DCBA_FACEDOWNRIGHT

Windows NT/2000/XP: Не поддерживается. 

DC_BINNAMES Извлекает названия магазинов бумагоподающего устройства принтера. Буфер pOutput принимает массив строковых буферов. Каждый строковый буфер -длиной 24 символа и содержит название магазина бумагоподающего устройства. Возвращаемое значение обозначает число записей в массиве. Строки названия с нулевым символом в конце, если название не длиннее 24 символов. Если pOutput - ПУСТО (NULL), возвращаемое значение - число обязательных записей лотка. 
DC_BINS Извлекает перечень доступных магазинов бумагоподающего устройства. Буфер pOutput принимает массив значений типа  (WORD), которые указывают доступные источники бумаги для принтера. Возвращаемое значение обозначает число  записей в массиве. Список возможных значений массива, см.  в описании члена dmDefaultSource структуры DEVMODE. Если pOutput -  ПУСТО (NULL), возвращаемое значение указывает обязательное число записей в массиве. 
DC_COLLATE Если принтер поддерживает сортировку, возвращаемое значение равно 1; в противном случае, величина возвращаемого значения - ноль. Параметр pOutput  не используется. 
DC_COLORDEVICE Windows 2000/XP: Если принтер поддерживает цветную печать, возвращаемое значение равно 1; в противном случае, величина возвращаемого значения - ноль. Параметр pOutput  не используется. 
DC_COPIES Возвращает количество копий, которое устройство может отпечатать. 
DC_DRIVER Возвращает  номер версии драйвера принтера. 
DC_DATATYPE_PRODUCED Windows 95/98/Me: Возвращаемое значение - число типов данных, поддерживаемых драйвером принтера. Если функция возвращает - (минус)1, драйвер распознает только "RAW"  (НЕОБРАБОТАННЫЙ) тип данных. Названия поддерживаемых типов данных копируются в массив. Используйте эти названия в структуре DOCINFO при вызове функции StartDoc, чтобы установить тип данных.

Windows NT/2000/XP: Не поддерживается. 

DC_DUPLEX Если принтер поддерживает двустороннюю печать, возвращаемое значение равно 1; в противном случае, величина возвращаемого значения - ноль. Параметр pOutput  не используется. 
DC_EMF_COMPLIANT Windows 95/98/Me: Выясняет, поддерживает ли драйвер принтера расширенные метафайлы  (EMF). Возвращаемое значение 1 означает, что драйвер поддерживает расширенный метафайл (EMF). Возвращаемое значение - (минус)1, означает, что драйвер не поддерживает расширенный метафайл печати (EMF).

Windows NT/2000/XP: Не поддерживает. 

DC_ENUMRESOLUTIONS Извлекает перечень разрешающих способностей, поддерживаемых принтером. Буфер pOutput принимает массив значений типа LONG. Для каждой поддерживаемой разрешающей способности, массив содержит пару значений LONG, которые задают x и y размеры разрешающей способности, в точках на дюйм. Возвращаемое значение обозначает число поддерживаемых разрешающих способностей. Если pOutput - ПУСТО (NULL), возвращаемое значение обозначает число поддерживаемых разрешающих способностей. 
DC_EXTRA Возвращает число байтов, обязательных для зависимой от устройства части структуры DEVMODE для драйвера принтера. 
DC_FIELDS Возвращает член dmFields  структуры  DEVMODE драйвера принтера. Член dmFields  указывает, какие члены в аппаратно-независимой части структуры поддерживаются драйвером принтера. 
DC_FILEDEPENDENCIES Извлекает имена любых дополнительных файлов, которые должны быть загружены, когда драйвер установлен. Буфер pOutput принимает массив строковых буферов. Каждый строковый буфер - длиной 64 символа и содержит имя файла. Возвращаемое значение обозначает число записей в массиве. Если имя файла меньше 64 символов, строки имени с нулем в конце. Если pOutput -  ПУСТО (NULL), возвращаемое значение - число файлов. 
DC_MANUFACTURER Windows 95/98/Me: Возвращаемое значение - идентификационный номер изготовителя принтера. Это значение используется  методом Независимого управления цветом (ICM).

Windows NT/2000/XP: Не поддерживается. 

DC_MAXEXTENT Возвращает максимальный формат бумаги, который драйвер принтера может установить в членах dmPaperLength и dmPaperWidth   структуры DEVMODE. LOWORD (младшее слово) возвращаемого значения содержит максимальное значение dmPaperWidth , а  HIWORD (старшее слово) содержит максимальное значение dmPaperLength
DC_MEDIAREADY Windows 2000/XP: Извлекает названия форматов бумаги, которые являются текущими доступными для использования. Буфер pOutput принимает массив строковых буферов. Каждый строковый буфер - длиною 64 символа и содержит название формата бумаги. Возвращаемое значение обозначает число записей в массиве. Если строки названия - меньше 64 символов, строки  с нулем в конце.  Если pOutput -  ПУСТО (NULL), возвращаемое значение - число форматов бумаги. 
DC_MEDIATYPENAMES Windows XP: Извлекает названия поддерживаемых типов медиа. Буфер pOutput принимает массив строковых буферов. Каждый строковый буфер - длиной 64 символа и содержит название поддерживаемого типа медиа. Возвращаемое значение обозначает число записей в массиве. Если строки названия - меньше 64 символов, строки - с нулем в конце. Если pOutput - ПУСТО (NULL), возвращаемое значение - число обязательных названий типов аудио- и видео средств информации. 
DC_MEDIATYPES Windows XP: Извлекает перечень типов поддерживаемых аудио- и видео средств информации. Буфер pOutput принимает массив значений типа DWORD, которые обозначают поддерживаемые типы  аудио- и видео средств информации. Возвращаемое значение обозначает число записей в массиве. Список возможных значений массива, см. в описании члена dmMediaTyp структуры DEVMODE. Если pOutput -  ПУСТО (NULL), возвращаемое значение указывает обязательное число записей в массиве. 
DC_MINEXTENT Возвращает минимальный размер бумаги, который драйвер принтера может установить в членах dmPaperLength и dmPaperWidth   структуры DEVMODE. LOWORD (младшее слово) возвращаемого значения содержит минимальное значение dmPaperWidth , а  HIWORD (старшее слово) содержит минимальное значение dmPaperLength
DC_MODEL Windows 95/98/Me: Возвращаемое значение - идентификатор модели принтера. Это значение используется  методом Независимого управлением цветом (ICM)).

Windows NT/2000/XP: Не поддерживается. 

DC_ORIENTATION Возвращает соотношение между книжной и альбомной ориентациями для устройства, на основе числа градусов, где вертикальная (книжная) ориентация перемещается по кругу против часовой стрелки, чтобы перейти в горизонтальную (альбомную) ориентацию. Возвращаемое значение может быть одним из ниже следующих:
0 Не горизонтальная (альбомная) ориентация.
90 Книжная повернута на 90 градусов, чтобы перейти в альбомную ориентацию.
270 Книжная повернута на 270 градусов, чтобы перейти в альбомную ориентацию.
DC_NUP Windows 2000/XP: Извлекает массив целых чисел, которые обозначают, что  принтер способен  печатать несколько страниц  документа на печатную полосу. Буфер pOutput принимает массив значений типа DWORD. Каждое значение обозначает поддерживаемое число страниц документа в печатаной полосе. Возвращаемое значение обозначает число записей в массиве. Если pOutput -  ПУСТО (NULL), возвращаемое значение указывает обязательное число записей в массиве. 
DC_PAPERNAMES Извлекает перечень поддерживаемых названий бумаги (например, Letter (Письмо) или Legal (Официальный документ). Буфер pOutput принимает массив строковых буферов. Каждый строковый буфер - длиной 64 символа и содержит название формата бумаги. Возвращаемое значение обозначает номер записей в массиве. Если строки названия - меньше 64 символов, строки  с нулем в конце.  Если pOutput - ПУСТО (NULL), возвращаемое значение - число форматов бумаги. 
DC_PAPERS Извлекает перечень поддерживаемых размеров бумаги. Буфер pOutput принимает массив значений типа WORD, которые обозначают доступные размеры бумаги для принтера. Возвращаемое значение обозначает число записей в массиве. Список возможных значений массива, см. в описании члена dmPaperSize  структуры DEVMODE. Если pOutput -  ПУСТО (NULL), возвращаемое значение обозначает обязательное число записей в массиве. 
DC_PAPERSIZE Извлекает размеры, в десятых долях миллиметра, каждого поддерживаемого размера бумаги. Буфер pOutput принимает массив структур POINT. Каждая структура содержит ширину (в направлении оси x) и длину (в направлении оси y) размера бумаги, как будто бы бумага  ориентации  DMORIENT_PORTRAIT . Возвращаемое значение обозначает число записей в массиве. 
DC_PERSONALITY Windows 2000/XP: Извлекает перечень языков написания, поддерживаемых принтером. Буфер pOutput принимает массив строковых буферов. Каждый буфер - длиной 32 символа и содержит название языка, которым пишет принтер. Возвращаемое значение обозначает число записей в массиве. Если строки названия - меньше 32 символов, строки  с нулем в конце. Если pOutput -  ПУСТО (NULL), возвращаемое значение обозначает обязательное число записей массива. 
DC_PRINTERMEM Windows 2000/XP: Возвращаемое значение - объем доступной памяти принтера, в килобайтах.  Параметр pOutput не используется. 
DC_PRINTRATE Windows 2000/XP: Возвращаемое значение указывает скорость печати принтера. Значение, возвращенное для DC_PRINTRATEUNIT обозначает единицы измерения значения DC_PRINTRATE. Параметр pOutput не используется. 
DC_PRINTRATEPPM Windows 2000/XP: Возвращаемое значение указывает скорость печати принтера, в страницах в минуту. Параметр pOutput не используется.
DC_PRINTRATEUNIT Windows 2000/XP: Возвращаемое значение - одно из ниже перечисленных значений, которые указывают единицы измерения  скорости  печати для значений, возвращаемых флажком DC_PRINTRATE. Параметр pOutput не используется. 
PRINTRATEUNIT_CPS Символов в минуту.
PRINTRATEUNIT_IPM Дюймов в минуту.
PRINTRATEUNIT_LPM Строк в минуту.
PRINTRATEUNIT_PPM Страниц в минуту.
DC_SIZE Возвращает член dmSize  структуры  DEVMODE драйвера принтера. 
DC_STAPLE Windows 2000/XP: Если принтер поддерживает сшивание страниц скобками, возвращаемое значение - не нуль; в противном случае, величина возвращаемого значения - ноль. Параметр pOutput не используется. 
DC_TRUETYPE Извлекает данные о способности драйвера использовать шрифты TrueType. Для DC_TRUETYPE, параметр pOutput должен быть  ПУСТО (NULL). Возвращаемое значение может быть одно или несколько ниже следующих значений: 
DCTT_BITMAP Устройство может печатать шрифты TrueType как графику.
DCTT_DOWNLOAD Устройство может загрузить шрифты TrueType.
DCTT_DOWNLOAD_OUTLINE Windows 95/98/Me: Устройство может загрузить контуры шрифта TrueType.
DCTT_SUBDEV Устройство может заменить шрифты устройства на шрифт TrueType.
DC_VERSION Возвращает версию спецификации, которой соответствует драйвер принтера. 
 

pOutput

[out] Указатель на массив. Формат массива зависит от настройки параметра fwCapability . Если pOutput -  ПУСТО (NULL), функция DeviceCapabilities возвращает число байтов, необходимых для вывода данных.

pDevMode

[in] Указатель на структуру DEVMODE. Если этот параметр - ПУСТО (NULL), функция DeviceCapabilities извлекает текущие заданные по умолчанию значения инициализации для устанавливаемого драйвера принтера. В противном случае, функция извлекает значения, содержащиеся в структуре, на которую указывает параметр pDevMode.

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

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

Если функция завершается ошибкой, возвращаемое значение равно - (минус)1.

Windows NT/2000/XP: Чтобы получать дополнительные сведения об ошибке, вызовите GetLastError.

Замечания 

Структура DEVMODE, на которую указывает параметр pDevMode  может быть получена при помощи вызова функции DocumentProperties.

Смотри также 

Обзор Печать и спулер печати, Функции, используемые Печатью и спулером печати, DEVMODE, DOCINFO, DocumentProperties, GetDeviceCaps, GetProcAddress, LoadLibrary, POINT, StartDoc

 

Размещение и совместимость DeviceCapabilities

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Да версии 3.1 и старше

Windows Me

Да

Windows 98

Да

Windows 95

Да

Используемая библиотека

Winspool.lib

Заголовочный файл

 

- объявлено в

Wingdi.h

- включено в

Windows.h

Unicode

Реализуется как версии Unicode и  ANSI для Windows NT/2000/XP.

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz