パラメータ
hPrinter
操作対象のプリンタオブジェクトを識別するハンドルを指定する。
JobId
印刷ジョブの識別子を指定する。印刷ジョブの識別子は、AddJob 関数または StartDoc 関数を使って取得する。
Windows NT:Level に 3 を指定した場合、パラメータ JobId は、pJob が指す
JOB_INFO_3 構造体のメンバ JobId と一致しなければなら
ない。
Level
パラメータ pJob が指すジョブ情報構造体の種類を指定する。0、1、2 を指定できる。
Level に 0 を指定した場合、pJob には NULL
を指定する。これらの値は、印刷ジョブのパラメータを設定しないときに使う。
Windows NT:Level に 3 を指定することもできる。
Windows 95: このパラメータの値は、Command の値が 0 のときだけ意味を持つ。Command に 0
以外の値を指定したとき、このパラメー
タと pJob は無視される。
pJob
JOB_INFO_1 構造体または
JOB_INFO_2 構造体へのポインタを指定する。この構造体は、印刷ジョブのパラメータを設定するために使
われる。
Windows NT:JOB_INFO_3 構造体へのポインタを指定することもできる。
Level が 0 のときは、pJob に NULL を指定する。
Level が 1 のときは、pJob に
JOB_INFO_1 構造体へのポインタを指定する。Level
が 0 のときは、JOB_INFO_2 構造体へのポインタを
指定する。
Windows NT: Level が 3 のときは、JOB_INFO_3
構造体へのポインタを指定する。その場合、JOB_INFO_3 構造体のメンバ JobId と
NextJobId で指定されるジョブに対する JOB_ACCESS_ADMINISTER アクセス権が必要である。
Windows 95: このパラメータの値は、Command の値が 0 のときだけ意味を持つ。Command に 0
以外の値を指定したとき、このパラメー
タと Level は無視される。
Command
印刷ジョブに対して実行する操作を指定する。次のいずれかの値が使る。
値
|
意味
|
JOB_CONTROL_CANCEL |
印刷ジョブを削除する。 |
JOB_CONTROL_PAUSE |
印刷ジョブを一時停止する。 |
JOB_CONTROL_RESTART |
印刷ジョブを再実行する。ジョブを再実行できるのは、そのジョブが印刷されていた場合だけである。 |
JOB_CONTROL_RESUME
|
一時停止している印刷ジョブを再開する。
Windows 95:SetJob 関数を使って印刷ジョブのパラメータを設定するときは、Command を 0 に設定しなければならない。
Windows NT: 印刷ジョブのパラメータ設定と印刷ジョブに対するコマンド実行を、SetJob 関数を 1
回呼び出すだけで行うことができる。そのため、印刷ジョブのパラメータを設定する場合でも、Command を 0
にする必要はない。ただし、Command を 0 にすることもできる。 |
戻り値
関数が成功すると、0 以外の値が返る。
関数が失敗すると、0 が返る。拡張エラー情報を取得するには、GetLastError 関数を使う。
解説
必要なデータが格納されている JOB_INFO_1 構造体、JOB_INFO_2 構造体、または JOB_INFO_3
構造体へのポインタを SetJob 関
数に渡すことによって、 印刷ジョブのさまざまなパラメータを設定できる。
Windows 95: この関数を使って印刷ジョブのパラメータを設定する場合は、Command を 0
に設定しなければならない。
特定のプリンタの印刷ジョブをすべて削除するには、Command に PRINTER_CONTROL_PURGE を指定した
SetPrinter 関数を使う。
JOB_INFO_1 構造体または JOB_INFO_2 構造体のメンバ
JobId、pPrinterName、pMachineName、pDrivername、Size、
Submitted、Time は、SetJob の呼び出しでは無視される。
印刷ジョブの印刷キュー内での位置を変更する場合は、そのプリンタの PRINTER_ACCESS_ADMINISTER
アクセス権が必要である。
印刷ジョブの印刷キュー内での位置を変更したくないときは、JOB_INFO_1 構造体または JOB_INFO_2
構造体のメンバ Position を
JOB_POSITION_UNSPECIFIED に設定する。
Windows NT: 複数の印刷ジョブを連結して 1 つにするときは JOB_INFO_3 構造体を使う。これは、1
つの文書を分割し、それぞれの部
分を別々に印刷したい場合に便利である。
|