Функция GetJob

Функция GetJob извлекает сведения об указанном задании печати.

Синтаксис

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

Параметры

hPrinter [in]

Дескриптор принтера, для которого извлекаются данные задания печати. Используйте функцию OpenPrinter или AddPrinter для получения дескриптора принтера.

JobId [in]

Определяет задание печати, для которого требуется извлечь данные. Используйте функцию AddJob или функцию StartDoc , чтобы получить идентификатор задания печати.

Level [in]

Тип сведений, возвращаемых в буфере pJob . Если уровень равен 1, pJob получает JOB_INFO_1 структуру. Если уровень равен 2, pJob получает JOB_INFO_2 структуру.

pJob [out]

Указатель на буфер, который получает JOB_INFO_1 или структуру JOB_INFO_2 , содержащую сведения о задании. Буфер должен быть достаточно большим для хранения строк, на которые указывают члены структуры.

Чтобы определить требуемый размер буфера, вызовите Метод GetJob с параметром cbBuf , равным нулю. GetJob завершается сбоем , GetLastError возвращает ERROR_INSUFFICIENT_BUFFER, а параметр pcbNeeded — размер буфера, необходимого для хранения массива структур и их данных, в байтах.

cbBuf [in]

Размер массива в байтах.

pcbNeeded [ out]

Указатель на значение, указывающее количество байтов, скопированных при успешном выполнении функции, или количество байтов, необходимое, если cbBuf слишком мал.

Возвращаемое значение

Если функция выполняется успешно, возвращаемое значение будет ненулевым.

Если функция выполняется неудачно, возвращается нулевое значение.

Комментарии

Примечание

Это блокирующая или синхронная функция, возвращаемая не сразу. Скорость возврата этой функции зависит от факторов времени выполнения, таких как состояние сети, конфигурация сервера печати и факторы реализации драйвера принтера, которые трудно предсказать при написании приложения. Вызов этой функции из потока, который управляет взаимодействием с пользовательским интерфейсом, может привести к тому, что приложение не отвечает.

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Winspool.h (включая Windows.h)
Библиотека
Winspool.lib
DLL
Winspool.drv
Имя в кодировке Юникод и ANSI
GetJobW (Юникод) и GetJobA (ANSI)

См. также раздел

Вывод на печать

Функции API очереди печати принтера

AddJob

JOB_INFO_1

JOB_INFO_2

ScheduleJob

SetJob