Export (0) Print
Expand All

POSTSCRIPT_IDENTIFY Printer Escape function

The POSTSCRIPT_IDENTIFY printer escape function sets a PostScript driver to GDI-centric mode or PostScript-centric mode.

To perform this operation, call the ExtEscape function with the following parameters.


int ExtEscape(
  _In_   HDC hdc,
  _In_   int nEscape,
  _In_   int cbInput,
  _In_   LPCSTR lpszInData,
  _In_   int cbOutput,
  _Out_  LPSTR lpszOutData


hdc [in]

A handle to the printer device context.

nEscape [in]

The escape function to be performed.


Sets a PostScript driver to GDI-centric or PostScript-centric mode.


cbInput [in]

The number of bytes of data pointed to by the lpszInData parameter.

For this escape, set this value to sizeof ( DWORD ).

lpszInData [in]

A pointer to the input structure required for the specified escape.


GDI-centric mode. Specify this value if the PostScript driver supports the PASSTHROUGH printer escape function, but not the POSTSCRIPT_PASSTHROUGH printer escape function.


PostScript-centric mode. Specify this value if the PostScript driver supports the POSTSCRIPT_PASSTHROUGH printer escape function, but not the PASSTHROUGH printer escape function.


cbOutput [in]

The number of bytes of data pointed to by the lpszOutData parameter.

For this printer escape function, the value of this parameter is 0.

lpszOutData [out]

A pointer to the structure that receives output from this escape.

For this printer escape function, the value of the parameter is NULL.

Return value

The return value is greater than zero if the function is successful and less than zero if not. A return value of zero indicates that the printer does not support this escape.


To put the driver in GDI-centric or PostScript-centric modes, first call the QUERYESCSUPPORT printer escape function to determine whether the driver supports the POSTSCRIPT_IDENTIFY printer escape function. If so, you can assume the driver is PSCRIPT 5.0. Then, before you call any other printer escape function, you must call POSTSCRIPT_IDENTIFY and specify either PSIDENT_GDICENTRIC or PSIDENT_PSCENTRIC. You must call the QUERYESCSUPPORT and POSTSCRIPT_IDENTIFY printer escape functions before calling any other printer escape function.

Note  After the PostScript driver is set to GDI-centric mode or PostScript-centric mode, you will not be allowed to call the POSTSCRIPT_IDENTIFY printer escape function anymore.

If you do not use the POSTSCRIPT_IDENTIFY printer escape function, the PostScript driver is in compatibility mode and provides identical support for the PASSTHROUGH, POSTSCRIPT_PASSTHROUGH, and POSTSCRIPT_DATA printer escape functions.

For PostScript drivers that support the POSTSCRIPT_PASSTHROUGH, PASSTHROUGH, and POSTSCRIPT_PASSTHROUGH printer escape functions are identical.

In PostScript-centric mode, the application is responsible for all PostScript output that marks the paper using the POSTSCRIPT_PASSTHROUGH escape function. GDI functions are not allowed. The driver is responsible for the overall document structure and printer control settings. The application can use the POSTSCRIPT_INJECTION printer escape function to inject a block of raw data (including DSC comments) into the job stream at specific places.


Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]


Wingdi.h (include Windows.h)



See also

GDI Printer Escape Functions



Community Additions

© 2014 Microsoft