reliableは、正確なという意味のようです。
notがつくので不正確な........これはうまくないですね。
何回か「GetJob()」をリトライしても結果は変わらないですか?
駄目だとすると他になにか手がないか調べないといけませんね。
PagesPrinted
The number of pages that have printed. This value may be zero if the print
job does not contain page delimiting information.
英訳は下手なので要約すると、ペ-ジの区切りが分からないと'0'返すみたいです。
僕も、今は対策が分かりませんね。
さまざまなタイミングでプリンタ側の情報を取得できるよう、実験的にアプリに押ボタン
を設けて、その中に上記のコードを書きました。
pJobStorage->PagesPrinted が示す値は、次の通りです。
1.プリンタのダイアログが表示されているタイミングであれば、印刷を指示したトータ
ル枚数となる。(まだ印刷の途中であっても)
2.プリンタのダイアログが消えた後では、0枚となる。(まだ印刷が進行中であっても
)
3.例として、3ページの印刷を指示し、用紙を1枚のみセットして印刷すると、1枚目
を印刷中(プリンタダイアログが出ているとき)は、3枚という値が返り、プリンタダイ
アログが一旦消える。
消えた後では0枚が返る。
その後「用紙不足」の警告のあるプリンタダイアログが出る。このとき押ボタンを押すと
、印刷を指示した3枚という値が返る。
結論として、自分の目的にかなわないようです。
うーーん、
CPrintInfoでヘッダ・フッダの設定ができるみたいです。
ページの区切りが出来れば、PagesPrintedの値も取得できるか?
ですね。
今のところ、それぐらいしかないですね。
明記していませんでした。
印刷対象はドキュメントではなく、CViewクラスの OnPrint 中のコード
pDC->TextOut(x, y, str);
IPicture::Render(hDC, x, y, cx, cy, ...);
などです。
ページごとに、文字や画像が変わります。
> CPrintInfoでヘッダ・フッダの設定ができるみたいです。
CPrintInfo構造体のメンバーには、それらしいものがありません。
サンプルがないか探しましたが、見つかりませんでした。
https://msdn.microsoft.com/ja-jp/library/ddkzks56(v=vs.90).aspx
今のところ候補は、
次の二つですね。
m_rectDraw
m_strPageDesc
ほかの構造体もあるかも知れませんね。
スレの目的は解決したみたいなので、一度終了して別スレ立てたほうが
いいかも知れませんね。
本スレッド、終了とさせて戴きます。
ありがとうございました。
別スレは、も少し勉強してからにします。