На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

Escape



The Escape function allows applications to access capabilities of a particular device not directly available through GDI. Escape calls made by an application are translated and sent to the driver.

int Escape(

HDC hdc, // handle to device context
int nEscape, // escape function
int cbInput, // number of bytes in input structure
LPCSTR lpvInData, // pointer to input structure
LPVOID lpvOutData // pointer to output structure
);


Parameters

hdc

Identifies the device context.

nEscape

Specifies the escape function to be performed. This parameter must be one of the predefined escape values. Use the ExtEscape function if your application defines a private escape value.

cbInput

Specifies the number of bytes of data pointed to by the lpvInData parameter.

lpvInData

Points to the input structure required for the specified escape.

lpvOutData

Points to the structure that receives output from this escape. This parameter should be NULL if no data is returned.



Return Values

If the function succeeds, the return value is greater than zero, except with the QUERYESCSUPPORT printer escape, which checks for implementation only. If the escape is not implemented, the return value is zero.
If the function fails, the return value is an error. To get extended error information, call GetLastError.

Errors

If the function fails, the return value is one of the following values.

Value Meaning
SP_ERROR General error. If SP_ERROR is returned, Escape may set the last error code to:ERROR_INVALID_PARAMETER
ERROR_DISK_FULL
ERROR_NOT_ENOUGH_MEMORY
ERROR_PRINT_CANCELLED
SP_OUTOFDISK Not enough disk space is currently available for spooling, and no more space will become available.
SP_OUTOFMEMORY Not enough memory is available for spooling.
SP_USERABORT The user terminated the job through Windows Print Manager.


Remarks

The Win32 API provides six new functions that supersede some printer escapes:

Function Description
AbortDoc Terminates a print job. Supersedes the ABORTDOC escape.
EndDoc Ends a print job. Supersedes the ENDDOC escape.
EndPage Ends a page. Supersedes the NEWFRAME escape. Unlike NEWFRAME, this function is always called after printing a page.
SetAbortProc Sets the abort function for a print job. Supersedes the SETABORTPROC escape.
StartDoc Starts a print job. Supersedes the STARTDOC escape.
StartPage Prepares printer driver to receive data.


The Win32 API provides six new indexes for the GetDeviceCaps function that supersede some printer escapes:

Index Description
PHYSICALWIDTH For printing devices: the width of the physical page, in device units. For example, a printer set to print at 600 dpi on 8.5"x11" paper has a physical width value of 5100 device units. Note that the physical page is almost always greater than the printable area of the page, and never smaller.
PHYSICALHEIGHT For printing devices: the height of the physical page, in device units. For example, a printer set to print at 600 dpi on 8.5"x11" paper has a physical height value of 6600 device units. Note that the physical page is almost always greater than the printable area of the page, and never smaller.
PHYSICALOFFSETX For printing devices: the distance from the left edge of the physical page to the left edge of the printable area, in device units. For example, a printer set to print at 600 dpi on 8.5"x11" paper, that cannot print on the leftmost 0.25" of paper, has a horizontal physical offset of 150 device units.
PHYSICALOFFSETY For printing devices: the distance from the top edge of the physical page to the top edge of the printable area, in device units. For example, a printer set to print at 600 dpi on 8.5"x11" paper, that cannot print on the topmost 0.5" of paper, has a vertical physical offset of 300 device units.


Of the original printer escapes, only the following can be used by Win32-based application:

Escape Description
QUERYYESCSUPPORT Determines whether a particular escape is implemented by the device driver.


Following is a list of the obsolete printer escapes that are supported only for compatibility with 16-bit versions of Windows:

Escape Description
ABORTDOC Stops the current print job and erases everything the application has written to the device since the last ENDDOC escape.
ENDDOC Ends a print job started by the STARTDOC escape.
GETPHYSPAGESIZE Retrieves the physical page size and copies it to the specified location.
GETPRINTINGOFFSET Retrieves the offset from the upper-left corner of the physical page where the actual printing or drawing begins.
GETSCALINGFACTOR Retrieves the scaling factors for the x-axis and the y-axis of a printer.
NEWFRAME Informs the printer that the application has finished writing to a page.
NEXTBAND Informs the printer that the application has finished writing to a band.
PASSTHROUGH Allows the application to send data directly to a printer.
SETABORTPROC Sets the Abort function for a print job.
STARTDOC Informs a printer driver that a new print job is starting.


See Also

AbortDoc, EndDoc, EndPage, ExtEscape, SetAbortProc, StartDoc, StartPage, ResetDC


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

Переход



Функция Перехода позволяет, чтобы иметь доступ к возможностям конкретного устройства непосредственно не доступный через GDI. Вызовы Перехода сделанные приложением переведены и посланы водителю.

int Переход(

HDC hdc, // РУЧКА в контекст устройства int nEscape, // функция перехода int cbInput, // количество байтов в входной структуре LPCSTR lpvInData, // указателе, чтобы вводить указатель структуры LPVOID lpvOutData // в выходную структуру
);


Параметры

hdc

Идентифицирует контекст устройства.

nEscape

Определяет функцию перехода, чтобы быть выполненн. Этот параметр должен быть одной из встроенных величин перехода. Используйте функцию ExtEscape если ваше приложение определяет частную величину перехода.

cbInput

Определяет количество байтов данных указанных, чтобы параметром lpvInData.

lpvInData

Точки на входной структурный необходимый для определенного перехода.

