jvSetJobStatus(印刷ジョブの状態設定)

プリンタの印刷ジョブの状態を設定します。

[構文]
 
Function jvSetJobStatus(ByVal printerName As String, ByVal printJobId As Long, ByVal Status As Long) As Long
 
C言語
int jvSetJobStatus(char *printerName, int printJobId, int Status);
 
JAVA
int jvSetJobStatus(String printerName, int printJobId, int Status);
 
Delphi
Function jvSetJobStatus(printerName:PAnsiChar; printJobId, Status:Longint): Longint;
 

設定項目

内容

printerName

プリンタ名称

printJobId

印刷ジョブID

Status

印刷ジョブの状態(設定値参照)

 
リターンコード
 

定数

内容

 

0

正常終了

JV_ERR_PRINTERNAME

-10

プリンタ名称エラー

JV_ERR_OPEN_PRINTER

-91

OpenPrinterエラー

JV_ERR_PARAMETER

-2

パラメータエラー

JV_ERR_SET_JOB

-93

SetJobエラー  

 
[設定値]
 
Status には次の値を設定します。
 

定数

内容

JV_JOBCONTROL_PAUSE

1

印刷ジョブを一時停止  

JV_JOBCONTROL_RESUME

2

一時停止している印刷ジョブを再開

JV_JOBCONTROL_CANCEL

3

印刷ジョブを削除

JV_JOBCONTROL_RESTART

4

印刷ジョブを再開始

 
[解説]
 
印刷中のプリンタ名称は、jvGetStringで取得することができます。使用できるプリンタの一覧はjvGetPrinterNameで取得することができます。
印刷中の印刷ジョブIDはjvStartDoc実行直後にjvGetLongで取得することができます。
 
[コーディング例]
 
Dim jid&, ret&, Status&, PrinterName$
jid = jvCreate(JV_PRINTER, form1.hWnd, 0, 0, 0, 0, "")
ret = jvSetForm(jid, "c:\JiveReport\納品書.jfm", 1,"", 100, 0, 0)
ret = jvStartDoc(jid, "納品書", "")
'印刷ジョブIDの取得
PrintJobId = jvGetLong(jid, JV_JOB_ID)
'プリンタ名の取得
PrinterName = Space(33)
ret = jvGetString(jid, JV_PRINTER_NAME,PrinterName)
|
ret = jvEndPage(jid)
ret = jvEndDoc(jid)
ret = jvClose(jid)



'印刷ジョブの取消し
Status = JV_JOBCONTROL_CANCEL
ret = jvSetJobStatus(PrinterName, PrintJobId,Status)