MXDC_ESCAPE_HEADER_T 구조체

MXDC_ESCAPE_HEADER_T 구조체는 nEscape 매개 변수로 MXDC_ESCAPEExtEscape 호출에 대한 작업 코드를 보유합니다. 또한 입력 및 출력 버퍼의 크기를 제공합니다.

구문

typedef struct tagMxdcEscapeHeader {
  ULONG cbInput;
  ULONG cbOutput;
  ULONG opCode;
} MXDC_ESCAPE_HEADER_T, *P_MXDC_ESCAPE_HEADER_T;

멤버

cbInput

ExtEscape 함수의 lpszOutData 매개 변수에 전달될 입력 버퍼의 크기입니다.

cbOutput

출력 버퍼의 크기입니다. ExtEscape 함수의 cbOutput 매개 변수와 동일한 값입니다.

Opcode

MXDC에 수행할 작업을 알려주는 코드 상수입니다.

작업 코드 Description
MXDCOP_GET_FILENAME ExtEscape 함수의 lpszOutData 매개 변수에서 출력 파일의 전체 경로를 0으로 끝나는 문자열로 반환하거나 해당 문자열의 크기를 반환합니다. 설명 부분을 참조하세요.
MXDCOP_PRINTTICKET_FIXED_DOC_SEQ 인쇄 티켓을 XPS 고정 문서 시퀀스와 연결합니다.
MXDCOP_PRINTTICKET_FIXED_DOC 인쇄 티켓을 XPS 문서와 연결합니다.
MXDCOP_PRINTTICKET_FIXED_PAGE 인쇄 티켓을 XPS 페이지와 연결합니다.
MXDCOP_SET_S0PAGE 현재 페이지의 XPS 태그를 출력으로 보냅니다.
MXDCOP_SET_S0PAGE_RESOURCE 이미지 또는 글꼴과 같은 페이지의 리소스를 출력으로 보냅니다.
MXDCOP_SET_XPSPASSTHRU_MODE MXDC를 통과 상태로 전환하여 애플리케이션이 MXDC에서 처리하지 않고 출력 파일에 직접 XPS를 쓸 수 있도록 합니다. 전체 문서 또는 문서 시퀀스를 이러한 방식으로 작성할 수 있습니다.

설명

MXDC_ESCAPE 호출하기 전에 먼저 _applications GETTECHNOLOGY 이스케이프를 사용하여 ExtEscape를 호출하여 드라이버가 MXDC인지 확인해야 합니다. 드라이버가 MXDC인 경우 함수는 0으로 끝나는 문자열 "http://schemas.microsoft.com/xps/2005/06"을 반환합니다.

이 구조는 항상 lpszInData 매개 변수의 ExtEscape 함수에 전달되는 데이터의 시작 부분에 있습니다.

opCode가 MXDCOP_GET_FILENAME 경우:

  • ExtEscape 함수의 lpszInData 매개 변수는 MXDC_ESCAPE_HEADER_T 구조로만 구성됩니다.
  • ExtEscape를 두 번 호출하여 출력 파일 이름을 가져옵니다.
    1. 처음으로 ExtEscapecbOutput 매개 변수에 4를 전달합니다. 할당된 4바이트 메모리를 가리키도록 lpszOutData 매개 변수를 설정합니다. 정규화된 파일 경로의 크기는 ExtEscapelpszOutData 매개 변수에 반환됩니다.
    2. 그런 다음 함수를 다시 호출합니다. 이번에는 cbOutputcbInput 을 모두 4+ DataSize로 설정합니다. 정규화된 파일 경로는 MxdcGetFileNameData 구조로 반환됩니다.

opCode가 MXDCOP_PRINTTICKET_FIXED_DOC_SEQ 또는 MXDCOP_PRINTTICKET_FIXED_DOC 경우:

opCode가 MXDCOP_PRINTTICKET_FIXED_PAGE 경우:

opCode가 MXDCOP_SET_S0PAGE 경우:

  • ExtEscape 함수의 lpszInData 매개 변수는 MXDC_ESCAPE_HEADER_T 구조체와 MxdcS0PageData 구조체가 MxdcS0PagePassthroughEscape 구조체에 연결되어 있습니다.
  • StartPage 호출과 EndPage 호출 사이에 ExtEscape 호출 이 발생해야 합니다.
  • 호출 애플리케이션은 XML의 유효성을 검사합니다.
  • MXDCOP_SET_S0PAGE 사용하여 호출하기 전에 페이지의 각 리소스에 대한 opCode로 MXDCOP_SET_S0PAGE_RESOURCE 사용하여 ExtEscape를 호출하는 경우 스트리밍 소비가 더 효율적입니다.

opCode가 MXDCOP_SET_S0PAGE_RESOURCE 경우:

opCode가 MXDCOP_SET_XPSPASSTHRU_MODE 경우:

  • ExtEscape 함수의 lpszInData 매개 변수는 MXDC_ESCAPE_HEADER_T 구조로만 구성됩니다.
  • 이 호출은 StartDoc를 호출하기 전에 발생해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버
Windows Server 2008 [데스크톱 앱만 해당]
헤더
Mxdc.h

참고 항목

인쇄

스풀러 API 구조 인쇄

GDI 프린터 이스케이프 함수

ExtEscape

MXDC_ESCAPE