EnumJobs 関数

EnumJobs 関数は、指定したプリンターの指定した印刷ジョブのセットに関する情報を取得します。

構文

BOOL EnumJobs(
  _In_  HANDLE  hPrinter,
  _In_  DWORD   FirstJob,
  _In_  DWORD   NoJobs,
  _In_  DWORD   Level,
  _Out_ LPBYTE  pJob,
  _In_  DWORD   cbBuf,
  _Out_ LPDWORD pcbNeeded,
  _Out_ LPDWORD pcReturned
);

パラメーター

hPrinter [in]

関数が列挙する印刷ジョブを持つプリンター オブジェクトへのハンドル。 プリンター ハンドルを取得するには 、OpenPrinter または AddPrinter 関数を使用します。

FirstJob [in]

列挙する最初の印刷ジョブの印刷キュー内の 0 から始まる位置。 たとえば、値 0 は、印刷キュー内の最初の印刷ジョブで列挙を開始することを指定します。値 9 は、印刷キューの 10 番目の印刷ジョブで列挙を開始することを指定します。

NoJobs [in]

列挙する印刷ジョブの合計数。

レベル [入力]

pJob バッファーで返される情報の種類。

説明
1
pJob は、 JOB_INFO_1 構造体の配列を受け取ります
2
pJob は、 JOB_INFO_2 構造体の配列を受け取ります
3
pJob はJOB_INFO_3 構造体の配列を受け取ります

pJob [out]

JOB_INFO_1JOB_INFO_2、またはJOB_INFO_3 構造体の配列を受け取るバッファーへのポインター。 バッファーは、構造体の配列と、構造体メンバーが指す文字列またはその他のデータを受け取るのに十分な大きさである必要があります。

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

cbBuf [in]

pJob バッファーのサイズ (バイト単位)。

pcbNeeded [out]

関数が成功した場合にコピーされたバイト数を受け取る変数へのポインター。 関数が失敗した場合、変数は必要なバイト数を受け取ります。

pcReturned [out]

pJob バッファーで返されるJOB_INFO_1、JOB_INFO_2、またはJOB_INFO_3構造体の数を受け取る変数へのポインター。

戻り値

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

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

注釈

注意

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

JOB_INFO_1構造体には、一般的な印刷ジョブ情報が含まれています。JOB_INFO_2構造には、より詳細な情報が含まれています。 JOB_INFO_3構造体には、ジョブのリンク方法に関する情報が含まれています。

プリンター キュー内の印刷ジョブの数を確認するには、Level パラメーターを 2 に設定して GetPrinter 関数を呼び出します。

要件

要件
サポートされている最小のクライアント
Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー
Winspool.h (Windows.h を含む)
ライブラリ
Winspool.lib
[DLL]
Winspool.drv
Unicode 名と ANSI 名
EnumJobsW (Unicode) と EnumJobsA (ANSI)

関連項目

印刷

印刷スプーラー API 関数

GetJob

GetPrinter

JOB_INFO_1

JOB_INFO_2

JOB_INFO_3

OpenPrinter

SetJob