다음을 통해 공유


PTGetPrintCapabilities 함수(prntvpt.h)

XML 인쇄 스키마에 따라 서식이 지정된 프린터의 기능을 검색합니다.

구문

HRESULT PTGetPrintCapabilities(
  [in]  HPTPROVIDER hProvider,
  [in]  IStream     *pPrintTicket,
        IStream     *pCapabilities,
  [out] BSTR        *pbstrErrorMessage
);

매개 변수

[in] hProvider

인쇄 기능을 검색할 열린 공급자에 대한 핸들입니다. 이 핸들은 PTOpenProvider 또는 PTOpenProviderEx 함수에 의해 반환됩니다.

[in] pPrintTicket

인쇄 티켓 콘텐츠의 시작 부분에 검색 위치가 있는 스트림에 대한 포인터입니다. 이 매개 변수는 NULL일 수 있습니다.

pCapabilities

현재 검색 위치에서 시작하여 인쇄 기능이 기록될 스트림에 대한 포인터입니다.

[out] pbstrErrorMessage

pPrintTicket에 대해 잘못된 항목(있는 경우)을 지정하는 문자열에 대한 포인터입니다. 유효한 경우 이 값은 NULL입니다.

반환 값

작업이 성공하면 반환 값이 S_OK.

hProvider가 다른 스레드에서 열린 경우 HRESULT는 E_INVALIDARG.

pPrintTicket인쇄 스키마를 준수하지 않으면 HRESULT가 E_PRINTTICKET_FORMAT.

pCapabilities인쇄 스키마를 준수하지 않으면 HRESULT가 E_PRINTCAPABILITIES_FORMAT.

hProvider가 다른 스레드에서 열린 경우 HRESULT는 E_INVALIDARG.

그렇지 않으면 HRESULT에 다른 오류 코드가 반환됩니다. COM 오류 코드에 관한 자세한 내용은 오류 처리를 참조하세요.

설명

참고 이는 차단 또는 동기 함수이며 즉시 반환되지 않을 수 있습니다. 이 함수가 얼마나 빨리 반환되는지는 네트워크 상태, 인쇄 서버 구성 및 프린터 드라이버 구현과 같은 런타임 요인(애플리케이션을 작성할 때 예측하기 어려운 요소)에 따라 달라집니다. 사용자 인터페이스와의 상호 작용을 관리하는 스레드에서 이 함수를 호출하면 애플리케이션이 응답하지 않는 것처럼 보일 수 있습니다.
 
hProvider 는 이 함수에 사용되는 스레드와 동일한 스레드에서 열린 핸들이어야 합니다.

프린터 드라이버는 pPrintTicket 값(값이 NULL이 아닌 경우)을 사용하여 드라이버가 현재 설정에 따라 달라지는 프린터 기능을 생성할 때 설정을 만듭니다.

함수가 반환되면 pPrintTicket 의 검색 위치는 인쇄 티켓 콘텐츠의 끝에 있고 pCapabilities 의 검색 위치는 스트림의 끝에 있습니다. 호출자가 CreateStreamOnHGlobal에서 만든 스트림과 같은 pCapabilities에 메모리 스트림을 사용하는 경우 호출자는 데이터를 읽기 전에 검색 위치를 다시 설정할 책임이 있습니다.

함수가 반환되면 pbstrErrorMessageNULL 이 아니면 호출자는 SysFreeString을 사용하여 문자열을 해제해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 prntvpt.h
라이브러리 Prntvpt.lib
DLL Prntvpt.dll

추가 정보

인쇄 스키마

인쇄 스풀러 API 함수

인쇄