MXDC_S0PAGE_RESOURCE_ESCAPE_T structure

The MXDC_S0PAGE_RESOURCE_ESCAPE_T structure is an MXDC_ESCAPE_HEADER_T structure concatenated with an MXDC_XPS_S0PAGE_RESOURCE_T structure.

Syntax

typedef struct tagMxdcS0PageResourceEscape {
  MXDC_ESCAPE_HEADER_T       mxdcEscape;
  MXDC_XPS_S0PAGE_RESOURCE_T xpsS0PageResourcePassthrough;
} MXDC_S0PAGE_RESOURCE_ESCAPE_T, *P_MXDC_S0PAGE_RESOURCE_ESCAPE_T;

Members

mxdcEscape

An MXDC_ESCAPE_HEADER_T structure with its opCode member set to MXDCOP_SET_S0PAGE_RESOURCE.

xpsS0PageResourcePassthrough

An MXDC_XPS_S0PAGE_RESOURCE_T structure representing a resource, such as a font or image file, on an XPS document page.

Remarks

This structure is passed in the lpszInData parameter of the ExtEscape function when that function is called with the MXDC_ESCAPE escape, and the opCode member of the MXDC_ESCAPE_HEADER_T structure is MXDCOP_SET_S0PAGE_RESOURCE. The result is a page resource to send to the MXDC.

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_RESOURCE_ESCAPE_T) + 
                        iS0PageResourceDataSize - 1;

// Allocate the memory buffer.
P_MXDC_S0PAGE_RESOURCE_ESCAPE_T pS0PageResourceEscapeData = 
                        (P_MXDC_S0PAGE_RESOURCE_ESCAPE_T)HeapAlloc(
                            GetProcessHeap(),
                            0,
                            iTotalDataSize);

The call to ExtEscape must be between a call to StartPage and a call to EndPage; however, there can be more than one of these calls between the calls to StartPage and EndPage.

Streaming consumption is more efficient if you call ExtEscape with the MXDCOP_SET_S0PAGE_RESOURCE opCode for each resource on the page before you call ExtEscape with the MXDCOP_SET_S0PAGE opCode.

Requirements

Requirement Value
Minimum supported client
Windows Vista [desktop apps only]
Minimum supported server
Windows Server 2008 [desktop apps only]
Header
Mxdc.h

See also

Printing

Print Spooler API Structures

GDI Printer Escape Functions

ExtEscape

MXDC_ESCAPE