Функция 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 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 | Возвращает
соотношение между книжной и
альбомной ориентациями для
устройства, на основе числа градусов,
где вертикальная (книжная)
ориентация перемещается по кругу
против часовой стрелки, чтобы
перейти в горизонтальную (альбомную)
ориентацию. Возвращаемое значение
может быть одним из ниже следующих:
|
||||||||
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 не используется.
|
||||||||
DC_SIZE | Возвращает член dmSize структуры DEVMODE драйвера принтера. | ||||||||
DC_STAPLE | Windows 2000/XP: Если принтер поддерживает сшивание страниц скобками, возвращаемое значение - не нуль; в противном случае, величина возвращаемого значения - ноль. Параметр pOutput не используется. | ||||||||
DC_TRUETYPE | Извлекает данные о
способности драйвера использовать
шрифты TrueType. Для DC_TRUETYPE, параметр
pOutput
должен быть ПУСТО (NULL).
Возвращаемое значение может быть
одно или несколько ниже следующих
значений:
|
||||||||
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. |
Замечания по платформе |
Не имеется |