IPrintOemUni2::WritePrinter 메서드(prcomoem.h)

IPrintOemUni2::WritePrinter 지원되는 경우 메서드를 사용하면 렌더링 플러그 인이 Unidrv 드라이버에서 생성된 모든 출력 데이터를 캡처할 수 있습니다. 이 메서드가 지원되지 않으면 출력 데이터가 스풀러의 WritePrinter API 호출에서 스풀러로 전송됩니다(Microsoft Windows SDK 설명서에 설명됨).

구문

HRESULT WritePrinter(
  PDEVOBJ pdevobj,
  PVOID   pBuf,
  DWORD   cbBuffer,
  PDWORD  pcbWritten
);

매개 변수

pdevobj

DEVOBJ 구조체에 대한 포인터입니다.

pBuf

Unidrv 드라이버에서 생성된 출력 데이터를 포함하는 바이트 배열의 첫 번째 바이트에 대한 포인터입니다.

cbBuffer

pBuf가 가리키는 배열의 크기(바이트)를 지정합니다.

pcbWritten

플러그 인에 성공적으로 전송된 데이터 바이트 수를 수신하는 DWORD 값에 대한 포인터입니다.

반환 값

성공하면 이 메서드는 S_OK 반환합니다. 그렇지 않으면 이 메서드는 반환된 HRESULT에 적절한 값을 반환해야 합니다.

설명

DrvEnablePDEV 시간에 Unidrv 드라이버는 pBufpdevobjNULL로 설정되고 cbBuf가 0으로 설정된 이 메서드를 호출하여 플러그 인이 이 함수를 구현하는지 여부를 검색합니다. 플러그 인은 이 메서드를 구현함을 나타내기 위해 S_OK 반환해야 하며, 그렇지 않으면 E_NOTIMPL 반환해야 합니다.

이 메서드는 pcbWritten에서 스풀러의 WritePrinter 함수에 기록된 바이트 수를 보고해야 합니다. 값이 0이면 특별한 의미가 없습니다. 반환된 HRESULT를 통해 오류를 보고해야 합니다.

메서드는 IPrintOemUni2::WritePrinter 선택 사항입니다. 렌더링 플러그 인이 이 메서드를 구현하는 경우 플러그 인의 IPrintOemUni::GetImplementedMethod 메서드는 "WritePrinter"를 입력으로 수신할 때 S_OK 반환해야 합니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 prcomoem.h(Prcomoem.h 포함)