MXDC_S0PAGE_PASSTHROUGH_ESCAPE_T structure
The MXDC_S0PAGE_PASSTHROUGH_ESCAPE_T structure is an MXDC_ESCAPE_HEADER_T structure concatenated with an MXDC_S0PAGE_DATA_T structure.
Syntax
typedef struct tagMxdcS0PagePassthroughEscape {
MXDC_ESCAPE_HEADER_T mxdcEscape;
MXDC_S0PAGE_DATA_T xpsS0PageData;
} MXDC_S0PAGE_PASSTHROUGH_ESCAPE_T, *P_MXDC_S0PAGE_PASSTHROUGH_ESCAPE_T;
Members
-
mxdcEscape
-
An MXDC_ESCAPE_HEADER_T structure with its opCode member set to MXDCOP_SET_S0PAGE.
-
xpsS0PageData
-
An MxdcS0PageData structure that represents an XPS-document page.
Remarks
This structure is passed in the lpszInData parameter of the ExtEscape function when it is called with the MXDC_ESCAPE escape and the opCode member of the MXDC_ESCAPE_HEADER_T structure is MXDCOP_SET_S0PAGE. The result is that the Microsoft XML Document Converter (MXDC) passes the page through to the printer without processing it.
Allocate memory for the escape as shown below, set the fields as needed, and then call ExtEscape.
// Compute size of buffer required adding the
// size of the escape structure to the size
// of the resource data buffer.
SIZE_T iTotalDataSize = sizeof(MXDC_S0PAGE_PASSTHROUGH_ESCAPE_T) +
iS0PageDataSize - 1;
// Allocate the memory buffer.
P_MXDC_S0PAGE_PASSTHROUGH_ESCAPE_T pS0PageEscapeData =
(P_MXDC_S0PAGE_PASSTHROUGH_ESCAPE_T)HeapAlloc(
GetProcessHeap(),
0,
iTotalDataSize);
The call to ExtEscape must be between a call to StartPage and a call to EndPage.
The calling application is responsible for validating the XML of the XPS document page.
Streaming consumption is more efficient if you call ExtEscape with MXDCOP_SET_S0PAGE_RESOURCE as opCode for each resource on the page before you call it with MXDCOP_SET_S0PAGE.
Requirements
Requirement | Value |
---|---|
Minimum supported client |
Windows Vista [desktop apps only] |
Minimum supported server |
Windows Server 2008 [desktop apps only] |
Header |
|