勇芳软件工作室.汉化:  Printing > GDI Print API > GDI Print API Functions >

Escape

Previous pageReturn to chapter overviewNext page

描述

 

逃逸功能使应用程序能够访问不能通过GDI直接使用的特定设备的功能。由应用程序进行的Escape呼叫转换并发送给驱动程序。

 

C++ 语法

 

int Escape(

__in  HDC hdc,

__in  int nEscape,

__in  int cbInput,

__in  LPCSTR lpvInData,

__out LPVOID lpvOutData

);

 

PowerBASIC 语法

 

FUNCTION Escape ( _

BYVAL hdc AS DWORD, _

BYVAL nEscape AS LONG, _

BYVAL cbInput AS LONG, _

BYREF lpvInData AS ANY, _

BYREF lpvOutData AS ANY _

) AS LONG

 

参数

 

hdc

 

[in]处理设备上下文。

 

nEscape

 

[in]指定要执行的转义函数。此参数必须是备注部分中列出的预定义转义值之一。如果应用程序定义私有转义值,请使用ExtEscape函数。

 

cbInput

 

[in]指定lpvInData参数指向的数据的字节数。这可以是0。

 

lpvInData

 

[in]指向指定转义所需的输入结构的指针。

 

lpvOutData

 

[out]指向从此转义接收输出的结构的指针。如果没有返回数据,此参数应为NULL。

 

返回值

 

如果函数成功,则返回值大于零,但QUERYESCSUPPORT打印机转义除外,仅检查实现。如果没有实现转义,返回值为零。

 

如果函数失败,则返回值是系统错误代码。

 

错误

 

如果函数失败,则返回值为以下值之一:

 

含义

SP_ERROR

一般错误。如果返回SP_ERROR,Escape可能会将最后一个错误代码设置为:

 

ERROR_INVALID_PARAMETER ERROR_DISK_FULL ERROR_NOT_ENOUGH_MEMORY ERROR_PRINT_CANCELLED

SP_OUTOFDISK

当前没有足够的磁盘空间用于假脱机,并且没有更多的空间可用。

SP_OUTOFMEMORY

没有足够的内存可用于假脱机。

SP_USERABORT

用户通过打印管理器终止了作业。

 

备注

 

对cbInput传递0的效果将取决于nEscape的值和正在处理转义的驱动程序。

 

在原始打印机转义中,只能使用以下内容。

 

逃逸

描述

QUERYESCSUPPORT

确定设备驱动程序是否实现特定的转义。

PASSTHROUGH

允许应用程序直接将数据发送到打印机。

 

以下打印机转义已过时。它们仅用于与16位版本的Windows兼容。

 

 

逃逸

描述

ABORTDOC

停止当前打印作业,并擦除应用程序自上次ENDDOC转义以来写入设备的所有内容。

 

这个逃脱已被AbortDoc取代。

ENDDOC

结束STARTDOC转义启动的打印作业。

 

这被EndDoc所代替。

GETPHYSPAGESIZE

检索物理页面大小并将其复制到指定的位置。

 

这个逃脱已被GetDeviceCaps中的物理学和物理学权限取代。

GETPRINTINGOFFSET

从实际打印或绘图开始的物理页面的左上角检索偏移量。

 

这个逃脱已被GetDeviceCaps中的PHYSICALOFFSETX和PHYSICALOFFSETY所取代。

GETSCALINGFACTOR

检索打印机的x轴和y轴的缩放因子。

 

这个逃脱已被GetDeviceCaps中的SCALINGFACTORX和SCALINGFACTORY取代。

NEWFRAME

通知打印机应用程序已完成写入页面。

 

这个逃脱已被EndPage取代,该结束一页。与NEWFRAME不同,打印页面后始终会调用EndPage.

NEXTBAND

通知打印机应用程序已完成写入频带。

 

乐队信息不再使用。

SETABORTPROC

设置打印作业的中止功能。

 

这个逃脱已被SetAbortProc所取代。

SETCOPYCOUNT

设置份数。

 

这个逃脱已被DocumentPropertiesPrinterProperties取代。

STARTDOC

通知打印机驱动程序新的打印作业正在启动。

 

这个逃脱已经被StartDoc取代了。

 

此外,StartPage??功能用于准备打印机驱动程序接收数据。

 

引用文件 #INCLUDE Once

 

WinGdi.inc(包括Windows.inc)