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]

データを取得する印刷ジョブを識別します。 印刷ジョブ ID を取得するには、 AddJob 関数または StartDoc 関数を使用します。

レベル [入力]

pJob バッファーで返される情報の種類。 Level が 1 の場合、pJobJOB_INFO_1構造体を受け取ります。 Level が 2 の場合、pJobJOB_INFO_2構造体を受け取ります。

pJob [out]

ジョブに関する情報を含む JOB_INFO_1 または JOB_INFO_2 構造体を受け取るバッファーへのポインター。 バッファーは、構造体メンバーが指す文字列を格納するのに十分な大きさにする必要があります。

必要なバッファー サイズを決定するには、cbBuf を 0 に設定して GetJob を呼び出します。 GetJob は失敗し、 GetLastError は ERROR_INSUFFICIENT_BUFFERを返し、 pcbNeeded パラメーターは構造体とそのデータの配列を保持するために必要なバッファーのサイズ (バイト単位) を返します。

cbBuf [in]

配列のサイズ (バイト単位)。

pcbNeededed [out]

関数が成功した場合にコピーされたバイト数、または cbBuf が小さすぎる場合に必要なバイト数を指定する値へのポインター。

戻り値

関数が成功した場合、戻り値は 0 以外の値です。

関数が失敗した場合は、0 を返します。

解説

Note

これはブロック関数または同期関数であり、すぐには返されない場合があります。 この関数が返す速度は、ネットワークの状態、プリント サーバーの構成、アプリケーションの記述時に予測が困難なプリンター ドライバーの実装要因などの実行時の要因によって異なります。 ユーザー インターフェイスとの対話を管理するスレッドからこの関数を呼び出すと、アプリケーションが応答しないように見える可能性があります。

必要条件

要件
サポートされている最小のクライアント
Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー
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