lpvOutData

Точки на структуру, которые получают выход с этого перехода. Этот параметр должен быть НЕДЕЙСТВИТЕЛЕН если никакие данные не возвращаны.



Обратные Величины

Если функция добивается успеха, обратная величина больше, чем нуль, кроме с переходом принтера QUERYESCSUPPORT, каких чеков реализации только. Если переход не осуществлен, обратная величина нулевая.
Если функция терпит неудачу, обратная величина является ошибкой. Для того, чтобы расширять информацию ошибки, назовите GetLastError.

Ошибки

Если функция терпит неудачу, обратная величина - одно из следующего величин.

Значение Величины
Ошибка общего характера SP_ERROR. Если SP_ERROR возвращан, Переход может установить последний код ошибки на:ERROR_INVALID_PARAMETER ERROR_DISK_FULL ERROR_NOT_ENOUGH_MEMORY ERROR_PRINT_CANCELLED SP_OUTOFDISK Не достаточно дискового пространства к настоящему времени доступно для буферизации, и больше пространство не станет доступным.
SP_OUTOFMEMORY Не достаточно памяти доступно для буферизации.
SP_USERABORT пользователь завершал работу через Менеджера Распечатки Windows.


Замечания

Win32 API Обеспечивает шесть новых функций, которые заменяют некоторые переходы принтера:

Описание Функции
AbortDoc ЗАВЕРШАЕТ работу распечатки. Заменяет переход ABORTDOC.
EndDoc ЗАКАНЧИВАЕТ работу распечатки. Заменяет переход ENDDOC.
EndPage ЗАКАНЧИВАЕТ страницу. Заменяет переход NEWFRAME. В отличие от NEWFRAME, эта функция всегда названа после печати страницы.
SetAbortProc УСТАНАВЛИВАЕТ функцию отказа для работы распечатки. Заменяет переход SETABORTPROC.
StartDoc НАЧИНАЕТ с работы распечатки. Заменяет переход STARTDOC.
StartPage ПОДГОТАВЛИВАЕТ драйвер принтера, чтобы получать данные.


Win32 API Обеспечивает шесть новых индексов для функции GetDeviceCaps, которая заменяет некоторые переходы принтера:

Описание Индекса
PHYSICALWIDTH ДЛЯ печати устройств: ширина физической страницы, на устройствах устройства. Например, принтер установленный, чтобы печататься в 600 dpi на 8.5"x11" бумагу имеет физическую широтную величину 5100 устройств устройства. Отметьте, что физическая страница - почти всегда больше, чем выводимая область страницы, и никогда меньше.
PHYSICALHEIGHT ДЛЯ печати устройств: высота физической страницы, на устройствах устройства. Например, принтер установленный, чтобы печататься в 600 dpi на 8.5"x11" бумагу имеет физическую величину высоты 6600 устройств устройства. Отметьте, что физическая страница - почти всегда больше, чем выводимая область страницы, и никогда меньше.
PHYSICALOFFSETX ДЛЯ печати устройств: расстояние с левого края физического страничного налево края выводимой области, на устройствах устройства. Например, принтер установленный, чтобы печататься в 600 dpi на 8.5"x11" бумагу, которая не может напечататься на самых левых 0.25" бумаги, имеет горизонтальное физическое смещение 150 устройств устройства.
PHYSICALOFFSETY ДЛЯ печати устройств: расстояние от верхнего края физической страницы до верхнего края выводимой области, на устройствах устройства. Например, принтер установленный, чтобы печататься в 600 dpi на 8.5"x11" бумагу, которая не может напечататься на самых верхних 0.5" бумаги, имеет вертикальное физическое смещение 300 устройств устройства.


Оригинальных переходов принтера, только следующее может быть использовано базирующимся приложением Win32:

Описание Перехода
QUERYYESCSUPPORT ОПРЕДЕЛЯЕТ осуществлен конкретный переход драйвером устройства.


Следующее является списком устаревших переходов принтера, который поддерживается только для совместимости с 16- битовыми версиями Windows:

Описание Перехода
ABORTDOC ОСТАНАВЛИВАЕТ текущую работу распечатки и стирает все приложение записал на устройство с тех пор как последний переход ENDDOC.
ENDDOC ЗАКАНЧИВАЕТ работу распечатки запущенную переходом STARTDOC.
GETPHYSPAGESIZE ИЗВЛЕКАЕТ физический страничный размер и копирует это в определенную позицию.
GETPRINTINGOFFSET ИЗВЛЕКАЕТ смещение из верхнего левого угла физической страницы где фактическая печать или чертеж начинается.
GETSCALINGFACTOR ИЗВЛЕКАЕТ коэффициентам масштабирования для x-axis и y-axis принтера.
NEWFRAME СООБЩАЕТ принтер, что приложение имеет готовую запись на странице.
NEXTBAND СООБЩАЕТ принтер, что приложение имеет готовую запись на полосе.
ТРАНЗИТНАЯ пересылка Позволяет приложение, чтобы посылать данные непосредственно в принтер.
SETABORTPROC УСТАНАВЛИВАЕТ функцию Отказа для работы распечатки.
STARTDOC СООБЩАЕТ драйвер принтера, что новая работа распечатки запускает.


Смотри Также

AbortDoc, EndDoc, EndPage, ExtEscape, SetAbortProc, StartDoc, StartPage, ResetDC


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz