GetJob 函式

GetJob函式會擷取指定之列印工作的相關資訊。

語法

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

參數

hPrinter [in]

擷取列印工作資料的印表機控制碼。 使用 OpenPrinterAddPrinter 函式來擷取印表機控制碼。

JobId [in]

識別要擷取資料的列印工作。 使用 AddJob 函式或 StartDoc 函式來取得列印工作識別碼。

層級 [in]

pJob緩衝區中傳回的資訊類型。 如果 Level 為 1, pJob 會收到 JOB_INFO_1 結構。 如果 Level 為 2, pJob 會收到 JOB_INFO_2 結構。

pJob [out]

接收 JOB_INFO_1 或包含作業相關資訊 之JOB_INFO_2 結構的緩衝區指標。 緩衝區必須夠大,才能儲存結構成員所指向的字串。

若要判斷所需的緩衝區大小,請使用cbBuf設定為零呼叫GetJobGetJob 失敗, GetLastError 會傳回ERROR_INSUFFICIENT_BUFFER,而 ERROR_INSUFFICIENT_BUFFER參數 會傳回保留結構陣列及其資料所需的緩衝區大小,以位元組為單位。

cbBuf [in]

陣列的大小,以位元組為單位。

azureNeeded [out]

值的指標,指定函式成功時所複製的位元組數目,或 cbBuf 太小時所需的位元組數目。

傳回值

如果函式成功,則傳回值是非零值。

如果此函式失敗,則傳回值為零。

備註

注意

這是封鎖或同步函式,可能不會立即傳回。 此函式傳回的速度取決於執行時間因素,例如網路狀態、列印伺服器組態,以及難以在撰寫應用程式時預測的印表機驅動程式實作因素。 從管理與使用者介面互動的執行緒呼叫此函式,可能會讓應用程式看起來沒有回應。

規格需求

需求
最低支援的用戶端
Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器
Windows 2000 Server [僅限傳統型應用程式]
標頭
Winspool.h (包含 Windows.h)
程式庫
Winspool.lib
DLL
Winspool.drv
Unicode 與 ANSI 名稱
GetJobW (Unicode) 和 GetJobA (ANSI)

另請參閱

列印

列印多工緩衝處理器 API 函式

AddJob

JOB_INFO_1

JOB_INFO_2

ScheduleJob

SetJob