다음을 통해 공유


AddJob 함수

AddJob 함수는 인쇄 스풀러에서 예약할 수 있는 인쇄 작업 목록에 인쇄 작업을 추가합니다. 함수는 작업을 저장하는 데 사용할 수 있는 파일의 이름을 검색합니다.

참고

Windows 8 이상 운영 체제에서는 파일: 또는 PORTPROMPT:를 사용하여 큐에 인쇄하는 등의 경우가 있으므로 AddJob을 직접 사용하지 않는 것이 좋습니다. 여기서 AddJob이 실패합니다. 대신 인쇄 시나리오에 따라 Windows.Graphics.Printing 네임스페이스에서 GDI 인쇄 API, XPS 인쇄 API, StartDocPrinter 또는 적절한 메서드를 사용하는 것이 좋습니다.

파일: 또는 PORTPROMPT:를 사용하여 큐에 인쇄하려고 하면 AddJob에서 NOT_SUPPORTED 오류를 반환합니다.

구문

BOOL AddJob(
  _In_  HANDLE  hPrinter,
  _In_  DWORD   Level,
  _Out_ LPBYTE  pData,
  _In_  DWORD   cbBuf,
  _Out_ LPDWORD pcbNeeded
);

매개 변수

hPrinter [in]

인쇄 작업의 프린터를 지정하는 핸들입니다. 스풀 프린터로 구성된 로컬 프린터여야 합니다. hPrinter가 원격 프린터 연결에 대한 핸들이거나 프린터가 직접 인쇄하도록 구성된 경우 AddJob 함수가 실패합니다. OpenPrinter 또는 AddPrinter 함수를 사용하여 프린터 핸들을 검색합니다.

수준 [in]

함수가 pData가 가리키는 버퍼에 저장하는 인쇄 작업 정보 데이터 구조의 버전입니다. 이 매개 변수를 하나로 설정합니다.

pData [out]

ADDJOB_INFO_1 데이터 구조 및 경로 문자열을 수신하는 버퍼에 대한 포인터입니다.

cbBuf [in]

pData가 가리키는 버퍼의 크기(바이트)입니다. 버퍼는 ADDJOB_INFO_1 구조체와 경로 문자열을 포함할 수 있을 만큼 커야 합니다.

pcbNeeded [out]

ADDJOB_INFO_1 데이터 구조의 총 크기(바이트)와 경로 문자열을 받는 변수에 대한 포인터입니다. 이 값이 cbBuf 보다 작거나 같고 함수가 성공하면 pData가 가리키는 버퍼에 기록된 실제 바이트 수입니다. 이 숫자가 cbBuf보다 크면 버퍼가 너무 작으므로 버퍼 크기가 *pcbNeeded보다 큰 함수를 다시 호출해야 합니다.

반환 값

함수가 성공하면 반환 값은 0이 아닌 값입니다.

함수가 실패하면 반환 값은 0입니다.

설명

참고

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

CreateFile 함수를 호출하여 ADDJOB_INFO_1 구조체의 Path 멤버가 지정한 스풀 파일을 연 다음 WriteFile 함수를 호출하여 인쇄 작업 데이터를 작성할 수 있습니다. 이 작업이 완료되면 ScheduleJob 함수를 호출하여 인쇄 스풀러에서 인쇄 작업을 예약할 수 있음을 인쇄 스풀러에 알립니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버
Windows 2000 Server[데스크톱 앱만]
헤더
Winspool.h(Windows.h 포함)
라이브러리
Winspool.lib
DLL
Winspool.drv
유니코드 및 ANSI 이름
AddJobW (유니코드) 및 AddJobA (ANSI)

추가 정보

ADDJOB_INFO_1

CreateFile

GDI 인쇄 API

인쇄

인쇄 스풀러 API 함수

OpenPrinter

ScheduleJob

StartDocPrinter

Windows.Graphics.Printing

WriteFile

XPS 인쇄 API