平台 SDK: Windows GDI

ExtEscape

ExtEscape函数使应用程序能够访问通过GDI无法使用的特定设备的功能。

int ExtEscape(
  HDC hdc,            // 设备上下文句柄
  int nEscape,        // 转义函数 
  int cbInput,        // 输入结构尺寸
  LPCSTR lpszInData,  // 输入结构
  int cbOutput,       // 输出结构尺寸
  LPSTR lpszOutData   // 输出结构
);

参数

  • hdc

  • [in] 设备上下文句柄。

  • nEscape

  • [in] 指定要执行的转义功能。 它可以是以下之一,也可以是应用程序定义的转义函数。

    ValueMeaning
    CHECKJPEGFORMATWindows 2000/XP: 检查打印机是否支持JPEG图像。
    CHECKPNGFORMATWindows 2000/XP: 检查打印机是否支持PNG图像。
    DRAWPATTERNRECT画一个白色,灰色或黑色矩形。
    GET_PS_FEATURESETTINGWindows 2000/XP: 获取有关PostScript驱动程序的指定功能设置的信息。
    PASSTHROUGH允许应用程序直接将数据发送到打印机。 以兼容模式和GDI为中心模式支持。
    POSTSCRIPT_DATA允许应用程序直接将数据发送到打印机。 仅在兼容模式下支持。
    POSTSCRIPT_IDENTIFYWindows 2000/XP: PostScript驱动程序设置为以GDI为中心或以PostScript为中心的模式。
    POSTSCRIPT_INJECTIONWindows 2000/XP: PostScript作业流中插入一组原始数据。
    POSTSCRIPT_PASSTHROUGHWindows 2000/XP: 将数据直接发送到PostScript打印机驱动程序。 以兼容模式和PS为中心模式支持。
    QUERYESCSUPPORT确定设备驱动程序是否实现特定的转义。
    SPCLPASSTHROUGH2Windows 2000/XP: 允许应用程序在文档级别保存上下文中包含私有过程和其他资源。


  • cbInput

  • [in] 指定lpszInData参数指向的数据的字节数。

  • lpszInData

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

  • cbOutput

  • [in] 指定lpszOutData参数指向的数据的字节数。

  • lpszOutData

  • [out] 指向从该转义中输出的结构的指针。 如果调用ExtEscape作为查询函数,则此参数不能为NULL。 如果在此结构中没有返回任何数据,请将cbOutput设置为0。

返回值

返回值指定函数的结果。 如果功能成功,则大于零,但QUERYESCSUPPORT打印机转义除外,仅检查实现。 如果未实现转义,返回值为零。 小于零的返回值表示错误。

Windows NT/2000/XP: 要获取扩展错误信息,请调用GetLastError。

备注


使用此功能将驱动程序定义的转义值传递给设备。

使用Escape功能将系统定义的转义值之一传递给设备,除非转义是nEscape中定义的转义之一。 ExtEscape可能无法正常使用系统定义的转义。 特别是,其中lpszInData是指向包含作为指针的成员的结构的指针的转义将失败。

示例代码


有关示例,请参阅 调整JPEG或PNG图像的大小。

要求

   Windows NT / 2000 / XP:包含在Windows NT 3.1及更高版本中。

   Windows 95/98 / Me:包含在Windows 95及更高版本中。

   头文件:声明于Wingdi.h; 包含于Windows.h。

   库:使用Gdi32.lib。