MXDC_ESCAPE 함수

MXDC_ESCAPE 프린터 이스케이프 함수를 사용하면 응용 프로그램에서 MXDC(Microsoft XPS 문서 변환기)를 통해 XPS(XML Paper Specification) 형식의 파일 또는 프린터에 문서를 쓸 수 있습니다.

이 작업을 수행하려면 다음 매개 변수를 사용하여 ExtEscape 함수를 호출합니다.

구문

int MXDC_ESCAPE(
    hdc,
    cbInput,
    lpszInData,
    cbOutput,
    lpszOutData
);

매개 변수

Hdc

프린터 디바이스 컨텍스트에 대한 핸들입니다.

cbInput

lpszInData 매개 변수가 가리키는 데이터의 크기(바이트)입니다.

lpszInData

입력 데이터를 포함하는 버퍼에 대한 포인터로, 항상 다음 구조 중 하나에 저장됩니다.

**MxdcEscapeHeader**
**MxdcPrintTicketEscape**
**MxdcS0PagePassthroughEscape**
**MxdcS0PageResourceEscape**

이러한 각 구조에는 MXDC가 수행해야 하는 작업을 지정하는 opcode 멤버가 있습니다. 이러한 코드에 대한 자세한 설명은 MxdcEscapeHeader를 참조하세요.

작업 코드(opcode) 작업
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를 쓸 수 있도록 합니다. 전체 문서 또는 문서 시퀀스를 이러한 방식으로 작성할 수 있습니다.

cbOutput

lpszOutData 매개 변수가 가리키는 데이터의 크기(바이트)입니다.

lpszOutData

출력 데이터를 포함하는 버퍼에 대한 포인터입니다.

반환 값

함수가 성공하면 반환 값이 0보다 큽니다. 함수가 실패하거나 지원되지 않는 경우 반환 값은 0보다 작거나 같습니다.

설명

이 이스케이프는 MXDC 및 XPSDrv에서 지원되지만 GDI에서는 지원되지 않습니다.

프린터 드라이버가 MXDC인지 확인하려면 GETTECHNOLOGY 이스케이프를 사용하여 ExtEscape를 호출합니다. 드라이버가 MXDC인 경우 ExtEscape 는 0으로 끝나는 문자열 "http://schemas.microsoft.com/xps/2005/06"을 반환합니다. lpszOutData 매개 변수에서 참조하는 버퍼가 이 문자열을 보유할 만큼 충분히 큰지 확인합니다.

프린터 드라이버가 Windows 기본 제공 Microsoft XPS 문서 작성기 드라이버인지 확인하려면 프린터 드라이버가 MXDC인지 확인한 다음 프린터 드라이버의 이름이 "Microsoft XPS 문서 작성기"인지 확인합니다.

프린터 드라이버 이름을 얻으려면 다음 기술 중 하나를 사용합니다.

Level 매개 변수 값이 1로 설정된 GetPrinterDriver를 호출합니다. 프린터 드라이버 이름은 DRIVER_INFO_1 구조체의 pName 멤버에 반환됩니다.
또는
Level 매개 변수 값이 2로 설정된 GetPrinter를 호출합니다. 프린터 드라이버 이름은 PRINTER_INFO_2 구조체의 pDriverName 멤버에 반환됩니다.

다음 표에서는 XPS 파일에서 다양한 유형의 개체를 찾을 수 있는 위치를 보여 줍니다.

개체 출력 파일의 위치
고정 페이지 /Documents/1/Pages/Esc%d.fpage
미리 보기 /Documents/1/Metadata
인쇄 티켓 /Documents/1/Metadata
글꼴 /Documents/1/Resources/Fonts
이미지 /Documents/1/Resources/Images

요구 사항

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

추가 정보

인쇄

프린터 이스케이프 함수

ExtEscape