GetJob function

The GetJob function retrieves information about a specified print job.


BOOL GetJob(
  _In_  HANDLE  hPrinter,
  _In_  DWORD   JobId,
  _In_  DWORD   Level,
  _Out_ LPBYTE  pJob,
  _In_  DWORD   cbBuf,
  _Out_ LPDWORD pcbNeeded


hPrinter [in]

A handle to the printer for which the print-job data is retrieved. Use the OpenPrinter or AddPrinter function to retrieve a printer handle.

JobId [in]

Identifies the print job for which to retrieve data. Use the AddJob function or StartDoc function to get a print job identifier.

Level [in]

The type of information returned in the pJob buffer. If Level is 1, pJob receives a JOB_INFO_1 structure. If Level is 2, pJob receives a JOB_INFO_2 structure.

pJob [out]

A pointer to a buffer that receives a JOB_INFO_1 or a JOB_INFO_2 structure containing information about the job. The buffer must be large enough to store the strings pointed to by the structure members.

To determine the required buffer size, call GetJob with cbBuf set to zero. GetJob fails, GetLastError returns ERROR_INSUFFICIENT_BUFFER, and the pcbNeeded parameter returns the size, in bytes, of the buffer required to hold the array of structures and their data.

cbBuf [in]

The size, in bytes, of the array.

pcbNeeded [out]

A pointer to a value that specifies the number of bytes copied if the function succeeds or the number of bytes required if cbBuf is too small.

Return value

If the function succeeds, the return value is a nonzero value.

If the function fails, the return value is zero.



This is a blocking or synchronous function and might not return immediately. How quickly this function returns depends on run-time factors such as network status, print server configuration, and printer driver implementation factors that are difficult to predict when writing an application. Calling this function from a thread that manages interaction with the user interface could make the application appear to be unresponsive.


Requirement Value
Minimum supported client
Windows 2000 Professional [desktop apps only]
Minimum supported server
Windows 2000 Server [desktop apps only]
Winspool.h (include Windows.h)
Unicode and ANSI names
GetJobW (Unicode) and GetJobA (ANSI)

See also


Print Spooler API Functions