PTConvertPrintTicketToDevMode 함수(prntvpt.h)
인쇄 티켓을 DEVMODE 구조체로 변환합니다.
구문
HRESULT PTConvertPrintTicketToDevMode(
[in] HPTPROVIDER hProvider,
[in] IStream *pPrintTicket,
EDefaultDevmodeType baseDevmodeType,
[in] EPrintTicketScope scope,
[out] ULONG *pcbDevmode,
[out] PDEVMODE *ppDevmode,
[out] BSTR *pbstrErrorMessage
);
매개 변수
[in] hProvider
열린 인쇄 티켓 공급자에 대한 핸들입니다. 이 핸들은 PTOpenProvider 또는 PTOpenProviderEx 함수에 의해 반환됩니다.
[in] pPrintTicket
인쇄 티켓의 시작 부분에 검색 위치가 있는 IStream 에 대한 포인터입니다.
baseDevmodeType
pPrintTicket에서 DEVMODE에 대해 가능한 모든 설정을 지정하지 않는 경우 사용자의 기본 DEVMODE 또는 인쇄 큐의 기본 DEVMODE가 출력 DEVMODE에 값을 제공하는 데 사용되는지 여부를 나타내는 값입니다.
[in] scope
pPrintTicket의 scope 지정하는 값입니다. 이 값은 인쇄 작업의 단일 페이지, 전체 문서 또는 모든 문서를 지정할 수 있습니다. 지정된 scope 외부에 있는 pPrintTicket의 설정은 무시됩니다. 설명 부분을 참조하세요.
[out] pcbDevmode
DEVMODE의 크기에 대한 포인터(바이트)입니다.
[out] ppDevmode
새로 만든 DEVMODE에 대한 포인터입니다.
[out] pbstrErrorMessage
pPrintTicket에 대해 잘못된 항목(있는 경우)을 지정하는 문자열에 대한 포인터입니다. 유효한 경우 NULL입니다.
반환 값
작업이 성공하면 반환 값이 S_OK.
hProvider가 다른 스레드에서 열린 경우 HRESULT는 E_INVALIDARG.
pPrintTicket가 유효하지 않으면 HRESULT가 E_PRINTTICKET_FORMAT.
그렇지 않으면 HRESULT에 다른 오류 코드가 반환됩니다. COM 오류 코드에 관한 자세한 내용은 오류 처리를 참조하세요.
설명
baseDevmodeType이 kUserDefaultDevmode이지만 사용자의 기본값을 사용할 수 없는 경우 디바이스의 기본값이 사용됩니다.
반환된 DEVMODE 는 내부적으로 일관성이 없거나 하드 프린터 설정과 충돌할 수 있습니다. 예를 들어 프린터가 선택적 이중을 지원하지만 pPrintTicket 가 이중을 호출하는 경우 반환된 DEVMODE 는 이중체가 설치되지 않은 경우에도 이중을 호출합니다. DocumentProperties를 사용하여 반환된 DEVMODE를 수정합니다.
반환된 ppDevmode 의 버퍼는 PTReleaseMemory와 함께 해제되어야 합니다.
scope 외부에 있는 pPrintTicket의 값은 무시됩니다. 예를 들어 scope 단일 페이지일 경우 작업 전체 설정 및 문서 수준 설정은 무시됩니다. 작업 scope 문서 scope 및 페이지 scope 포함됩니다. 문서 scope 페이지 scope 포함됩니다.
함수가 반환되면 pbstrErrorMessage 가 NULL 이 아니면 호출자는 SysFreeString을 사용하여 문자열을 해제해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | prntvpt.h |
라이브러리 | Prntvpt.lib |
DLL | Prntvpt.dll |