IPrint::P rint 메서드(docobj.h)
지정한 작업 요구 사항을 사용하여 지정된 프린터에 개체를 인쇄합니다.
구문
HRESULT Print(
[in] DWORD grfFlags,
[in, out] DVTARGETDEVICE **pptd,
[in, out] PAGESET **ppPageSet,
[in, out] STGMEDIUM *pstgmOptions,
[in] IContinueCallback *pcallback,
[in] LONG nFirstPage,
[out] LONG *pcPagesPrinted,
[out] LONG *pnLastPage
);
매개 변수
[in] grfFlags
PRINTFLAG 열거형의 인쇄 옵션을 지정하는 비트 필드입니다.
PRINTFLAG_MAYBOTHERUSER (1)
PRINTFLAG_PROMPTUSER (2)
PRINTFLAG_USERMAYCHANGEPRINTER (4)
PRINTFLAG_RECOMPOSETODEVICE (8)
PRINTFLAG_DONTACTUALLYPRINT (16)
PRINTFLAG_FORCEPROPERTIES (32)
PRINTFLAG_PRINTTOFILE (64)
[in, out] pptd
대상 인쇄 디바이스를 설명하는 DVTARGETDEVICE 구조체에 대한 포인터입니다.
[in, out] ppPageSet
인쇄할 페이지를 나타내는 구조체에 대한 포인터를 수신하는 PAGESET 포인터 변수에 대한 포인터입니다.
[in, out] pstgmOptions
직렬화된 OLE 속성 집합의 개체별 인쇄 옵션에 대한 포인터입니다. 이 매개 변수는 입력 또는 반환에서 NULL 일 수 있습니다.
[in] pcallback
보기 사이트의 IContinueCallback 인터페이스에 대한 포인터로, 인쇄를 중단해야 하는지 여부를 결정하기 위해 사람 응답 속도로 주기적으로 폴링됩니다. 이 매개 변수는 NULL일 수 있습니다.
[in] nFirstPage
인쇄할 첫 번째 페이지의 페이지 번호입니다. 이 값은 이전에 IPrint::SetInitialPageNum에 전달된 모든 값을 재정의합니다.
[out] pcPagesPrinted
성공적으로 인쇄된 실제 페이지 수를 수신하는 변수에 대한 포인터입니다.
[out] pnLastPage
인쇄된 마지막 페이지의 페이지 번호를 받는 변수에 대한 포인터입니다.
반환 값
이 메서드는 E_UNEXPECTED 표준 반환 값과 다음 값을 반환할 수 있습니다.
반환 코드 | Description |
---|---|
|
메서드가 완료되었습니다. |
|
인쇄 프로세스가 완료되기 전에 취소되었습니다. *pcPagesPrinted는 이 오류가 발생하기 전에 실제로 성공적으로 인쇄된 페이지 수를 나타냅니다. |
|
**ppPageSet 또는 nFirstPage 에 지정된 페이지가 없습니다. |
설명
개체를 인쇄할 프린터는 pptd가 가리키는 DVTARGETDEVICE 구조체로 표시됩니다. 대상 디바이스의 DEVMODE 구조는 복사본 수, 용지 크기 및 인쇄 품질과 같은 전체 작업 프린터 관련 옵션을 나타냅니다. DEVMODE 구조체에는 dmOrientation 멤버의 방향 정보도 포함될 수 있습니다(dmFields 멤버에 표시됨). 있는 경우 이 용지 방향을 사용해야 합니다. 없는 경우 개체 콘텐츠에 의해 결정되는 자연 방향을 사용합니다.
사용자 입력의 가능성으로 인해 pptd 및 ppPageSet 매개 변수는 모두 [in,out] 구조입니다. 사용자 상호 작용이 없는 경우(즉, PRINTFLAG_PROMPTUSER 플래그가 설정되지 않은 경우) 대상 디바이스와 페이지 집합은 입력 및 출력에 대해 반드시 동일합니다. 그러나 사용자에게 인쇄 옵션을 묻는 메시지가 표시되면 개체는 사용자가 실제로 선택한 항목에 적합한 대상 디바이스 및 페이지 집합 정보를 반환합니다.
pstgmOptions 매개 변수도 [in,out]입니다. 종료 시 개체는 *pstgmOptions 에 이 정확한 인쇄 작업을 재현하는 데 필요한 개체별 정보를 기록해야 합니다. 예를 들어 사용자가 스프레드시트 애플리케이션에서 "시트, 메모 또는 둘 다"를 선택했는지 여부가 포함될 수 있습니다. 전달된 데이터는 직렬화된 속성 집합의 형식입니다. 데이터는 일반적으로 동일한 개체에 대한 후속 호출에서 다시 전달되는 경우에만 유용합니다. 후속 호출은 다른 사용자 상호 작용 플래그, 대상 디바이스 또는 기타 설정을 지정할 수 있으므로 호출자는 약간 다른 인쇄 컨텍스트에서 동일한 방식으로 문서를 여러 번 인쇄할 수 있습니다.
요구 사항
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | docobj.h |